跳至内容

多应用多服务的场景下怎么分配KMS密钥

0

【以下的问题经过翻译处理】 我正在尝试找出在使用KMS加密部署应用程序的最佳方法。所有部署都将通过代码完成。

每个服务一个密钥是否是最佳实践? 每个应用程序、每个服务一个密钥是否有些过度?

例如:

每个应用程序一个密钥 • 应用程序: SWG-Archive • 密钥:Alias/SWG-Archive • 一个密钥用于加密EBS,S3,文件网关

每个应用程序多个密钥 • 应用程序 - SWG-Archive • 密钥: o Alias/SWG-Archive/S3 o Alias/SWG-Archive/ebs o Alias/SWG-Archive/file_gareway

哪种方法最佳?

专家
已提问 2 年前57 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

我认为没有“一刀切”的答案。你需要考虑以下几点:-

  • 帐户策略 - 你是按环境,应用程序,业务单位还是按照外部认证的范围(例如PCI-DSS)分离的账户。
  • 谁在开发/管理应用程序(一个团队,多个团队等),以及是否通过共享工具,不同的工具等进行操作。
  • 你想要多高程度地分离你的数据。

我个人不建议在大型环境中创建一个中央KMS帐户,然后从那里共享密钥。从权限角度来看,它非常复杂,而在非常大型的环境中,你可能会遇到Throttling Issues

你还需要考虑KMS的成本。每个密钥有一个成本,以及你如何在像S3这样的服务中使用KMS可以显着影响使用KMS API的成本。

这里有一个AWS KMS最佳实践指南,可能对你有用。

我倾向于选择每个应用程序一个密钥,而不是每个服务共享一个密钥或每个应用程序多个密钥,除非你特别想要在数据方面做出不同的限制(例如归档),并且同时使用IAM权限以及对密钥可以进行的操作进行限制,你的应用程序使用不同的数据分类需要进行不同的处理(不同的算法,由HSM支持等),或者使用不同的目的(例如加密/解密与签名/验证)。

专家
已回答 2 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。