Amazon S3 资源
以下常用 Amazon 资源名称 (ARN) 格式标识 Amazon 中的资源。
arn:partition:service:region:namespace:relative-id
有关 ARN 的信息,请参阅 Amazon 一般参考中的 Amazon Resource Name (ARN)。
有关资源的信息,请参阅 IAM 用户指南中的 IAM JSON 策略元素:Resource。
Amazon S3 ARN 不包括 Amazon Web Services 区域和命名空间,但包括以下内容:
-
分区 -
aws是通用分区名称。如果您的资源位于中国(北京)区域,则分区名称为aws-cn。 -
服务 -
s3。 -
相对 ID -
bucket-name或bucket-name/object-key。可以使用通配符。
Amazon S3 资源的 ARN 格式缩减成:
arn:aws:s3:::bucket_name/key_name
有关 Amazon S3 资源的完整列表,请参阅 Amazon S3 的操作、资源和条件键。
要找到 S3 存储桶的 ARN,您可以查看 Amazon S3 控制台的 Bucket Policy (存储桶策略) 或 CORS configuration (CORS 配置) 权限页面。有关更多信息,请参阅以下主题:
Amazon S3 ARN 示例
以下是 Amazon S3 资源 ARN 的示例。
指定了存储桶名称和对象密钥
以下 ARN 标识 /developers/design_info.doc 存储桶中的 examplebucket 对象。
arn:aws:s3:::examplebucket/developers/design_info.doc
通配符
您可将通配符作为资源 ARN 的一部分。您可在任何 ARN 分段 (用冒号分隔的部分) 中使用通配符 (* 和 ?)。星号 (*) 表示 0 个或多个字符的任意组合,问号 (?) 表示任何单个字符。您可在每个分段中使用多个 * 或 ? 字符,但通配符不能跨分段。
-
以下 ARN 在此 ARN 的相对 ID 部分使用通配符
*来标识examplebucket存储桶中的所有对象。arn:aws:s3:::examplebucket/* -
以下 ARN 使用
*来表示所有 Amazon S3 资源(所有 S3 存储桶和对象)。arn:aws:s3:::* -
以下 ARN 在
relative-ID部分中同时使用通配符*和?。它标识存储桶 (例如example1bucket、example2bucket、example3bucket等) 中的所有对象。arn:aws:s3:::example?bucket/*
策略变量
您可以在 Amazon S3 ARN 中使用策略变量。在策略评估时,这些预定义变量被它们的相应值替换。假设您将存储桶组织为一个文件夹的集合,每个用户拥有一个文件夹。文件夹名称与用户名称相同。要为他们的文件夹授予用户权限,您可以在资源 ARN 中指定策略变量:
arn:aws:s3:::bucket_name/developers/${aws:username}/
在运行时,在评估策略时,资源 ARN 中的 ${aws:username} 变量将替换为发出请求的用户名。