AWS 一般参考
参考指南 (版本 1.0)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon 资源名称 (ARN)

Amazon 资源名称 (ARN) 唯一标识 AWS 资源。当您需要在 AWS 全局环境中(比如 IAM 策略、Amazon Relational Database Service (Amazon RDS) 标签和 API 调用中)明确指定一项资源时,我们要求使用 ARN。

ARN 格式

以下是 ARN 的一般格式;所用的具体组成部分和值取决于 AWS 服务。要使用 ARN,请将示例策略中的红色斜体文本替换为您自己的信息。

arn:partition:service:region:account-id:resource-id arn:partition:service:region:account-id:resource-type/resource-id arn:partition:service:region:account-id:resource-type:resource-id
分区

资源所处的分区。对于标准 AWS 区域,分区是 aws。如果资源位于其他分区,则分区是 aws-partitionname例如,位于 中国(北京) 区域的资源的分区为 aws-cn

service

标识 AWS 产品(例如,Amazon S3、IAM 或 Amazon RDS)的服务命名空间。

区域

资源所在的区域。一些资源的 ARN 不需要区域,因此,该组成部分可能会被省略。

account-id

拥有资源的 AWS 账户的 ID(不含连字符)。例如:123456789012。一些资源的 ARN 不需要账号,因此,该组成部分可能会被省略。

资源资源类型

ARN 这部分的内容因服务而异。资源标识符可以是资源的名称或 ID(例如,user/Bob 或 instance/i-1234567890abcdef0)或资源路径。例如,某些资源标识符包括父资源 (sub-resource-type/parent-resource/sub-resource) 或限定符(例如版本)(resource-type:resource-name:qualifier)。

ARN 中的路径

有些资源 ARN 可以包含路径。例如,在 Amazon S3 中,资源标识符是一个对象名称,它可以包含斜杠 (/) 来形成路径。同样,IAM 用户名称和组名也可以包含路径。

在某些情况下,路径可以包含一个通配符,即星号 (*)。例如,当您在编写 IAM 策略时,可以按如下所示使用通配符来指定包含路径 product_1234 的所有 IAM 用户:

arn:aws-cn:iam::123456789012:user/Development/product_1234/*

同样,您可以指定 user/* 来表示所有用户,或者指定 group/* 来表示所有组,如以下示例所示:

"Resource":"arn:aws-cn:iam::123456789012:user/*" "Resource":"arn:aws-cn:iam::123456789012:group/*"

在基于资源的策略或角色信任策略的 Principal 元素中,您不能使用通配符指定所有用户。任何策略都不支持将组作为委托人。

以下示例显示了 Amazon S3 存储桶的 ARN,其中的资源名称包含一个路径:

arn:aws-cn:s3:::my_corporate_bucket/* arn:aws-cn:s3:::my_corporate_bucket/Development/*

您不能在 ARN 指定资源类型的部分使用通配符,比如 IAM ARN 中的 user 一词。

禁止执行下列操作:

arn:aws-cn:iam::123456789012:u*

资源 ARN

AWS Identity and Access Management (IAM) 的文档列出了每个服务支持的 ARN,以及 API 操作是否支持资源级权限。有关更多信息,请参阅 IAM 用户指南 中的 AWS 服务的操作、资源和条件键

以下资源由 AWS 服务定义,它们记录在 IAM 用户指南 中。

本页内容: