

# Administración de la configuración de las AMI permitidas
<a name="manage-settings-allowed-amis"></a>

Puede administrar la configuración de las AMI permitidas. Estos ajustes son por región y por cuenta.

**Topics**
+ [Habilite AMI permitidas](#enable-allowed-amis-criteria)
+ [Definición de los criterios de AMI permitidas](#update-allowed-amis-criteria)
+ [Cómo desactivar AMI permitidas](#disable-allowed-amis-criteria)
+ [Obtención de los criterios de AMI permitidas](#identify-allowed-amis-state-and-criteria)
+ [Búsqueda de las AMI permitidas](#identify-amis-that-meet-allowed-amis-criteria)
+ [Búsqueda de instancias lanzadas desde AMI no permitidas](#identify-instances-with-allowed-AMIs)

## Habilite AMI permitidas
<a name="enable-allowed-amis-criteria"></a>

Puede habilitar las AMI permitidas y especificar los criterios de AMI permitidas. Le recomendamos que comience en el modo de auditoría, que muestra qué AMI se verían afectadas por los criterios sin restringir realmente el acceso.

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

**Para habilitar AMI permitidas**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Panel**.

1. En la tarjeta **Atributos de la cuenta**, en **Configuración**, elija **AMI permitidas**.

1. En la pestaña **AMI permitidas**, elija **Administrar**.

1. En **Configuración de AMI permitidas**, seleccione **Modo de auditoría** o **Habilitado**. Le recomendamos que comience en el modo de auditoría, pruebe los criterios y, luego, vuelva a este paso para habilitar las AMI permitidas.

1. (Opcional) En **Criterios de AMI**, especifique los criterios en formato JSON.

1. Elija **Actualizar**.

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

**Para habilitar AMI permitidas**  
Utilice el comando [enable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-allowed-images-settings.html).

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state enabled
```

Para habilitar el modo de auditoría en su lugar, especifique `audit-mode` en lugar de `enabled`.

```
aws ec2 enable-allowed-images-settings --allowed-images-settings-state audit-mode
```

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

**Para habilitar AMI permitidas**  
Utilice el cmdlet [Enable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2AllowedImagesSetting.html).

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState enabled
```

Para habilitar el modo de auditoría en su lugar, especifique `audit-mode` en lugar de `enabled`.

```
Enable-EC2AllowedImagesSetting -AllowedImagesSettingsState audit-mode
```

------

## Definición de los criterios de AMI permitidas
<a name="update-allowed-amis-criteria"></a>

Después de habilitar las AMI permitidas, puede establecer o reemplazar los criterios de las AMI permitidas.

Para conocer la configuración correcta y los valores válidos, consulte [Configuración de AMI permitidas](ec2-allowed-amis.md#allowed-amis-json-configuration) y .[Parámetros de AMI permitidas](ec2-allowed-amis.md#allowed-amis-criteria)

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

**Definición de los criterios de las AMI permitidas**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Panel**.

1. En la tarjeta **Atributos de la cuenta**, en **Configuración**, elija **AMI permitidas**.

1. En la pestaña **AMI permitidas**, elija **Administrar**.

1. En **Criterios de AMI**, especifique los criterios en formato JSON.

1. Elija **Actualizar**.

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

**Definición de los criterios de las AMI permitidas**  
Utilice el comando [replace-image-criteria-in-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-image-criteria-in-allowed-images-settings.html) y especifique el archivo JSON que contiene los criterios de las AMI permitidas.

```
aws ec2 replace-image-criteria-in-allowed-images-settings --cli-input-json file://{{file_name.json}}
```

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

**Definición de los criterios de las AMI permitidas**  
Utilice el cmdlet [Set-EC2ImageCriteriaInAllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2ImageCriteriaInAllowedImagesSetting.html) y especifique el archivo JSON que contiene los criterios de las AMI permitidas.

```
$imageCriteria = Get-Content -Path .\{{file_name.json}} | ConvertFrom-Json
Set-EC2ImageCriteriaInAllowedImagesSetting -ImageCriterion $imageCriteria
```

------

## Cómo desactivar AMI permitidas
<a name="disable-allowed-amis-criteria"></a>

Puede deshabilitar las AMI permitidas de la siguiente manera.

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

**Para desactivar AMI permitidas**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Panel**.

1. En la tarjeta **Atributos de la cuenta**, en **Configuración**, elija **AMI permitidas**.

1. En la pestaña **AMI permitidas**, elija **Administrar**.

1. En la **Configuración de AMI permitidas**, seleccione **Desactivada**.

1. Elija **Actualizar**.

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

**Para desactivar AMI permitidas**  
Utilice el comando [disable-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-allowed-images-settings.html).

```
aws ec2 disable-allowed-images-settings
```

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

**Para desactivar AMI permitidas**  
Utilice el cmdlet [Disable-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2AllowedImagesSetting.html).

```
Disable-EC2AllowedImagesSetting
```

------

## Obtención de los criterios de AMI permitidas
<a name="identify-allowed-amis-state-and-criteria"></a>

Puede obtener el estado actual de la configuración de las AMI permitidas y los criterios de las AMI permitidas.

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

**Obtención del estado y los criterios de las AMI permitidas**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, elija **Panel**.

1. En la tarjeta **Atributos de la cuenta**, en **Configuración**, elija **AMI permitidas**.

1. En la pestaña **AMI permitidas**, la opción **Configuración de AMI permitidas** está establecida en **Habilitado**, **Deshabilitado** o **Modo de auditoría**.

1. Si el estado de las AMI permitidas es **Habilitado** o **Modo de auditoría**, **Criterios de AMI** muestra los criterios de la AMI en formato JSON.

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

**Obtención del estado y los criterios de las AMI permitidas**  
Utilice el comando [get-allowed-images-settings](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-allowed-images-settings.html).

```
aws ec2 get-allowed-images-settings
```

En el siguiente resultado de ejemplo, el estado es `audit-mode` y los criterios de imágenes están establecidos en la cuenta.

```
{
    "State": "audit-mode",
    "ImageCriteria": [
        {
            "MarketplaceProductCodes": [
                "abcdefg1234567890"
            ]
        },
        {
            "ImageProviders": [
                "123456789012",
                "123456789013"
            ],
            "CreationDateCondition": {
                "MaximumDaysSinceCreated": 300
            }
        },
        {
            "ImageProviders": [
                "123456789014"
            ],
            "ImageNames": [
                "golden-ami-*"
            ]
        },
        {
            "ImageProviders": [
                "amazon"
            ],
            "DeprecationTimeCondition": {
                "MaximumDaysSinceDeprecated": 0
            }
        }
    ],
    "ManagedBy": "account"
}
```

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

**Obtención del estado y los criterios de las AMI permitidas**  
Utilice el cmdlet [Get-EC2AllowedImagesSetting](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2AllowedImagesSetting.html).

```
Get-EC2AllowedImagesSetting | Select-Object `
    State, `
    ManagedBy, `
    @{Name='ImageProviders'; Expression={($_.ImageCriteria.ImageProviders)}}, `
    @{Name='MarketplaceProductCodes'; Expression={($_.ImageCriteria.MarketplaceProductCodes)}}, `
    @{Name='ImageNames'; Expression={($_.ImageCriteria.ImageNames)}}, `
    @{Name='MaximumDaysSinceCreated'; Expression={($_.ImageCriteria.CreationDateCondition.MaximumDaysSinceCreated)}}, `
    @{Name='MaximumDaysSinceDeprecated'; Expression={($_.ImageCriteria.DeprecationTimeCondition.MaximumDaysSinceDeprecated)}}
```

En el siguiente resultado de ejemplo, el estado es `audit-mode` y los criterios de imágenes están establecidos en la cuenta.

```
State      : audit-mode
ManagedBy  : account
ImageProviders            : {123456789012, 123456789013, 123456789014, amazon}
MarketplaceProductCodes   : {abcdefg1234567890}
ImageNames                : {golden-ami-*}
MaximumDaysSinceCreated  : 300
MaximumDaysSinceDeprecated: 0
```

------

## Búsqueda de las AMI permitidas
<a name="identify-amis-that-meet-allowed-amis-criteria"></a>

Puede buscar las AMI permitidas y las no permitidas según los criterios de AMI permitidas actuales.

**nota**  
Las AMI permitidas deben estar en modo de auditoría.

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

**Comprobación de si una AMI cumple los criterios de AMI permitidas**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **AMIs**.

1. Seleccione la AMI.

1. En la pestaña **Detalles** (si ha seleccionado la casilla de verificación) o en el área de resumen (si ha seleccionado el ID de AMI), busque el campo **Imagen permitida**.
   + **Sí**: la AMI cumple los criterios de AMI permitidas. Esta AMI estará disponible para los usuarios de la cuenta después de que habilite las AMI permitidas.
   + **No**: la AMI no cumple los criterios de AMI permitidas.

1. En el panel de navegación, elija **Catálogo de AMI**.

   Cuando una AMI está marcada con **No permitida**, significa que no cumple los criterios de AMI permitidas. Esta AMI no estará visible ni disponible para los usuarios de la cuenta cuando AMI permitidas esté habilitada.

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

**Comprobación de si una AMI cumple los criterios de AMI permitidas**  
Utilice el comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) .

```
aws ec2 describe-images \
    --image-id {{ami-0abcdef1234567890}} \
    --query Images[].ImageAllowed \
    --output text
```

A continuación, se muestra un ejemplo del resultado.

```
True
```

**Búsqueda de las AMI que cumplen los criterios de AMI permitidas**  
Utilice el comando [describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) .

```
aws ec2 describe-images \
    --filters "Name=image-allowed,Values=true" \
    --max-items 10 \
    --query Images[].ImageId
```

A continuación, se muestra un ejemplo del resultado.

```
ami-000eaaa8be2fd162a
ami-000f82db25e50de8e
ami-000fc21eb34c7a9a6
ami-0010b876f1287d7be
ami-0010b929226fe8eba
ami-0010957836340aead
ami-00112c992a47ba871
ami-00111759e194abcc1
ami-001112565ffcafa5e
ami-0011e45aaee9fba88
```

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

**Comprobación de si una AMI cumple los criterios de AMI permitidas**  
Utilice el cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
(Get-EC2Image -ImageId {{ami-0abcdef1234567890}}).ImageAllowed
```

A continuación, se muestra un ejemplo del resultado.

```
True
```

**Búsqueda de las AMI que cumplen los criterios de AMI permitidas**  
Utilice el cmdlet [Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html).

```
Get-EC2Image `
    -Filter @{Name="image-allows";Values="true"} `
    -MaxResult 10 | `
    Select ImageId
```

A continuación, se muestra un ejemplo del resultado.

```
ami-000eaaa8be2fd162a
ami-000f82db25e50de8e
ami-000fc21eb34c7a9a6
ami-0010b876f1287d7be
ami-0010b929226fe8eba
ami-0010957836340aead
ami-00112c992a47ba871
ami-00111759e194abcc1
ami-001112565ffcafa5e
ami-0011e45aaee9fba88
```

------

## Búsqueda de instancias lanzadas desde AMI no permitidas
<a name="identify-instances-with-allowed-AMIs"></a>

Puede identificar las instancias que se lanzaron con una AMI que no cumple los criterios de AMI permitidas.

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

**Comprobación de si una instancia se lanzó con una AMI que no es permitida**

1. Abra la consola de Amazon EC2 en [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. En el panel de navegación, seleccione **Instancias**.

1. Seleccione la instancia.

1. En la pestaña **Detalles**, en **Detalles de la instancia**, busque **Imagen permitida**.
   + **Sí**: la AMI cumple los criterios de AMI permitidas.
   + **No**: la AMI no cumple los criterios de AMI permitidas.

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

**Búsqueda de instancias lanzadas desde AMI no permitidas**  
Utilice el comando [describe-instance-image-metadata](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-instance-image-metadata.html) con el filtro `image-allowed`.

```
aws ec2 describe-instance-image-metadata \
    --filters "Name=image-allowed,Values=false" \
    --query "InstanceImageMetadata[*].[InstanceId,ImageMetadata.ImageId]" \
    --output table
```

A continuación, se muestra un ejemplo del resultado.

```
--------------------------------------------------
|          DescribeInstanceImageMetadata         |
+----------------------+-------------------------+
|  i-08fd74f3f1595fdbd |  ami-09245d5773578a1d6  |
|  i-0b1bf24fd4f297ab9 |  ami-07cccf2bd80ed467f  |
|  i-026a2eb590b4f7234 |  ami-0c0ec0a3a3a4c34c0  |
|  i-006a6a4e8870c828f |  ami-0a70b9d193ae8a799  |
|  i-0781e91cfeca3179d |  ami-00c257e12d6828491  |
|  i-02b631e2a6ae7c2d9 |  ami-0bfddf4206f1fa7b9  |
+----------------------+-------------------------+
```

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

**Búsqueda de instancias lanzadas desde AMI no permitidas**  
Utilice el cmdlet [Get-EC2InstanceImageMetadata](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2InstanceImageMetadata.html).

```
Get-EC2InstanceImageMetadata `
    -Filter @{Name="image-allowed";Values="false"} | `
    Select InstanceId, @{Name='ImageId'; Expression={($_.ImageMetadata.ImageId)}}
```

A continuación, se muestra un ejemplo del resultado.

```
InstanceId          ImageId
----------          -------
i-08fd74f3f1595fdbd ami-09245d5773578a1d6
i-0b1bf24fd4f297ab9 ami-07cccf2bd80ed467f
i-026a2eb590b4f7234 ami-0c0ec0a3a3a4c34c0
i-006a6a4e8870c828f ami-0a70b9d193ae8a799
i-0781e91cfeca3179d ami-00c257e12d6828491
i-02b631e2a6ae7c2d9 ami-0bfddf4206f1fa7b9
```

------
#### [ AWS Config ]

Puede agregar la regla **ec2-instance-launched-with-allowed-ami** de AWS Config, configurarla según sus requisitos y, a continuación, usarla para evaluar las instancias.

Para obtener más información, consulte [Añadir reglas AWS Config](https://docs.aws.amazon.com/config/latest/developerguide/evaluate-config_add-rules.html) y [ec2-instance-launched-with-allowed-ami](https://docs.aws.amazon.com/config/latest/developerguide/ec2-instance-launched-with-allowed-ami.html) en la *Guía para desarrolladores de AWS Config*.

------