查看/修改AWS Secrets Manager密钥所需权限及KMS访问报错答疑
AWS Secrets Manager 密钥查看/修改权限及PutSecretValue KMS权限问题
一、查看或修改Secrets Manager密钥的基础权限
- 查看密钥内容:需要
secretsmanager:GetSecretValue权限;若仅需查看密钥元数据(如ARN、描述、轮换配置),则需secretsmanager:DescribeSecret - 修改密钥内容:需要
secretsmanager:PutSecretValue权限;若要修改密钥元数据(如名称、描述、轮换规则),则需secretsmanager:UpdateSecret - 权限需通过IAM策略授予,策略中需明确指定目标Secret的ARN或资源范围(例如
arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-*)
二、PutSecretValue操作报KMS权限错误的解决
当Secrets Manager密钥使用自定义KMS密钥加密时,执行PutSecretValue除了Secrets Manager权限外,还需对对应的KMS密钥具备以下权限:
kms:GenerateDataKey:用于生成新的数据密钥,加密更新后的秘密值kms:Decrypt:若涉及读取旧版本密钥内容(如版本轮换场景),需额外添加该权限
你遇到的错误:
An error occurred (AccessDeniedException) when calling the PutSecretValue operation: Access to KMS is not allowed
本质是IAM实体(用户/角色)缺少上述KMS权限,解决方式二选一:
- 在KMS密钥的密钥策略中,添加允许该IAM实体执行
kms:GenerateDataKey(及kms:Decrypt)的语句 - 在IAM实体的权限策略中,授予对应KMS密钥的
kms:GenerateDataKey和kms:Decrypt权限
内容的提问来源于stack exchange,提问作者MagMax
相关产品推荐
相关产品推荐

