aws / aws/aws-dynamodb-encryption-java

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

未关闭
#69 0 条评论 6 个 reaction 已指派 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
预计耗时
一周以上
活跃度
停滞
描述清晰度
基本清楚
新手友好度
35/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。