aws / aws/aws-dynamodb-encryption-java

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

Đang mở
#69 0 bình luận 6 reaction 0 người được giao Xem trên GitHub
enhancement
Ngôn ngữ chính
Java
Star
141
Fork
74
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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`.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách theo dõi cách thư viện hiện áp dụng mã hóa và ký theo mặc định, sau đó xác định phần xử lý annotation cho @DoNotEncrypt và @DoNotTouch. Xác định nơi các giá trị mặc định ở cấp entity và field được lựa chọn, đồng thời tìm các test hiện có cho annotation; phần hoàn thành phải bao gồm behavior mới của @Encrypt và @EncryptAndSign mà không yêu cầu annotation opt-out trên các entity không liên quan.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
java
Lĩnh vực
database, security
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.