

# Use marcas d'água da AMI para rastrear e identificar AMIs
<a name="ami-watermark"></a>

Uma marca d'água de AMI é um identificador que você anexa às suas AMIs privadas para rastrear a proveniência e aplicar políticas de governança. As marcas d'água persistem em todo o ciclo de vida da AMI:
+ Se você criar uma nova AMI a partir de uma instância em execução que foi executada a partir de uma AMI com marca d'água, a nova AMI herdará a marca d'água.
+ Se você copiar uma AMI com marca d'água, a cópia carrega a marca d'água.
+ Se você armazenar uma AMI com marca d'água no S3 e restaurá-la, a AMI restaurada manterá a marca d'água.
+ Se você compartilhar uma AMI com marca d'água com outra conta, a marca d'água permanecerá visível para o destinatário.

Usar marcas d'água AMI ajuda você a:

**Benefícios principais**
+ Rastrear a proveniência entre contas e regiões: identifique quais AMIs derivam de suas imagens base aprovadas.
+ Filtre e encontre AMIs relacionadas em suas contas.
+ Ajude os consumidores de AMI a descobrir e identificar AMIs confiáveis associadas a um projeto ou organização.

**Topics**
+ [Como funciona a marca d'água da AMI](#ami-watermark-how-it-works)
+ [Permissões obrigatórias](#ami-watermark-permissions)
+ [Anexar uma marca d'água a uma AMI](#ami-watermark-attach)
+ [Desvincular uma marca d'água de uma AMI](#ami-watermark-detach)
+ [Visualizar marcas d'água da AMI](#ami-watermark-view)
+ [Filtrar AMIs por marca d'água](#ami-watermark-filter)

## Como funciona a marca d'água da AMI
<a name="ami-watermark-how-it-works"></a>

As marcas d'água da AMI são identificadores estruturados que você anexa às suas AMIs. A seguir, descrevemos as principais características das marcas d'água:
+ **Persiste**: quando você anexa uma marca d'água a uma AMI, ela é transferida para todas as AMIs derivadas.
+ **Somente proprietário**: somente o proprietário da AMI pode anexar marcas d'água a uma AMI.
+ **Visível para todos**: qualquer pessoa com acesso à AMI pode ver suas marcas d'água.
+ **Limite de 5**: uma AMI pode ter até um total de 5 marcas d'água.
+ **Não disponível em AMIs públicas**: você não pode anexar marcas d'água a AMIs públicas nem tornar as AMIs públicas se elas tiverem uma marca d'água.
+ **Filtrável**: você pode filtrar AMIs por marca d'água ao usar `describe-images`.

### Formato da marca d'água
<a name="ami-watermark-format"></a>

Uma marca d'água é um objeto estruturado com os seguintes campos:
+ `WatermarkKey`: o identificador exclusivo da marca d'água, composto por `{{account-id}}:{{watermark-name}}`. A parte do ID da conta são os 12 dígitos do ID da conta da AWS do proprietário da AMI. A parte do nome da marca d'água é um nome especificado pelo cliente.
+ `SourceImageRegion`: a região da AMI à qual você originalmente anexou a marca d'água.
+ `SourceImageId`: a AMI à qual você originalmente anexou a marca d'água.
+ `SourceImageCreationDate`: a data de criação da AMI à qual você originalmente anexou a marca d'água.
+ `WatermarkCreationTime`: a data e hora de quando você aplicou a marca d'água.

O nome da marca d'água deve ter de 3 a 128 caracteres e pode conter caracteres alfanuméricos, parênteses (()), colchetes ([]), espaços, pontos (.), barras (/), traços (-), aspas simples ('), sinais (@) ou sublinhados (\_).

## Permissões obrigatórias
<a name="ami-watermark-permissions"></a>

Para usar o atributo de AMIs, você precisa das seguintes permissões do IAM:
+ `ec2:AttachImageWatermark`: para anexar uma marca d'água a uma AMI.
+ `ec2:DetachImageWatermark`: para separar uma marca d'água de uma AMI.
+ `ec2:DescribeImages`: para ver marcas d'água em AMIs.

## Anexar uma marca d'água a uma AMI
<a name="ami-watermark-attach"></a>

Você pode anexar uma marca d'água a uma AMI usando o console, a AWS CLI ou o PowerShell.

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

**Para anexar uma marca d'água a uma AMI**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **AMIs**.

1. Selecione a AMI.

1. Na guia **Detalhes**, na seção **Marcas d'água**, selecione **Gerenciar marcas d'água**.

1. Insira um nome de marca d'água e escolha **Anexar**.

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

**Para anexar uma marca d'água a uma AMI**  
Use o comando [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}}"
```

O seguinte é um exemplo de saída.

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

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

**Para anexar uma marca d'água a uma AMI**  
Use o cmdlet [Add-EC2ImageWatermark](https://docs.aws.amazon.com/powershell/latest/reference/items/Add-EC2ImageWatermark.html).

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

------

Você pode adicionar até 5 marcas d'água a uma única AMI.

## Desvincular uma marca d'água de uma AMI
<a name="ami-watermark-detach"></a>

Você pode desvincular uma marca d'água de uma AMI usando o console, a AWS CLI ou o PowerShell.

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

**Para desvincular uma marca d'água de uma AMI**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **AMIs**.

1. Selecione a AMI.

1. Na guia **Detalhes**, na seção **Marcas d'água**, selecione **Gerenciar marcas d'água**.

1. Selecione a marca d'água a ser removida e escolha **Remover**.

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

**Para desvincular uma marca d'água de uma AMI**  
Use o comando [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 ]

**Para desvincular uma marca d'água de uma AMI**  
Use o cmdlet [Remove-EC2ImageWatermark](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2ImageWatermark.html).

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

------

**nota**  
Desvincular uma marca d'água de uma AMI não a remove das AMIs derivadas que já contêm a marca d'água. Para garantir que as marcas d'água permaneçam persistentes, conceda a permissão `ec2:DetachImageWatermark` somente a administradores confiáveis que precisem gerenciar marcas d'água.

## Visualizar marcas d'água da AMI
<a name="ami-watermark-view"></a>

Você pode visualizar as marcas d'água de uma AMI usando o console, a AWS CLI ou o PowerShell.

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

**Para visualizar as marcas d'água de uma AMI**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **AMIs**.

1. Selecione a AMI.

1. Visualize as marcas d'água na seção **Marcas d'água** da guia **Detalhes**.

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

**Para visualizar as marcas d'água de uma AMI**  
Use o comando [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}}
```

A resposta inclui o array `ImageWatermarks` para cada AMI.

```
{
    "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 ]

**Para visualizar as marcas d'água de uma AMI**  
Use o cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

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

------

## Filtrar AMIs por marca d'água
<a name="ami-watermark-filter"></a>

Você pode filtrar AMIs por marca d'água usando o console, a AWS CLI ou o PowerShell.

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

**Para filtrar AMIs por marca d'água**

1. Abra o console do Amazon EC2 em [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. No painel de navegação, selecione **AMIs**.

1. Na barra de pesquisa, escolha o filtro da **Chave da marca d'água** e insira o valor da chave da marca d'água.

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

**Para filtrar AMIs por marca d'água**  
Use o comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) com o filtro `image-watermark-key`.

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

Isso retorna todas as AMIs às quais você tem acesso e que contêm a marca d'água especificada, incluindo AMIs derivadas que a herdaram por meio de operações de cópia.

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

**Para filtrar AMIs por marca d'água**  
Use o cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) com o parâmetro `-Filter`.

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

Isso retorna todas as AMIs às quais você tem acesso e que contêm a marca d'água especificada, incluindo AMIs derivadas que a herdaram por meio de operações de cópia.

------