关于组织层级配置Guardrails SCP强制Secrets Manager密钥使用KMS加密的咨询
可以在AWS组织层面通过SCP强制要求Secrets Manager的所有密钥使用KMS加密
SCP(服务控制策略)作为AWS Organizations的 Guardrails 能力,支持附加到组织根节点、OU或单独账号,全局生效覆盖所有下层资源,以下是具体配置方案和实践经验:
可用SCP策略示例
以下策略可以直接复用,作用是禁止创建/更新未使用指定KMS密钥加密的Secrets Manager密钥:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "secretsmanager:CreateSecret", "secretsmanager:UpdateSecret" ], "Resource": "*", "Condition": { "StringNotEquals": { "secretsmanager:KmsKeyId": "arn:aws:kms:<区域>:<管理账号ID>:key/<组织统一CMK ID>" }, "NotPrincipal": { "ARN": "arn:aws:iam::<管理账号ID>:root" } } } ] }
如果仅要求必须使用KMS加密(允许使用AWS默认托管的aws/secretsmanager密钥,不强制客户管理CMK),可以把Condition调整为:
"Condition": { "Null": { "secretsmanager:KmsKeyId": "true" }, "NotPrincipal": { "ARN": "arn:aws:iam::<管理账号ID>:root" } }
落地注意事项
- 首次部署前先在测试OU试点运行1-2周,确认没有误拦截合法业务操作,再逐步推广到生产OU和组织根节点
- 提前排查所有账号下的存量密钥,对未开启KMS加密的密钥做批量迁移,避免SCP生效后业务无法更新原有密钥
- 可以配合AWS Config的
SECRETSMANAGER_USING_CMK内置规则做持续合规审计,定期导出全组织的不合规密钥清单做整改
内容的提问来源于stack exchange,提问作者Vivek Somani
相关产品推荐
相关产品推荐

