Amazon 资源名称 (ARN) - AWS 一般参考

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Amazon 资源名称 (ARN)

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

这些区域有:服务授权参考列出了您可以在 IAM 策略中使用的 ARN。

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
partition

资源所在的分区。分区 是一组 AWS 区域。每个 AWS 账户的作用域为一个分区。

以下是支持的分区:

  • aws - AWS 区域

  • aws-cn-中国区域

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

service

标识AWS产品。例如,s3为 Amazon S3 提供的服务。要查找服务命名空间,请打开服务授权参考,打开该服务的页面,并在第一句中找到短语 “服务前缀”。例如,以下文本显示在 Amazon S3 页面的第一句中:

(service prefix: s3)
region

区域代码。例如,us-east-2美国东部(俄亥俄)。有关区域代码的列表,请参阅区域终端节点

account-id

的 IDAWS帐户拥有资源,不含连字符。例如: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 策略时,可以指定包含路径的所有 IAM 用户。product_1234使用通配符,如下所示:

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

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

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

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

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

通配符使用错误

您不能在 ARN 指定资源类型的部分使用通配符,比如术语user在 IAM ARN 中。例如,不允许执行以下操作。

arn:aws:iam::123456789012:u*   <== not allowed