如何在KMS密钥策略中无需逐个列明组织账号配置CloudTrail权限
解决方案
- 核心实现逻辑:保留CloudTrail服务主体的基础权限配置,新增
aws:SourceOrgID全局条件限制请求来源归属你的AWS组织,同时将加密上下文的ARN匹配规则改为通配符形式,无需逐个填写组织内账号ID。 - 使用前请将策略中的
o-xxxxxxxxx替换为你实际的AWS组织ID。
修改后的完整策略如下:
{ "Sid": "Enable CloudTrail Encrypt Permissions", "Effect": "Allow", "Principal": { "Service": "cloudtrail.amazonaws.com" }, "Action": "kms:GenerateDataKey*", "Resource": "*", "Condition": { "StringLike": { "kms:EncryptionContext:aws:cloudtrail:arn": "arn:aws:cloudtrail:*:*:trail/*" }, "StringEquals": { "aws:SourceOrgID": "o-xxxxxxxxx" } } }
aws:SourceOrgID是AWS官方提供的全局条件键,会自动校验请求关联资源所属的AWS组织ID,非你组织内的账号发起的CloudTrail加密请求会被直接拦截,无需逐个罗列账号ID,也不需要对CloudTrail服务主体使用PrincipalOrgID参数,完全适配当前场景的限制要求。
内容的提问来源于stack exchange,提问作者dcloud
相关产品推荐
相关产品推荐

