

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

# 使用 AMI 浮水印來追蹤和識別 AMIs
<a name="ami-watermark"></a>

AMI 浮水印是您連接到私有 AMIs識別符，用於追蹤來源並強制執行控管政策。浮水印會在整個 AMI 生命週期中持續存在：
+ 如果您從浮水印 AMI 啟動的執行中執行個體建立新的 AMI，則新的 AMI 會繼承浮水印。
+ 如果您複製浮水印 AMI，則複製會攜帶浮水印。
+ 如果您將浮水印 AMI 儲存到 S3 並將其還原，則還原的 AMI 會保留浮水印。
+ 如果您與其他帳戶共用浮水印 AMI，收件人仍然可以看到浮水印。

使用 AMI 浮水印可協助您：

**主要優點**
+ 追蹤帳戶和區域的來源 — 識別哪些 AMIs 衍生自您核准的基礎映像。
+ 篩選和尋找您帳戶之間的相關 AMIs。
+ 協助 AMI 消費者探索和識別與專案或組織相關聯的信任 AMIs。

**Topics**
+ [AMI 浮水印的運作方式](#ami-watermark-how-it-works)
+ [所需的許可](#ami-watermark-permissions)
+ [將浮水印連接至 AMI](#ami-watermark-attach)
+ [從 AMI 分離浮水印](#ami-watermark-detach)
+ [檢視 AMI 浮水印](#ami-watermark-view)
+ [依浮水印篩選 AMIs](#ami-watermark-filter)

## AMI 浮水印的運作方式
<a name="ami-watermark-how-it-works"></a>

AMI 浮水印是您連接到 AMIs結構化識別符。以下說明浮水印的主要特性：
+ **持久性** — 當您將浮水印連接到 AMI 時，它會轉送到所有衍生 AMIs。
+ **僅限擁有者** — 只有 AMI 擁有者可以將浮水印連接至 AMI。
+ **所有人都可看見** - 任何有權存取 AMI 的人都可以檢視其浮水印。
+ **限制為 5** — AMI 最多可有 5 個浮水印。
+ **不適用於公有 AMIs** — 您無法將浮水印連接至公有 AMIs，如果 AMIs具有浮水印，則無法將其設為公有。
+ **可篩選** — 使用 時，您可以依浮水印篩選 AMIs`describe-images`。

### Watermark 格式
<a name="ami-watermark-format"></a>

浮水印是具有下列欄位的結構化物件：
+ `WatermarkKey` — 浮水印的唯一識別符，由 組成`{{account-id}}:{{watermark-name}}`。帳戶 ID 部分是 AMI 擁有者的 12 位數 AWS 帳戶 ID。浮水印名稱部分是客戶指定的名稱。
+ `SourceImageRegion` — 您最初連接浮水印的 AMI 區域。
+ `SourceImageId` — 您最初連接浮水印的 AMI。
+ `SourceImageCreationDate` — 您最初連接浮水印的 AMI 建立日期。
+ `WatermarkCreationTime` — 套用浮水印時的時間戳記。

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

## 所需的許可
<a name="ami-watermark-permissions"></a>

若要使用 AMI 浮水印，您需要下列 IAM 許可：
+ `ec2:AttachImageWatermark` — 將浮水印連接至 AMI。
+ `ec2:DetachImageWatermark` — 從 AMI 分離浮水印。
+ `ec2:DescribeImages` — 檢視 AMIs 上的浮水印。

## 將浮水印連接至 AMI
<a name="ami-watermark-attach"></a>

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

------
#### [ Console ]

**將浮水印連接至 AMI**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **AMI**。

1. 請選取 AMI。

1. 在**詳細資訊**索引標籤的**浮水印**區段中，選擇**管理浮水印**。

1. 輸入浮水印名稱，然後選擇**連接**。

------
#### [ AWS CLI ]

**將浮水印連接至 AMI**  
使用 [attach-image-watermark](https://docs.aws.amazon.com/cli/latest/reference/ec2/attach-image-watermark.html) 命令。

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

以下為範例輸出。

```
{
    "WatermarkKey": "123456789012:prod-baseline"
}
```

------
#### [ PowerShell ]

**將浮水印連接至 AMI**  
使用 [Add-EC2ImageWatermark](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2ImageWatermark.html) cmdlet。

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

------

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

## 從 AMI 分離浮水印
<a name="ami-watermark-detach"></a>

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

------
#### [ Console ]

**從 AMI 分離浮水印**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **AMI**。

1. 請選取 AMI。

1. 在**詳細資訊**索引標籤的**浮水印**區段中，選擇**管理浮水印**。

1. 選取要移除的浮水印，然後選擇**移除**。

------
#### [ AWS CLI ]

**從 AMI 分離浮水印**  
使用 [detach-image-watermark](https://docs.aws.amazon.com/cli/latest/reference/ec2/detach-image-watermark.html) 命令。

```
aws ec2 detach-image-watermark \
    --image-id {{ami-1111111111EXAMPLE}} \
    --image-watermark-key "{{111122223333:prod-baseline}}"
```

------
#### [ PowerShell ]

**從 AMI 分離浮水印**  
使用 [Remove-EC2ImageWatermark](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2ImageWatermark.html) cmdlet。

```
Remove-EC2ImageWatermark `
    -ImageId {{ami-1111111111EXAMPLE}} `
    -ImageWatermarkKey "{{111122223333:prod-baseline}}"
```

------

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

## 檢視 AMI 浮水印
<a name="ami-watermark-view"></a>

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

------
#### [ Console ]

**檢視 AMI 的浮水印**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **AMI**。

1. 請選取 AMI。

1. 在**詳細資訊**索引標籤的浮水印區段中檢視浮**水印**。

------
#### [ AWS CLI ]

**檢視 AMI 的浮水印**  
使用 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令。

```
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](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet。

```
(Get-EC2Image -ImageId {{ami-046863d776a820ccd}}).ImageWatermarks
```

------

## 依浮水印篩選 AMIs
<a name="ami-watermark-filter"></a>

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

------
#### [ Console ]

**依浮水印篩選 AMIs**

1. 前往 [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) 開啟 Amazon EC2 主控台。

1. 在導覽窗格中，選擇 **AMI**。

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

------
#### [ AWS CLI ]

**依浮水印篩選 AMIs**  
使用具有 `image-watermark-key` 篩選條件的 [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 命令。

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

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

------
#### [ PowerShell ]

**依浮水印篩選 AMIs**  
使用 [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet 搭配 `-Filter` 參數。

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

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

------