本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
授予 Amazon ECR 中跨帳戶複寫的登錄檔許可
跨帳戶政策類型用於將許可授予 AWS 委託人,允許將儲存庫從來源登錄檔複寫到您的登錄檔。根據預設,您可以在自己的登錄檔中設定跨區域複寫的許可。您只需要設定登錄檔政策,如果您授予另一個帳戶將內容複寫到登錄檔的許可。
登錄檔政策必須授予 ecr:ReplicateImage
API 動作的許可。這個 API 為內部的 Amazon ECR API,可以在區域或帳戶之間複寫映像。您也可以授予 ecr:CreateRepository
許可,這允許 Amazon ECR 在您的登錄檔中建立儲存庫 (如果它們尚不存在)。如果未提供 ecr:CreateRepository
許可,則必須在登錄檔中手動建立具有與來源儲存庫相同名稱的儲存庫。如果兩者都未完成,複寫則會失敗。任何失敗的 CreateRepository
或 ReplicateImage
API 動作都會顯示在 CloudTrail 中。
在 https://console.aws.amazon.com/ecr/
開啟 Amazon ECR 主控台。 -
從導覽列,選擇要在其中設定登錄檔政策的區域。
-
在導覽窗格中,選擇私有登錄檔,選擇功能和設定,然後選擇許可。
-
在 Registry permissions (登錄檔許可) 頁面上,選擇 Generate statement (產生陳述式)。
-
使用政策產生器完成下列步驟以定義您的政策陳述式。
-
針對政策類型,選擇複寫 - 跨帳戶。
-
針對陳述式 ID,輸入唯一的陳述式 ID。此欄位用作
Sid
在登錄檔政策上。 -
對於 Accounts (帳戶),輸入您要授予許可的每個帳戶的帳戶 ID。指定多個帳戶 ID 時,以逗號分隔。
-
-
選擇儲存。
-
建立名為
registry_policy.json
的檔案,並將其填入登錄檔政策。{ "Version":"2012-10-17", "Statement":[ { "Sid":"ReplicationAccessCrossAccount", "Effect":"Allow", "Principal":{ "AWS":"arn:aws:iam::
source_account_id
:root
" }, "Action":[ "ecr:CreateRepository", "ecr:ReplicateImage" ], "Resource": [ "arn:aws:ecr:us-west-2:your_account_id
:repository/*
" ] } ] } -
使用政策檔案建立登錄檔政策。
aws ecr put-registry-policy \ --policy-text file://
registry_policy.json
\ --regionus-west-2
-
擷取登錄檔的政策以確認。
aws ecr get-registry-policy \ --region
us-west-2