Hyper Backup 备份到 Amazon S3 权限不够报错:IAM 策略清单与可直接套用的写法
痛点场景
用 Hyper Backup 把 NAS 数据备到 Amazon S3,任务一创建就报权限错误:有人是列不出 Bucket,有人是备份跑到一半断掉。常见原因是在云侧给 Access Key 挂了个"只读"或者随手勾的权限组——Hyper Backup 建任务时既要枚举你账户下的所有 Bucket,又要对目标 Bucket 及其中的对象做上传、删除、ACL 管理、分段上传这一整套操作,缺任何一环都会翻车。
权限清单:分三组记
按作用对象分三组,对着勾选就不会漏:
Bucket 层面(作用在 Bucket 本身):
s3:ListBucket:列出 Bucket 内对象s3:GetBucketLocation:获取 Bucket 所在区域s3:ListBucketMultipartUploads:列出进行中的分段上传
对象层面(作用在 Bucket 里的文件):上传(PutObject)、下载读取(GetObject)、删除(DeleteObject / DeleteObjectVersion)、查看与设置 ACL(GetObjectAcl / PutObjectAcl 及版本变体)、中止分段上传(AbortMultipartUpload),以及对应的版本读取权限(GetObjectVersion / GetObjectVersionAcl)。
全局层面:s3:ListAllMyBuckets——Hyper Backup 靠它列出账户下所有 Bucket,很多"创建任务时看不到桶"的问题就卡在这条没给。
直接套用的策略写法
先在 S3 Bucket 的属性页里复制它的 Amazon Resource Name(ARN),然后到 IAM 的策略 JSON 编辑器里粘贴下面模板,把"您的 ARN"替换成实际值(对象那段记得在 ARN 后加 /*),挂到 Hyper Backup 使用的那个用户或角色上:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads"
],
"Resource": ["您的 ARN"]
},
{
"Effect": "Allow",
"Action": [
"s3:AbortMultipartUpload",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectAcl",
"s3:GetObjectVersion",
"s3:GetObjectVersionAcl",
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": ["您的 ARN/*"]
},
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "*"
}
]
}
三段分别对应上面的三组权限,Resource 一段是 Bucket 本身、一段是桶内所有对象、一段不限资源,结构非常清晰。
常见踩坑点
除了权限缺失,还有两个高频坑值得单独点名:一是区域选错,Hyper Backup 里选的区域必须与 Bucket 实际所在区域一致(s3:GetBucketLocation 这条权限就是用来帮你取真实区域的),对不上会直接连不通;二是只给读写、漏了分段上传,Hyper Backup 传大文件走分段上传机制,缺了 AbortMultipartUpload 和 s3:ListBucketMultipartUploads,小文件测试一切正常,大文件一传就断,这种"半好半坏"的故障最迷惑人。照着上面的三段式模板配,这两类问题都能避开。
验证方法
策略挂好后回到 Hyper Backup 重新创建任务:能列出账户下的 Bucket、能选中目标桶并完成首次备份,说明权限链路通了。首次备份建议挑一个含大文件的共享文件夹,专门验证分段上传不被打断;备份完成后做一次小规模还原测试,把读权限也一并验证,读写两条腿都稳了才算数。
预防:最小权限 + 专用身份
给 Hyper Backup 单独建一个 IAM 用户(或角色)专用,只挂这条策略,不给管理员全权——既满足最小权限原则,也避免日后审计时说不清哪个密钥在动哪些桶。密钥妥善保管、定期轮换;换新密钥时在 Hyper Backup 任务编辑里更新即可,历史版本不受影响。
如果贵单位正在评估群晖企业级 NAS 的选型、部署或迁移,欢迎参考群晖企业级 NAS 产品,或与我们联系,我们可以结合政企、医疗、学校场景给出落地建议。