使用 Amazon Resource Name (ARN) 識別 AWS 資源 - AWS Identity and Access Management

使用 Amazon Resource Name (ARN) 識別 AWS 資源

Amazon Resource Name (ARN) 唯一識別 AWS 資源。當您需要在所有 AWS 之間明確指定某個資源,例如 IAM 政策、Amazon Relational Database Service (Amazon RDS) 標籤和 API 呼叫,我們會要求 ARN。

ARN 格式

以下是 ARN 的一般格式。特定格式視資源而定。若要使用 ARN,請以資源特定資訊取代斜體文字。請注意,有些資源的 ARN 會省略區域、帳戶 ID 或同時省略區域和帳戶 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 產品的服務命名空間。

region

區域代碼。例如,請為美國東部 (俄亥俄) 指定 us-east-2。如需區域代碼清單,請參閱 AWS 一般參考 中的區域端點

account-id

擁有資源的 AWS 帳戶 ID,不含連字號。例如: 123456789012

resource-type

資源類型。例如,虛擬私有雲端 (VPC) 的 vpc

resource-id

資源識別碼。這是資源名稱、資源 ID 或資源路徑。有些資源識別符包含父資源(sub-resource-type/parent-resource/sub-resource) 或限定詞,例如版本 (resource-type:resource-name:qualifier)。

範例
IAM 使用者

arn:aws:iam::123456789012:user/johndoe

SNS 主題

arn:aws:sns:us-east-1:123456789012:example-sns-topic-name

VPC

arn:aws:ec2:us-east-1:123456789012:vpc/vpc-0e9801d129EXAMPLE

查詢資源的 ARN 格式

ARN 的確切格式取決於服務和資源類型。有些資源 ARN 可能包含路徑、變數或萬用字元。若要查詢特定 AWS 資源的 ARN 格式,請開啟服務授權參考,開啟該服務的頁面,並瀏覽至資源類型表格。

ARN 中的路徑

資源 ARN 可以包含路徑。例如,在 Amazon S3 中,資源識別符是物件名稱,其中包含正斜線 (/) 來形成路徑。同樣地,IAM 使用者名稱和群組名稱可以包含路徑。IAM 路徑僅允許包含英數字元和下列字元:正斜線 (/)、加號 (+)、等號 (=)、逗號 (,)、句點 (.)、at 符號 (@)、底線 (_) 和連字號 (-)。

在路徑中使用萬用字元

路徑可以包含萬用字元,也就是星號 (*)。例如,如果您要編寫 IAM 政策,您可以使用萬用字元指定路徑為 product_1234 的所有 IAM 使用者,如下所示:

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

同樣地,您可以指定 user/* 來代表所有使用者,或指定 group/* 來代表所有群組,如以下範例所示:

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

以下範例顯示的 ARN 是針對其中資源名稱包含路徑的 Amazon S3 儲存貯體:

arn:aws:s3:::my_corporate_bucket/* arn:aws:s3:::my-corporate-bucket/Development/*
不正確的萬用字元用法

您不能使用 ARN 部分中指定資源類型的萬用字元,例如 IAM ARN 中的 user 詞彙。例如,不允許下列項目。

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