允许对 Amazon S3 存储桶的读取和写入访问权限 - Amazon Transfer Family
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

允许对 Amazon S3 存储桶的读取和写入访问权限

此部分说明了如何创建 IAM 策略,以允许对特定 Amazon S3 存储桶进行读写访问。向您的用户分配具有此 IAM 策略的 IAM 角色后,该用户 read/write 便可以访问指定的 Amazon S3 存储桶。

以下策略允许通过编程方式对 Amazon S3 存储桶进行读写访问。只有当您需要启用跨账户存取时,才需要 GetObjectACLPutObjectACL 语句。也就是说,您的 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 操作需要对存储桶本身的权限。PUTGETDELETE 操作需要对象权限。由于这些资源不同,因此使用不同的 Amazon 资源名称 (ARNs) 来指定。

要进一步限制用户,使其只能访问具有指定 home 前缀的 Amazon S3 存储桶,请参阅 为 Amazon S3 存储桶创建会话策略