1 回答
- 最新
- 投票最多
- 评论最多
0
【以下的回答经过翻译处理】 你好,
我认为没有“一刀切”的答案。你需要考虑以下几点:-
- 帐户策略 - 你是按环境,应用程序,业务单位还是按照外部认证的范围(例如PCI-DSS)分离的账户。
- 谁在开发/管理应用程序(一个团队,多个团队等),以及是否通过共享工具,不同的工具等进行操作。
- 你想要多高程度地分离你的数据。
我个人不建议在大型环境中创建一个中央KMS帐户,然后从那里共享密钥。从权限角度来看,它非常复杂,而在非常大型的环境中,你可能会遇到Throttling Issues。
你还需要考虑KMS的成本。每个密钥有一个成本,以及你如何在像S3这样的服务中使用KMS可以显着影响使用KMS API的成本。
这里有一个AWS KMS最佳实践指南,可能对你有用。
我倾向于选择每个应用程序一个密钥,而不是每个服务共享一个密钥或每个应用程序多个密钥,除非你特别想要在数据方面做出不同的限制(例如归档),并且同时使用IAM权限以及对密钥可以进行的操作进行限制,你的应用程序使用不同的数据分类需要进行不同的处理(不同的算法,由HSM支持等),或者使用不同的目的(例如加密/解密与签名/验证)。
