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

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

允许对 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 存储桶创建会话策略