本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
IAM將上游註冊表與 Amazon ECR 私有註冊表同步所需的許可
除了向私有登錄進行驗證以及推送和提取映像所需的 Amazon ECR API 許可之外,還需要下列額外許可才能有效地使用快取規則提取。
-
ecr:CreatePullThroughCacheRule
– 授予建立提取快取規則的許可。此權限必須透過以身分識別為基礎IAM的原則授與。 -
ecr:BatchImportUpstreamImage
– 授予檢索外部映像並將其匯入到您的私有登錄檔的許可。您可以使用私人登錄權限原則、以身分識別為基礎的原則,或使用以資源為基礎的儲存庫權限IAM原則來授與此權限。如需使用儲存庫許可的詳細資訊,請參閱 Amazon ECR 中的私有儲存庫政策。 -
ecr:CreateRepository
– 授予在私有登錄檔中建立儲存庫的許可。如果存放快取映像的儲存庫尚不存在,則需要此許可。此權限可透過以身分識別為基礎的IAM原則或私人登錄權限原則授與。
使用登錄檔許可
Amazon ECR 私有登錄許可可可可用於限定個別IAM實體的許可範圍,以使用提取快取。如果IAM實體擁有IAM原則所授與的權限多於登錄權限原則授與的權限,IAM則原則會優先考慮。例如,如果使用者已具有 ecr:*
許可,則在登錄檔層級不需要額外的許可。
在打開 Amazon ECR 控制台https://console.aws.amazon.com/ecr/
。 -
從導覽列選擇要在其中設定私有登錄檔許可陳述式的區域。
-
在導覽窗格中,選擇 Private registry (私有登錄檔)、Registry permissions (登錄檔許可)。
-
在 Registry permissions (登錄檔許可) 頁面上,選擇 Generate statement (產生陳述式)。
-
針對您要建立的每個提取快取許可政策陳述式,執行下列動作。
-
針對 Policy type (政策類型),選擇 Pull through cache policy (提取快取政策)。
-
針對 Statement id (陳述式 ID),提供提取快取陳述式政策的名稱。
-
對於IAM實體,請指定要包含在策略中的使用者、群組或角色。
-
針對 Repository namespace (儲存庫命名空間),選取要與政策建立關聯的提取快取規則。
-
針對 Repository names (儲存庫名稱),指定要套用規則的儲存庫基本名稱。例如,如果您想在 Amazon ECR 公共上指定 Amazon Linux 存儲庫,則存儲庫名稱將是
amazonlinux
。
-
使用下列 AWS CLI 命令來指定使用的私人登錄權限 AWS CLI。
-
建立具有您登錄檔政策內容的名為
ptc-registry-policy.json
的本機檔案。下列範例授予建立儲存庫和從 Amazon ECR Public 提取映像的ecr-pull-through-cache-user
權限,Amazon Public 是與先前建立的提取快取規則相關聯的上游來源。{ "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主參與者 (例如管理員和開發人員) 完成的。 -
使用命put-registry-policy令來設定登錄原則。
aws ecr put-registry-policy \ --policy-text file://
ptc-registry.policy.json
後續步驟
準備好開始使用提取快取規則時,以下為接下來的步驟。
-
建立提取快取規則。如需詳細資訊,請參閱在 Amazon 中創建一個通過緩存規則 ECR。
-
建立儲存庫建立範本。存放庫建立範本可讓您控制在提取快取動作期間,用ECR於 Amazon 代表您建立的新儲存庫的設定。如需詳細資訊,請參閱用來控制在提取快取或複寫動作期間建立的儲存庫的範本。