AWS Backup备份S3桶失败:添加s3:ListBucket权限后仍报错求助
解决AWS Backup备份S3桶权限失败问题
你遇到的问题是因为AWS Backup服务角色缺少S3桶描述所需的关键权限,仅添加s3:ListBucket不足以满足需求。以下是具体修复方案:
1. 更新IAM角色权限
将关联的IAM角色策略替换为包含必要权限的版本,至少需要覆盖以下操作:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::my-s3-bucket-name", "arn:aws:s3:::my-s3-bucket-name/*" ] } ] }
s3:GetBucketLocation和s3:GetBucketVersioning是AWS Backup描述S3桶资源的核心必需权限,这正是你当前缺失的部分- 同时包含对象级资源权限(
arn:aws:s3:::my-s3-bucket-name/*),确保备份服务能读取桶内内容
2. 检查S3桶策略
如果你的S3桶配置了自定义桶策略,需要确保它允许上述IAM角色执行相关操作。添加如下语句到桶策略中(替换<backup-role-arn>为你的角色ARN):
{ "Effect": "Allow", "Principal": { "AWS": "<backup-role-arn>" }, "Action": [ "s3:GetBucketLocation", "s3:GetBucketVersioning", "s3:ListBucket", "s3:GetObject", "s3:GetObjectVersion" ], "Resource": [ "arn:aws:s3:::my-s3-bucket-name", "arn:aws:s3:::my-s3-bucket-name/*" ] }
3. 验证基础配置
- 确认备份计划中选择的S3桶ARN拼写完全正确,无多余符号或错误
- 如果桶启用了版本控制,确保IAM权限中包含
s3:GetObjectVersion(已在上述策略中覆盖)
很多用户都遇到过类似问题,核心原因都是忽略了AWS Backup与S3集成时所需的额外描述类权限,而非仅列表权限。
内容的提问来源于stack exchange,提问作者Alexandre_Bon
相关产品推荐
相关产品推荐

