本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AMI 浮水印來追蹤和識別 AMIs
AMI 浮水印是您連接到私有 AMIs識別符,用於追蹤來源並強制執行控管政策。浮水印會在整個 AMI 生命週期中持續存在:
-
如果您從浮水印 AMI 啟動的執行中執行個體建立新的 AMI,則新的 AMI 會繼承浮水印。
-
如果您複製浮水印 AMI,則複製會攜帶浮水印。
-
如果您將浮水印 AMI 儲存到 S3 並將其還原,則還原的 AMI 會保留浮水印。
-
如果您與其他帳戶共用浮水印 AMI,收件人仍然可以看到浮水印。
使用 AMI 浮水印可協助您:
AMI 浮水印的運作方式
AMI 浮水印是您連接到 AMIs結構化識別符。以下說明浮水印的主要特性:
-
持久性 — 當您將浮水印連接到 AMI 時,它會轉送到所有衍生 AMIs。
-
僅限擁有者 — 只有 AMI 擁有者可以將浮水印連接至 AMI。
-
所有人都可看見 - 任何有權存取 AMI 的人都可以檢視其浮水印。
-
限制為 5 — AMI 最多可有 5 個浮水印。
-
不適用於公有 AMIs — 您無法將浮水印連接至公有 AMIs,如果 AMIs具有浮水印,則無法將其設為公有。
-
可篩選 — 使用 時,您可以依浮水印篩選 AMIsdescribe-images。
浮水印是具有下列欄位的結構化物件:
-
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
-
- 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
-
- 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
-
- 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
-
- 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。