0

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

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

因为当我们向那个人授予 KMS 资源访问权限时,最终他拥有的所有密钥访问权限都在 KMS 门户中,因此,我们需要为开发人员提供细粒度访问权限,以访问属于他的项目的特定 KMS 密钥。没有更多的权限!

4

1 回答 1

0

限制每个用户(或开发人员)访问 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。

于 2020-06-02T14:38:22.687 回答