本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ARN 格式
ARN 由冒號分隔,並由段,這是由冒號分隔的部分(:
。ARN 的段中使用的特定組件和值取決於哪一個AWSARN 所用的服務。下列範例會顯示 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
這些 ARN 包含下列區段:
— 資源所在的分割區。適用於標準AWS 區域,分區是partition
aws
。如果您有其他分割區的資源,則該分割區為aws 分區名稱
。例如,中國 (北京) 區域的資源分割區,即為 aws-cn
。
— 識別的服務命名空間AWS產品。例如:service
quicksight
標識亞馬遜 QuickSight、s3
識別 Amazon S3,iam
辨識 IAM,以此類推。
— 該AWS 區域資源所在。某些資源的 ARN 不需要AWS 區域,因此在某些情況下可以省略此元件,例如 S3 的情況。亞馬遜 QuickSight ARN 需要AWS 區域。region
— 的 IDAWS 帳戶擁有資源。當您在 ARN 或 API 作業中使用帳號時,您可以省略連字號 (例如,123456789012)。某些資源的 ARN 不需要帳號,因此可以省略此元件。亞馬遜 QuickSight ARN 需要AWS 帳戶數字。不過,帳號和AWS 區域從 S3 儲存貯體 ARN 省略,如下所示。account-id
arn:aws:s3:::
bucket_name
arn:aws:s3:::bucket_name/key_name
或者resource
— 這部分的 ARN 內容依服務而異。資源識別符可以是資源的名稱或 ID (例如,resource-type
user/Bob
或者instance/i-1234567890abcdef0
) 或資源路徑。例如,某些資源識別碼包含父資源 (
) 或限定詞,例如版本 (sub-resource-type
/parent-resource
/sub-resource
resource-type
:resource-type
:修飾語
。
有些資源 ARN 可以包含路徑、變數或萬用字元。
您可以使用萬用字元 (*
和?
) 在任何 ARN 區段內。星號 (*
) 代表零或更多字元的任何組合,而問號 (?
) 則代表任何單一字元。您可以在每個區段使用多個 * 或 ? 字元,但萬用字元不能跨區段。如果您使用 ARN 獲得權限,請避免使用*
萬用字元 (如果可能),以限制只存取必要元素。以下是使用路徑、萬用字元和變數的一些範例。
在下列範例中,我們使用 S3 ARN。當您在 IAM 政策中授予 S3 許可時,可以使用此功能。這 S3 ARN 顯示一個路徑和文件被指定。
注意
術語長期金鑰名稱用於描述之後看起來像路徑和文件bucketname/
。這些被稱為鍵名稱,因為存儲桶實際上並不包含像計算機文件系統中使用的那些文件夾結構。而是斜線 (/
) 是一個分隔符,有助於使桶的組織更直觀。在此情況下,儲存貯體名稱為examplebucket
,並且金鑰名稱是developers/design_info.doc
。
arn:aws:s3:::
examplebucket
/my-data/sales-export-2019-q4.json
如果您想要識別值區中的所有物件,可以使用萬用字元來指示所有金鑰名稱 (或路徑和檔案) 都包含在 ARN 中,如下所示。
arn:aws:s3:::
examplebucket
/*
您可以使用索引鍵名稱的一部分加上萬用字元來識別以特定模式開頭的所有物件。在這種情況下,它類似於一個文件夾名稱加一個通配符,如下所示。但是,此 ARN 還包含其中的任何「子文件夾」my-data
。
arn:aws:s3:::
examplebucket
/my-data/*
您可以新增萬用字元來指定部分名稱。這一個標識任何以my-data/sales-export*
。
arn:aws:s3:::
examplebucket
/my-data/sales-export*
在這種情況下,使用此萬用字元指定會包含具有如下名稱的物件:
-
my-data/sales-export-1.xlsx
-
my-data/sales-export-new.txt
-
my-data/sales-export-2019/file1.txt
您可以組合或單獨使用這兩種類型的萬用字元 (星號和問號),如下所示。
arn:aws:s3:::
examplebucket
/my-data/sales-export-2019-q?.*
arn:aws:s3:::examplebucket
/my-data/sales-export-20??-q?.*
或者,如果您想要面向未來的 ARN,您可以用通配符替換整個年份,而不僅僅是使用最後兩個數字的通配符。
arn:aws:s3:::
examplebucket
/my-data/sales-export-????-q?.*
arn:aws:s3:::examplebucket
/my-data/sales-export-*-q?.*
若要閱讀有關 S3 ARN 的更多資訊,請參閱在政策中指定資源和物件金鑰與中繼資料中的Amazon Simple Storage Service 使用者指南。