View a markdown version of this page

使用 AMI 浮水印來追蹤和識別 AMIs - Amazon Elastic Compute Cloud

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

使用 AMI 浮水印來追蹤和識別 AMIs

AMI 浮水印是您連接到私有 AMIs識別符,用於追蹤來源並強制執行控管政策。浮水印會在整個 AMI 生命週期中持續存在:

  • 如果您從浮水印 AMI 啟動的執行中執行個體建立新的 AMI,則新的 AMI 會繼承浮水印。

  • 如果您複製浮水印 AMI,則複製會攜帶浮水印。

  • 如果您將浮水印 AMI 儲存到 S3 並將其還原,則還原的 AMI 會保留浮水印。

  • 如果您與其他帳戶共用浮水印 AMI,收件人仍然可以看到浮水印。

使用 AMI 浮水印可協助您:

主要優點
  • 追蹤帳戶和區域的來源 — 識別哪些 AMIs 衍生自您核准的基礎映像。

  • 篩選和尋找您帳戶之間的相關 AMIs。

  • 協助 AMI 消費者探索和識別與專案或組織相關聯的信任 AMIs。

AMI 浮水印的運作方式

AMI 浮水印是您連接到 AMIs結構化識別符。以下說明浮水印的主要特性:

  • 持久性 — 當您將浮水印連接到 AMI 時,它會轉送到所有衍生 AMIs。

  • 僅限擁有者 — 只有 AMI 擁有者可以將浮水印連接至 AMI。

  • 所有人都可看見 - 任何有權存取 AMI 的人都可以檢視其浮水印。

  • 限制為 5 — AMI 最多可有 5 個浮水印。

  • 不適用於公有 AMIs — 您無法將浮水印連接至公有 AMIs,如果 AMIs具有浮水印,則無法將其設為公有。

  • 可篩選 — 使用 時,您可以依浮水印篩選 AMIsdescribe-images

Watermark 格式

浮水印是具有下列欄位的結構化物件:

  • WatermarkKey — 浮水印的唯一識別符,由 組成account-id:watermark-name。帳戶 ID 部分是 AMI 擁有者的 12 位數 AWS 帳戶 ID。浮水印名稱部分是客戶指定的名稱。

  • SourceImageRegion — 您最初連接浮水印的 AMI 區域。

  • SourceImageId — 您最初連接浮水印的 AMI。

  • SourceImageCreationDate — 您最初連接浮水印的 AMI 建立日期。

  • WatermarkCreationTime — 套用浮水印時的時間戳記。

浮水印名稱必須為 3-128 個字元,且可包含英數字元、括號 (())、方括號 (【】)、空格、句點 (.)、斜線 (/)、破折號 (-)、單引號 (')、符號 (@) 或底線 (_)。

所需的許可

若要使用 AMI 浮水印,您需要下列 IAM 許可:

  • ec2:AttachImageWatermark — 將浮水印連接至 AMI。

  • ec2:DetachImageWatermark — 從 AMI 分離浮水印。

  • ec2:DescribeImages — 檢視 AMIs 上的浮水印。

將浮水印連接至 AMI

您可以使用 主控台 AWS CLI、 或 PowerShell 將浮水印連接至 AMI。

Console
將浮水印連接至 AMI
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMI

  3. 請選取 AMI。

  4. 詳細資訊索引標籤的浮水印區段中,選擇管理浮水印

  5. 輸入浮水印名稱,然後選擇連接

AWS CLI
將浮水印連接至 AMI

使用 attach-image-watermark 命令。

aws ec2 attach-image-watermark \ --image-id ami-1111111111EXAMPLE \ --image-watermark-name "prod-baseline"

以下為範例輸出。

{ "WatermarkKey": "123456789012:prod-baseline" }
PowerShell
將浮水印連接至 AMI

使用 Add-EC2ImageWatermark cmdlet。

Add-EC2ImageWatermark ` -ImageId ami-1111111111EXAMPLE ` -ImageWatermarkName "prod-baseline"

您最多可以將 5 個浮水印連接至單一 AMI。

從 AMI 分離浮水印

您可以使用 主控台 AWS CLI、 或 PowerShell,從 AMI 分離浮水印。

Console
從 AMI 分離浮水印
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMI

  3. 請選取 AMI。

  4. 詳細資訊索引標籤的浮水印區段中,選擇管理浮水印

  5. 選取要移除的浮水印,然後選擇移除

AWS CLI
從 AMI 分離浮水印

使用 detach-image-watermark 命令。

aws ec2 detach-image-watermark \ --image-id ami-1111111111EXAMPLE \ --image-watermark-key "111122223333:prod-baseline"
PowerShell
從 AMI 分離浮水印

使用 Remove-EC2ImageWatermark cmdlet。

Remove-EC2ImageWatermark ` -ImageId ami-1111111111EXAMPLE ` -ImageWatermarkKey "111122223333:prod-baseline"
注意

從 AMI 分離浮水印並不會將其從已攜帶浮水印的衍生 AMIs中移除。為了確保浮水印保持持久性,請僅將 ec2:DetachImageWatermark 許可授予需要管理浮水印的信任管理員。

檢視 AMI 浮水印

您可以使用 主控台 AWS CLI、 或 PowerShell 來檢視 AMI 的浮水印。

Console
檢視 AMI 的浮水印
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMI

  3. 請選取 AMI。

  4. 詳細資訊索引標籤的浮水印區段中檢視浮水印

AWS CLI
檢視 AMI 的浮水印

使用 describe-images 命令。

aws ec2 describe-images \ --image-ids ami-046863d776a820ccd \ --region us-east-1

回應包含每個 AMI 的ImageWatermarks陣列。

{ "Images": [ { "ImageId": "ami-046863d776a820ccd", "Public": false, "OwnerId": "123456789012", ... "ImageWatermarks": [ { "WatermarkKey": "111122223333:prod-baseline", "Region": "us-east-1", "SourceImageId": "ami-0b752bf1df193a6c4", "SourceImageCreationDate": "2024-07-10T08:15:00", "CreationDate": "2024-07-12T14:30:00" }, { "WatermarkKey": "222222222222:security-approved", "Region": "eu-north-1", "SourceImageId": "ami-12345678", "SourceImageCreationDate": "2024-06-01T10:00:00", "CreationDate": "2024-06-05T09:45:00" } ] } ] }
PowerShell
檢視 AMI 的浮水印

使用 Get-EC2Image cmdlet。

(Get-EC2Image -ImageId ami-046863d776a820ccd).ImageWatermarks

依浮水印篩選 AMIs

您可以使用 主控台 AWS CLI、 或 PowerShell,透過浮水印篩選 AMIs。

Console
依浮水印篩選 AMIs
  1. 前往 https://console.aws.amazon.com/ec2/ 開啟 Amazon EC2 主控台。

  2. 在導覽窗格中,選擇 AMI

  3. 在搜尋列中,選擇浮水印索引鍵篩選條件,然後輸入浮水印索引鍵值。

AWS CLI
依浮水印篩選 AMIs

使用具有 image-watermark-key 篩選條件的 describe-images 命令。

aws ec2 describe-images \ --filters "Name=image-watermark-key,Values=111122223333:prod-baseline"

這會傳回您有權存取且帶有指定浮水印的所有 AMIs,包括透過複製操作繼承該浮水印的衍生 AMIs。

PowerShell
依浮水印篩選 AMIs

使用 Get-EC2Image cmdlet 搭配 -Filter 參數。

Get-EC2Image ` -Filter @{Name="image-watermark-key"; Values="111122223333:prod-baseline"}

這會傳回您有權存取且帶有指定浮水印的所有 AMIs,包括透過複製操作繼承該浮水印的衍生 AMIs。