本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
授予 Amazon 中跨帳戶複寫的登錄許可 ECR
跨帳戶政策類型會用來授予 AWS 委託人許可,允許將儲存庫從來源登錄檔複寫到登錄檔。根據預設,您可以在自己的登錄檔中設定跨區域複寫的許可。您只需要設定登錄檔政策,如果您授予另一個帳戶將內容複寫到登錄檔的許可。
登錄原則必須授與ecr:ReplicateImage
API動作的權限。這API是一個內部 Amazon ECRAPI,可以在區域或帳戶之間複製圖像。您也可以授予權限,如此一ECR來,Amazon 就可以在您的登錄檔中建立儲存庫 (如果它們尚未存在)。ecr:CreateRepository
如果未提供 ecr:CreateRepository
許可,則必須在登錄檔中手動建立具有與來源儲存庫相同名稱的儲存庫。如果兩者都未完成,複寫則會失敗。任何失敗 CreateRepository 或 ReplicateImage API動作都會顯示在中 CloudTrail。
在打開 Amazon ECR 控制台https://console.aws.amazon.com/ecr/
。 -
從導覽列,選擇要在其中設定登錄檔政策的區域。
-
在導覽窗格中,選擇 Private registry (私有登錄檔)、Registry permissions (登錄檔許可)。
-
在 Registry permissions (登錄檔許可) 頁面上,選擇 Generate statement (產生陳述式)。
-
使用政策產生器完成下列步驟以定義您的政策陳述式。
-
對於 Policy Type (政策類型),選擇 Cross-account policy (跨帳戶政策)。
-
對於 Statement ID (陳述式 ID),輸入唯一陳述式 ID。此欄位用作
Sid
在登錄檔政策上。 -
在帳戶IDs中,輸入您要授與權限的每個帳戶的帳戶。指定多個帳戶時IDs,請用逗號分隔它們。
-
-
展開 Preview policy statement (預覽政策陳述式) 章節,以檢閱登錄檔許可政策陳述式。
-
確認政策陳述式後,選擇 Add to policy (新增至政策) 以將政策儲存至您的登錄檔。
-
建立名為
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