本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Resource Name (ARNs可唯一識別 AWS 資源。當您需要在所有 中明確指定資源時 AWS,例如在 IAM 政策、Amazon Relational Database Service (Amazon RDS) 標籤和 API 呼叫中,我們需要 ARN。雖然ARNs 應該謹慎使用和共用,但它們不會被視為秘密、敏感或機密資訊。
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 符號 (@
)、底線 (_
) 和連字號 (-
)。
在路徑中使用萬用字元
路徑可以包含萬用字元,也就是星號 (*
)。有些政策元素允許萬用字元,有些則不允許。您可以針對資源或 NotResource 元素使用萬用字元,但不能針對主體或 NotPrincipal 元素。如需詳細資訊,請參閱IAM JSON 政策參考。
您可以指定 role/*
來表示帳戶 123456789012 中的所有角色,如下列範例所示:
arn:aws:iam::123456789012:role/*
您也可以使用萬用字元結束資源名稱。例如,您可以指定 service-*
,以表示所有以 開頭service
和結尾的角色,例如 service-role1
或 service-test
:
arn:aws:iam::123456789012:role/service-*
下列範例顯示 Amazon S3 儲存貯體中物件ARNs,其中資源名稱包含路徑。ARN arn:aws:s3:::amzn-s3-demo-bucket/*
適用於該儲存貯體中的所有物件,無論字首為何。ARN arn:aws:s3:::amzn-s3-demo-bucket/
適用於字Development
/*/Development/
首內建立的所有物件。
您也可以使用?
萬用字元在 ARN 中指定一個字元。例如,您可以在名為 amzn-s3-demo-bucket 的 S3 儲存貯-test
體中,針對以四個字元開頭並以 結尾的所有資料夾使用下列 ARN。某些符合的資料夾包括 1234-test
、 2024-test
或 a100-test
。
arn:aws:s3:::amzn-s3-demo-bucket/????-test
您也可以在 ARN 的不同區段中使用萬用字元,以冒號「:
」分隔。在下列範例中,使用兩個萬用字元來比對帳戶 123456789012 所有區域中應用程式內的所有 Amazon Q 應用程式和資源:
arn:aws:qbusiness:*
:123456789012:*
同樣地,下列範例符合帳戶 123456789012 所有區域中的所有 Amazon VPCs:
arn:aws:ec2:*
:123456789012:vpc/*
下列範例符合帳戶 123456789012 所有區域中的所有 Amazon EBS 磁碟區:
arn:aws:ec2:*
:123456789012:volume/*
ARNs 內萬用字元用量的限制
您無法在指定資源類型的 ARN 部分中使用萬用字元。下列範例 ARN 在資源類型中具有萬用字元無效:
arn:aws:lambda:us-east-2:123456789012:functi*
:my-function <== not allowed
您也無法在字首 ARN 中使用萬用字元,或在 ARN 的分割區區段中具有萬用字元。
arn:aws:redshift:us-east-1:123456789012:?
<== not allowed