Amazon S3 中的策略和权限
本页概述 Amazon S3 中的桶和用户策略,并介绍策略的基本元素。每个列出的元素都链接到有关该元素以及如何使用它的示例的更多详细信息。
要查看 Amazon S3 操作、资源和条件的完整列表,请参阅 Amazon S3 的操作、资源和条件键。
就其最基本的意义而言,策略包含以下元素:
-
资源 – 策略适用的 Amazon S3 桶、对象、接入点或任务。使用桶、对象、接入点或任务的 Amazon 资源名称(ARN)来识别资源。
桶级操作示例:
-
"Resource": "arn:aws:s3:::
.bucket_name
"对象级操作示例:
-
"Resource": "arn:aws:s3:::
对应于桶中的所有对象。bucket_name/*
"-
"Resource": "arn:aws:s3:::
对应于桶中特定前缀下的对象。bucket_name/prefix/*
"有关更多信息,请参阅Amazon S3 资源。
-
Action – 对于每个资源,Amazon S3 支持一组操作。您可使用操作关键字标识允许(或拒绝)的资源操作。
例如,使用
s3:ListBucket
权限,用户可以使用 Amazon S3 GET Bucket (List Objects) 操作。有关使用 Simple Storage Service (Amazon S3) 操作的更多信息,请参阅 Amazon S3 操作。有关 Amazon S3 操作的完整列表,请参阅操作。 -
Effect – 当用户请求特定操作(可以是 allow 或 deny)时的效果。
如果没有显式授予 (允许) 对资源的访问权限,则隐式拒绝访问。您也可显式拒绝对资源的访问。您可以执行此操作以确保用户无法访问资源,即使其他策略授予访问权限也是如此。有关更多信息,请参阅 IAM JSON 策略元素:Effect。
-
委托人 – 允许访问语句中的操作和资源的账户或用户。在桶策略中,委托人是作为此权限的接收者的用户、账户、服务或其他实体。有关更多信息,请参阅委托人。
-
Condition – 策略生效时的条件。您可以使用 AWS 范围内的键和特定于 Amazon S3 的键来指定 Amazon S3 访问策略中的条件。有关更多信息,请参阅Amazon S3 条件键示例。
以下示例桶策略显示的是效果、委托人、操作和资源元素。此策略允许账户 Account-ID
中的用户 Dave 对 awsexamplebucket1
桶具有 s3:GetObject
、s3:GetBucketLocation
、和 s3:ListBucket
Amazon S3 权限。
{ "Version": "2012-10-17", "Id": "ExamplePolicy01", "Statement": [ { "Sid": "ExampleStatement01", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
123456789012
:user/Dave" }, "Action": [ "s3:GetObject", "s3:GetBucketLocation", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket1/*", "arn:aws:s3:::awsexamplebucket1" ] } ] }
有关更多信息,请参阅以下主题。有关完整的策略语言信息,请参阅 IAM 用户指南中的策略和权限和 IAM JSON 策略参考。