Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
允许对 Amazon S3 存储桶的读取和写入访问权限
此部分说明了如何创建 IAM 策略,以允许对特定 Amazon S3 存储桶进行读写访问。向您的用户分配具有此 IAM 策略的 IAM 角色后,该用户 read/write 便可以访问指定的 Amazon S3 存储桶。
以下策略允许通过编程方式对 Amazon S3 存储桶进行读写访问。只有当您需要启用跨账户存取时,才需要 GetObjectACL
和 PutObjectACL
语句。也就是说,您的 Transfer Family 服务器需要访问其他账户中的存储桶。
- JSON
-
-
{
"Version":"2012-10-17",
"Statement": [
{
"Sid":"ReadWriteS3",
"Action": [
"s3:ListBucket"
],
"Effect": "Allow",
"Resource": ["arn:aws:s3:::amzn-s3-demo-bucket"]
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:GetObject",
"s3:GetObjectTagging",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObjectVersion",
"s3:GetObjectVersionTagging",
"s3:GetObjectACL",
"s3:PutObjectACL"
],
"Resource": ["arn:aws:s3:::amzn-s3-demo-bucket/*"]
}
]
}
ListBucket
操作需要对存储桶本身的权限。PUT
、GET
和 DELETE
操作需要对象权限。由于这些资源不同,因此使用不同的 Amazon 资源名称 (ARNs) 来指定。
要进一步限制用户,使其只能访问具有指定 home
前缀的 Amazon S3 存储桶,请参阅 为 Amazon S3 存储桶创建会话策略。