我想授予AWS账户中所有人(用户,角色,组)访问KMS密钥的权限,使用 YAML 可以将其读取上传到 CloudFormation 。如何修改此代码以允许这种情况发生?为了清楚起见,我已经包含了root帐户( - ' arn:aws:iam :: ############:root')。我不想单独列出每个用户,组或角色。
谢谢。
Resources:
key:
Type: 'AWS::KMS::Key'
Properties:
KeyPolicy:
Version: 2012-10-17
Id: key-default-1
Statement:
- Sid: "Devkey"
Effect: Allow
Principal:
AWS:
- 'arn:aws:iam::############:root'
Action:
- 'kms:*'
Resource: '*'
SSGSKeyAlias:
Type: "AWS::KMS::Alias"
Properties:
AliasName: !Join [ "/", [ alias, DevKey ] ]
TargetKeyId:
Ref: key
答案 0 :(得分:1)
当您授予对已完成的root帐户的访问权限时,您可以使用IAM管理访问权限(docs reference)
完成此操作后,您可以创建IAM策略并分配给允许访问KMS密钥的用户/组/角色。
有用的阅读将是using kms key policies
上的KMS文档答案 1 :(得分:0)
这里......让它发挥作用。
Resources:
key:
Type: 'AWS::KMS::Key'
Properties:
KeyPolicy:
Version: 2012-10-17
Id: key-default-1
Statement:
- Sid: "Devkey"
Effect: Allow
Principal:
AWS: '##AccountNumber##'
Action:
- 'kms:*'
Resource: '*'
SSGSKeyAlias:
Type: "AWS::KMS::Alias"
Properties:
AliasName: !Join [ "/", [ alias, DevKey ] ]
TargetKeyId:
Ref: key