授予 Amazon 中跨帳戶複寫的登錄許可 ECR - Amazon ECR

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

授予 Amazon 中跨帳戶複寫的登錄許可 ECR

跨帳戶政策類型會用來授予 AWS 委託人許可,允許將儲存庫從來源登錄檔複寫到登錄檔。根據預設,您可以在自己的登錄檔中設定跨區域複寫的許可。您只需要設定登錄檔政策,如果您授予另一個帳戶將內容複寫到登錄檔的許可。

登錄原則必須授與ecr:ReplicateImageAPI動作的權限。這API是一個內部 Amazon ECRAPI,可以在區域或帳戶之間複製圖像。您也可以授予權限,如此一ECR來,Amazon 就可以在您的登錄檔中建立儲存庫 (如果它們尚未存在)。ecr:CreateRepository如果未提供 ecr:CreateRepository 許可,則必須在登錄檔中手動建立具有與來源儲存庫相同名稱的儲存庫。如果兩者都未完成,複寫則會失敗。任何失敗 CreateRepository 或 ReplicateImage API動作都會顯示在中 CloudTrail。

  1. 在打開 Amazon ECR 控制台https://console.aws.amazon.com/ecr/

  2. 從導覽列,選擇要在其中設定登錄檔政策的區域。

  3. 在導覽窗格中,選擇 Private registry (私有登錄檔)、Registry permissions (登錄檔許可)。

  4. Registry permissions (登錄檔許可) 頁面上,選擇 Generate statement (產生陳述式)。

  5. 使用政策產生器完成下列步驟以定義您的政策陳述式。

    1. 對於 Policy Type (政策類型),選擇 Cross-account policy (跨帳戶政策)。

    2. 對於 Statement ID (陳述式 ID),輸入唯一陳述式 ID。此欄位用作 Sid 在登錄檔政策上。

    3. 戶IDs中,輸入您要授與權限的每個帳戶的帳戶。指定多個帳戶時IDs,請用逗號分隔它們。

  6. 展開 Preview policy statement (預覽政策陳述式) 章節,以檢閱登錄檔許可政策陳述式。

  7. 確認政策陳述式後,選擇 Add to policy (新增至政策) 以將政策儲存至您的登錄檔。

  1. 建立名為 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/*" ] } ] }
  2. 使用政策檔案建立登錄檔政策。

    aws ecr put-registry-policy \ --policy-text file://registry_policy.json \ --region us-west-2
  3. 擷取登錄檔的政策以確認。

    aws ecr get-registry-policy \ --region us-west-2