IAM 將上游登錄檔與 Amazon ECR私有登錄檔同步所需的許可 - Amazon ECR

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

IAM 將上游登錄檔與 Amazon ECR私有登錄檔同步所需的許可

除了向私有登錄檔進行身分驗證和推送和提取映像所需的 Amazon ECRAPI許可之外,還需要下列其他許可,才能有效使用提取快取規則。

  • ecr:CreatePullThroughCacheRule – 授予建立提取快取規則的許可。此許可必須透過身分型IAM政策授予。

  • ecr:BatchImportUpstreamImage – 授予檢索外部映像並將其匯入到您的私有登錄檔的許可。您可以使用私有登錄檔許可政策、身分型IAM政策或使用資源型儲存庫許可政策來授予此許可。如需使用儲存庫許可的詳細資訊,請參閱 Amazon ECR 中的私有儲存庫政策

  • ecr:CreateRepository – 授予在私有登錄檔中建立儲存庫的許可。如果存放快取映像的儲存庫尚不存在,則需要此許可。此許可可由身分型IAM政策或私有登錄檔許可政策授予。

使用登錄檔許可

Amazon ECR私有登錄許可可用於範圍個別IAM實體使用提取快取的許可。如果IAM實體擁有IAM的政策授予的許可多於登錄檔許可政策授予的許可,則以IAM政策為優先。例如,如果使用者已具有 ecr:* 許可,則在登錄檔層級不需要額外的許可。

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

  2. 從導覽列選擇要在其中設定私有登錄檔許可陳述式的區域。

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

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

  5. 針對您要建立的每個提取快取許可政策陳述式,執行下列動作。

    1. 針對 Policy type (政策類型),選擇 Pull through cache policy (提取快取政策)。

    2. 針對 Statement id (陳述式 ID),提供提取快取陳述式政策的名稱。

    3. 對於IAM實體 ,指定要包含在政策中的使用者、群組或角色。

    4. 針對 Repository namespace (儲存庫命名空間),選取要與政策建立關聯的提取快取規則。

    5. 針對 Repository names (儲存庫名稱),指定要套用規則的儲存庫基本名稱。例如,如果您想要在 Amazon ECR Public 上指定 Amazon Linux 儲存庫,儲存庫名稱將為 amazonlinux

使用下列 AWS CLI 命令來指定使用 的私有登錄檔許可 AWS CLI。

  1. 建立具有您登錄檔政策內容的名為 ptc-registry-policy.json 的本機檔案。下列範例授予ecr-pull-through-cache-user許可,以建立儲存庫並從 Amazon ECR Public 提取映像,Amazon Public 是與先前建立的提取快取規則相關聯的上游來源。

    { "Version": "2012-10-17", "Statement": [ { "Sid": "PullThroughCacheFromReadOnlyRole", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:user/ecr-pull-through-cache-user" }, "Action": [ "ecr:CreateRepository", "ecr:BatchImportUpstreamImage" ], "Resource": "arn:aws:ecr:us-east-1:111122223333:repository/ecr-public/*" } ] }
    重要

    僅當存放快取映像的儲存庫尚不存在時,才需要 ecr-CreateRepository 許可。例如,如果儲存庫建立動作和映像提取動作是由管理員和開發人員等個別IAM主體執行。

  2. 使用 put-registry-policy命令來設定登錄政策。

    aws ecr put-registry-policy \ --policy-text file://ptc-registry.policy.json

後續步驟

準備好開始使用提取快取規則時,以下為接下來的步驟。