需要向开发人员授予精细的粒度访问权限,以访问属于其项目的特定KMS密钥



需要为以下问题陈述获得更好的解决方案:-

我的秘密和配置是通过 Mozilla SOP 加密的,假设 Devops 团队第一次这样做,但 DevOps 团队会一直为开发人员加密配置。为了解决这个问题,我们希望向开发人员授予访问权限,当我们考虑授予访问权限时,我们需要将安全性放在首位。目前,我们正在考虑创建一个主框,并为具有这种访问权限的团队中的选择性 2 名成员提供访问权限。但是根据目前的情况,如果两个开发人员都不可用,我们需要让他们访问第 3 个,最终有一天团队中的每个人都拥有我们不想要的访问权限,我们想要的是不给开发人员任何其他访问权限,这意味着他只能玩他的 KMS 密钥, 不是其他不属于他的可用KMS密钥,这可能吗?

因为当我们向该人授予 KMS 资源访问权限时,最终他在 KMS 门户中拥有的所有密钥访问权限,因此,我们需要向开发人员授予精细的粒度访问权限,以访问属于他的项目的特定 KMS 密钥。没有比这更允许的了!

限制每个用户(或开发人员(访问 KMS 密钥的一种方法是对 AWS KMS 中的客户主密钥 (CMK( 使用密钥策略。本文档介绍如何使用关键策略:https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html

{
"Sid": "Allow root account full access",
"Effect": "Allow",
"Principal": {"AWS": "arn:aws:iam::444455556666:root"},
"Action": "kms:*",
"Resource": "*"
},
{
"Sid": "Allow specific permissions to dev user",
"Effect": "Allow",
"Principal": {"AWS": [
"arn:aws:iam::444455556666:user/dev1"
]},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:ReEncrypt*",
"kms:GenerateDataKey*",
"kms:DescribeKey"
],
"Resource": "*"
}    

注意:在密钥策略中,您将*用于资源,即"此 CMK"。密钥策略仅适用于它附加到的 CMK。

相关内容

最新更新