![](/img/trans.png)
[英]Allow IAM user to access specific folder in AWS S3 Bucket to view and upload objects
[英]AWS IAM Policy to allow user access to specific S3 bucket for backup
我有一个支持将文件备份到 AWS S3 的 NAS。 我在 AWS 控制台中的 IAM 下创建了一个用户,并尝试生成一个策略,该策略仅允许该用户访问具有读/写权限的特定 S3 存储桶。 以下是我生成的策略:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1465916250000",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl"
],
"Resource": [
"arn:aws:s3:::atlas-nas-backups"
]
}
]
}
但是,当我针对 S3 的所有操作通过策略模拟器运行此操作时,每个操作都失败了。 我错过了什么,这个用户不能将对象写入存储桶? 除了能够将文件备份到特定存储桶之外,我不希望此用户访问任何其他 AWS 资源。
有怪癖斗权限,在那里你需要单独指定桶本身和它的键,使用/*
通配符规范。 此外,即使对于写操作,也可能需要 List 操作。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt1465916250000",
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:PutObjectAcl",
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": [
"arn:aws:s3:::atlas-nas-backups",
"arn:aws:s3:::atlas-nas-backups/*"
]
}
]
}
我还添加了“s3:GetBucketLocation”和“s3:ListBucket”操作。 如前所述,即使您只是在写入对象,服务也可能希望列出项目并获取存储桶的位置(区域)。 您可能不需要最后两个,但只是想向您展示以防万一。
备份的最小策略只需要PutObject
和ListBucket
。
为什么是 ListBucket? 如果您只添加PutObject
aws 会抱怨它缺少ListObjects权限。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::atlas-nas-backups/*"
},
{
"Sid": "VisualEditor1",
"Effect": "Allow",
"Action": "s3:ListBucket",
"Resource": "arn:aws:s3:::atlas-nas-backups"
}
]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.