防止 Amazon ECR 中的圖像標籤被覆蓋 - Amazon ECR

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

防止 Amazon ECR 中的圖像標籤被覆蓋

您可以透過在儲存庫中開啟標籤不變性來防止影像標籤遭到覆寫。開啟標籤不變性之後,如果您推送含有已存在於儲存庫中的標籤的映像,則會傳回ImageTagAlreadyExistsException錯誤。標籤不變性會影響所有標籤。您不能使某些標籤不可變,而其他標籤則不可變。

您可以使用 AWS Management Console 和 AWS CLI 工具來設定新儲存庫或現有儲存庫的影像標籤可變性。若要使用主控台步驟建立存放庫,請參閱建立 Amazon ECR 私有儲存庫來存放映像檔

設置圖像標籤可變性()AWS Management Console

若要設定影像標籤可變性
  1. https://console.aws.amazon.com/ecr/repositories 開啟 Amazon ECR 主控台。

  2. 從導覽列上,選擇包含要編輯之儲存庫的區域。

  3. 在導覽窗格中,選擇 Repositories (儲存庫)。

  4. Repositories (儲存庫) 頁面上,選擇 Private (私有) 分頁,然後選擇要編輯的儲存庫並選擇 Edit (編輯)。

  5. 對於 Tag mutability (標籤不變性),選擇儲存庫的標籤可變性設定。設定不可變標籤的儲存庫會防止映像被覆寫。如需詳細資訊,請參閱 防止 Amazon ECR 中的圖像標籤被覆蓋

  6. 對於 Image scan settings (映像掃描設定),雖然您可以在儲存庫層級指定基本掃描的掃描設定,但最佳實務是在私有登錄檔層級指定掃描組態。在私有登錄檔層級指定掃描設定讓您能啟用增強型掃描或基本掃描,還能定義篩選條件來指定要掃描哪些儲存庫。如需詳細資訊,請參閱 掃描影像以查看 Amazon ECR 中的軟體漏洞

  7. 對於 Encryption settings (加密設定),這是一個僅能檢視的欄位,因為儲存庫建立後,就無法變更儲存庫的加密設定。

  8. 選擇 Save (儲存) 更新儲存庫設定。

設置圖像標籤可變性()AWS CLI

建立儲存庫並設定不可變標籤

使用以下其中一個命令來建立新的映像儲存庫,並設定不可變標籤。

  • create-repository (AWS CLI)

    aws ecr create-repository --repository-name name --image-tag-mutability IMMUTABLE --region us-east-2
  • New-ECRRepository (AWS Tools for Windows PowerShell)

    New-ECRRepository -RepositoryName name -ImageTagMutability IMMUTABLE -Region us-east-2 -Force
若要更新儲存庫的影像標籤可變性設定

使用以下其中一個命令來更新現有儲存庫的映像標籤可變性設定。

  • put-image-tag-mutability (AWS CLI)

    aws ecr put-image-tag-mutability --repository-name name --image-tag-mutability IMMUTABLE --region us-east-2
  • 寫入 ECR ImageTag 可變性 ()AWS Tools for Windows PowerShell

    Write-ECRImageTagMutability -RepositoryName name -ImageTagMutability IMMUTABLE -Region us-east-2 -Force