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

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

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

本节介绍如何创建允许对特定 Amazon S3 存储桶进行读写访问的IAM策略。向您的用户分配具有此IAM策略的IAM角色将赋予该用户对指定 Amazon S3 存储桶的读/写权限。

以下策略允许通过编程方式对 Amazon S3 存储桶进行读写访问。只有当您需要启用跨账户存取时,才需要 GetObjectACLPutObjectACL 语句。也就是说,您的 Transfer Family 服务器需要访问其他账户中的存储桶。

{ "Version": "2012-10-17", "Statement": [ { "Sid":"ReadWriteS3", "Action": [ "s3:ListBucket" ], "Effect": "Allow", "Resource": ["arn:aws:s3:::DOC-EXAMPLE-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:::DOC-EXAMPLE-BUCKET/*"] } ] }

ListBucket 操作需要对存储桶本身的权限。PUTGETDELETE 操作需要对象权限。由于这些资源不同,因此使用不同的 Amazon 资源名称 (ARNs) 来指定。

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