aws / aws/aws-dynamodb-encryption-java

Enable Encryption and/or Signing Only when Annotated [Feature Request]

オープン
#69 コメント 0 件 リアクション 6 件 担当者 0 名 GitHub で見る
enhancement
主要言語
Java
スター
141
フォーク
74
PR マージ指標
30日以内にマージされた PR はありません

説明

Currently the library encrypts and signs every field in all entities by _default_ unless `@DoNotEncrypt` or `@DoNotTouch` are applied to fields or types.

The feedback I'd like to provide is that most all projects that I've been a part of aren't willing to accept the overhead of client-side encryption on every field and table. It's usually just a few sensitive fields, where the overhead is justified (or required from a regulatory standpoint). Imagine a project with 50 tables where only one requires client-side encryption. With the current default users need to annotate 49 entities with `@DoNotTouch` and leave one table without any annotations - the one where we do want to encrypt attributes.

This feature request is to add a way to change the default to not do anything unless one of the following new annotations are found on the entity or field: `@Encrypt` or `@EncryptAndSign`.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、ライブラリが現在デフォルトで暗号化と署名をどのように適用しているかを追跡し、次に @DoNotEncrypt と @DoNotTouch のアノテーション処理を見つけます。エンティティレベルおよびフィールドレベルのデフォルトがどこで選択されているかを特定し、アノテーションに関する既存のテストを確認します。完了時には、関連しないエンティティにオプトアウト用アノテーションを付けることなく、@Encrypt と @EncryptAndSign の新しい動作を含める必要があります。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
database, security
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。