Amazon S3 操作 - Amazon Simple Storage Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

Amazon S3 操作

Amazon S3 定义了可在策略中指定的一组权限。这些是关键字,每个关键字都映射到特定的 Amazon S3 操作。有关 Amazon S3 操作,请参阅 操作Amazon Simple Storage Service API Reference.

如何在 Amazon S3 政策,查看以下示例策略。有关策略中使用的 Amazon S3 操作、资源和条件键的列表,请参阅。 的操作、资源和条件键Amazon S3. 完整列表 Amazon S3 操作,请参阅 操作.

以下示例桶政策授予 s3:PutObjects3:PutObjectAcl 对用户(Dave)的权限。如果移除 Principal 元素,则可将此策略附加到用户。这些是对象操作。因此, relative-id 部分 Resource ARN识别对象(awsexamplebucket1/*)。有关更多信息,请参阅 Amazon S3资源.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws-cn:iam::12345678901:user/Dave" }, "Action": [ "s3:PutObject", "s3:PutObjectAcl" ], "Resource": "arn:aws-cn:s3:::awsexamplebucket1/*" } ] }

所有 Amazon S3 操作的权限

您可使用通配符来授予对所有 Amazon S3 操作的权限。

"Action": "*"

以下示例用户策略授予 s3:CreateBuckets3:ListAllMyBucketss3:GetBucketLocation 对用户的权限。对于所有这些权限,您将 relative-id 部分 Resource ARN到"*"。对于其他所有存储桶操作,必须指定存储桶名称。有关更多信息,请参阅 Amazon S3资源.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:ListAllMyBuckets", "s3:GetBucketLocation" ], "Resource":[ "arn:aws-cn:s3:::*" ] } ] }

控制台访问策略

如果用户想使用 AWS 管理控制台 要查看存储区和这些存储区中的内容,用户必须 s3:ListAllMyBucketss3:GetBucketLocation 权限。如需示例,请参阅 控制台访问策略 博客帖子 撰写IAM政策: 如何授予对S3桶的访问权限.

以下用户政策授予 s3:GetBucketAclexamplebucket 用户Dave的桶子。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "statement1", "Effect": "Allow", "Principal": { "AWS": "arn:aws-cn:iam::123456789012:user/Dave" }, "Action": [ "s3:GetObjectVersion", "s3:GetBucketAcl" ], "Resource": "arn:aws-cn:s3:::awsexamplebucket1" } ] }

DELETE 对象权限

您可以通过明确调用删除对象API或配置其生命周期来删除对象(请参阅 对象生命周期管理)以便 Amazon S3 可以在使用寿命期间移除对象。要明确阻止用户或帐户删除对象,您必须明确拒绝这些对象 s3:DeleteObjects3:DeleteObjectVersion,和 s3:PutLifecycleConfiguration 权限。

显式拒绝

默认状态下,用户没有权限。但在创建用户、将用户添加到组以及授予他们权限时,用户可能获得您并不打算授予的某些权限。这是可使用显式拒绝的情况,显式拒绝将取代用户可能拥有的其他所有权限,并且拒绝对特定操作的用户权限。

以下用户策略示例向用户授予 s3:GetAccountPublicAccessBlock 权限。对于这些权限,您将 Resource 值为 "*"...有关详细信息,请参阅 Amazon S3资源.

{ "Version":"2012-10-17", "Statement":[ { "Sid":"statement1", "Effect":"Allow", "Action":[ "s3:GetAccountPublicAccessBlock" ], "Resource":[ "*" ] } ] }