Amazon 资源名称 (ARN) - AWS 一般参考
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Amazon 资源名称 (ARN)

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

格式

以下是 ARN 的一般格式。特定格式取决于资源。要使用 ARN,请将斜体 文本替换为特定于资源的信息。请注意,某些资源的 ARN 忽略了区域、账户 ID 或同时忽略了这两者。

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 - AWS 区域

  • aws-cn - AWS 中国区域

  • aws-us-gov - AWS GovCloud (US) 区域

service

标识 AWS 产品的服务命名空间。例如,s3 表示 Amazon S3 资源。

区域

区域。例如,美国东部(俄亥俄州) 使用 us-east-2

account-id

拥有资源的 AWS 账户的 ID(不含连字符)。例如:123456789012

resource-id

资源标识符。ARN 的这一部分可以是资源的名称或 ID,也可以是资源路径。例如,user/Bob 表示 IAM 用户,或 instance/i-1234567890abcdef0 表示一个 EC2 实例。某些资源标识符包括父资源 (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。有关更多信息,请参阅 IAM 用户指南 中的 AWS 服务的操作、资源和条件键