

# Descripción del bloqueo del acceso público de las AMI
<a name="block-public-access-to-amis"></a>

Para impedir que las AMI se compartan públicamente, habilite el *bloqueo del acceso público de las AMI* a nivel de cuenta.

Cuando el bloqueo del acceso público se habilita, cualquier intento de hacer pública una AMI se bloquea de manera automática. Sin embargo, si ya tiene AMI públicas, permanecerán disponibles públicamente.

Si quiere compartir públicamente las AMI, deberá deshabilitar el bloqueo del acceso público. Cuando haya terminado de compartir, se recomienda volver a habilitar el bloqueo del acceso público para evitar que sus AMI se compartan públicamente sin su consentimiento.

**nota**  
Este ajuste se configura a nivel de cuenta, ya sea directamente en la cuenta o mediante una política declarativa. Se debe configurar en cada Región de AWS en la que desea impedir que las AMI se compartan públicamente. El uso de una política declarativa permite aplicar la configuración en varias regiones simultáneamente, así como en varias cuentas simultáneamente. Cuando se utiliza una política declarativa, no se puede modificar la configuración directamente en una cuenta. En este tema se describe cómo configurar el ajuste directamente dentro de una cuenta. Para obtener información sobre el uso de políticas declarativas, consulte [Políticas declarativas](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) en la *Guía del usuario de AWS Organizations.*

Puede restringir los permisos de IAM a un usuario administrador para que solo esa persona pueda habilitar o deshabilitar el bloqueo del acceso público de las AMI.

**Topics**
+ [Configuración predeterminada](#block-public-access-to-amis-default-settings)
+ [Administración de la configuración del bloqueo del acceso público de las AMI](manage-block-public-access-for-amis.md)

## Configuración predeterminada
<a name="block-public-access-to-amis-default-settings"></a>

La configuración **bloquear el acceso público a las AMI** está habilitada o deshabilitada de forma predeterminada en función de si su cuenta es nueva o existente y de si tiene AMI públicas. En la tabla siguiente se muestra la configuración predeterminada:


| Cuenta de AWS | Configuración bloquear el acceso público a las AMI | 
| --- | --- | 
| Cuentas nuevas | Habilitado | 
|  Cuentas existentes sin AMI públicas ¹  | Habilitado | 
|  Cuentas existentes con una o varias AMI públicas  | Deshabilitado | 

¹ Si su cuenta tenía una o varias AMI públicas el 15 de julio de 2023 o después de esa fecha, la configuración **bloquear el acceso público a las AMI** está deshabilitada de forma predeterminada en su cuenta, aunque posteriormente haya hecho que todas las AMI sean privadas.

# Administración de la configuración del bloqueo del acceso público de las AMI
<a name="manage-block-public-access-for-amis"></a>

Puede administrar la configuración del bloqueo del acceso público de las AMI para controlar si se pueden compartir públicamente. Puede activar, desactivar o ver el estado actual del bloqueo del acceso público de las AMI mediante la consola de Amazon EC2 o la AWS CLI.

## Ver el estado del bloqueo del acceso público de las AMI
<a name="get-block-public-access-state-for-amis"></a>

Para comprobar si el uso compartido público de las AMI está bloqueado en su cuenta, puede ver el estado del bloqueo del acceso público de las AMI. Debe ver el estado en cada Región de AWS en la que desee comprobar si el uso compartido público de sus AMI está bloqueado.

**Permisos necesarios**  
Para obtener la configuración del bloqueo del acceso público de las AMI, debe contar con el permiso de IAM `GetImageBlockPublicAccessState`.

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

**Para ver el estado del bloqueo del acceso público de las AMI en la región especificada**

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

1. En la barra de navegación (en la parte superior de la pantalla), seleccione la región en la que desea ver el estado del bloqueo del acceso público de las AMI.

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

1. En la tarjeta **Atributos de cuenta**, en **Configuración**, elija **Protección y seguridad de datos**.

1. En **bloqueo del acceso público de las AMI**, active el campo **Acceso público**. El valor será **Nuevo uso compartido público bloqueado** o **Nuevo uso compartido público permitido**.

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

**Ver el estado del bloqueo del acceso público de las AMI**  
Utilice el comando [ get-image-block-public-access-state](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-image-block-public-access-state.html). El valor es `block-new-sharing` o `unblocked`.

**Ejemplo: Para una región específica**

```
aws ec2 get-image-block-public-access-state --region us-east-1
```

El campo `ManagedBy` indica la entidad que configuró el ajuste. En este ejemplo, `account` indica que el ajuste se configuró directamente en la cuenta. Un valor de `declarative-policy` significaría que el ajuste se configuró mediante una política declarativa. Para obtener más información, consulte [Políticas declarativas](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_policies_declarative.html) en la *Guía del usuario de AWS Organizations*.

```
{
    "ImageBlockPublicAccessState": "block-new-sharing",
    "ManagedBy": "account"
}
```

**Ejemplo: Para todas las regiones de su cuenta**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 get-image-block-public-access-state \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

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

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       unblocked
eu-west-3        block-new-sharing
...
```

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

**Ver el estado del bloqueo del acceso público de las AMI**  
Utilice el cmdlet [Get-EC2ImageBlockPublicAccessState](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageBlockPublicAccessState.html). El valor es `block-new-sharing` o `unblocked`.

**Ejemplo: Para una región específica**

```
Get-EC2ImageBlockPublicAccessState -Region us-east-1
```

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

```
block-new-sharing
```

**Ejemplo: Para todas las regiones de su cuenta**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
        [PSCustomObject]@{
            Region   = $_
            PublicAccessState = (Get-EC2ImageBlockPublicAccessState -Region $_)
        }
} | `
Format-Table -AutoSize
```

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

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

## Habilitar el bloqueo del acceso público de las AMI
<a name="enable-block-public-access-for-amis"></a>

Para impedir que sus AMI se compartan públicamente, habilite el bloqueo del acceso público de las AMI a nivel de cuenta. Debe habilitar el bloqueo del acceso público de las AMI en cada Región de AWS en la que desea impedir que se compartan públicamente sus AMI. Si ya tiene AMI públicas, permanecerán disponibles públicamente.

**Permisos necesarios**  
Para habilitar el bloqueo del acceso público de las AMI, debe contar con el permiso de IAM `EnableImageBlockPublicAccess`.

**Consideraciones**
+ Puede tardar hasta 10 minutos en configurar este ajuste. Durante este tiempo, si describe el estado del acceso público, la respuesta es `unblocked`. Cuando la configuración se haya completado, la respuesta es `block-new-sharing`.

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

**Para habilitar el bloqueo del acceso público de las AMI en la región especificada**

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

1. En la barra de navegación (en la parte superior de la pantalla), seleccione la región en la que desea habilitar el bloqueo del acceso público de las AMI.

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

1. En la tarjeta **Atributos de cuenta**, en **Configuración**, elija **Protección y seguridad de datos**.

1. En **bloqueo del acceso público de las AMI**, elija **Administrar**.

1. Seleccione la casilla de verificación **bloquear nuevo uso compartido público** y luego, elija **Actualizar**.

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

**Habilitar el bloqueo del acceso público de las AMI**  
Utilice el comando [enable-image-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/enable-image-block-public-access.html).

**Ejemplo: Para una región específica**

```
aws ec2 enable-image-block-public-access \
--region us-east-1 \
--image-block-public-access-state block-new-sharing
```

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

```
{ 
    "ImageBlockPublicAccessState": "block-new-sharing"
}
```

**Ejemplo: Para todas las regiones de su cuenta**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 enable-image-block-public-access \
            --region $region \
            --image-block-public-access-state block-new-sharing \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

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

```
Region           Public Access State
--------------   ----------------------
ap-south-1       block-new-sharing
eu-north-1       block-new-sharing
eu-west-3        block-new-sharing
...
```

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

**Habilitar el bloqueo del acceso público de las AMI**  
Utilice el comando [Enable-EC2ImageBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Enable-EC2ImageBlockPublicAccess.html).

**Ejemplo: Para una región específica**

```
Enable-EC2ImageBlockPublicAccess `
    -Region us-east-1 `
    -ImageBlockPublicAccessState block-new-sharing
```

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

```
Value
-----
block-new-sharing
```

**Ejemplo: Para todas las regiones de su cuenta**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (
        Enable-EC2ImageBlockPublicAccess `
         -Region $_ `
         -ImageBlockPublicAccessState block-new-sharing)
    }
} | `
Format-Table -AutoSize
```

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

```
Region         PublicAccessState
------         -----------------
ap-south-1     block-new-sharing
eu-north-1     block-new-sharing
eu-west-3      block-new-sharing
...
```

------

## Deshabilitar el bloqueo del acceso público de las AMI
<a name="disable-block-public-access-for-amis"></a>

Para permitir que los usuarios de su cuenta compartan públicamente sus AMI, deshabilite el bloqueo del acceso público a nivel de cuenta. Debe deshabilitar el bloqueo del acceso público de las AMI en cada Región de AWS en la que desea permitir que se compartan públicamente sus AMI.

**Permisos necesarios**  
Para inhabilitar el bloqueo del acceso público de las AMI, debe contar con el permiso de IAM `DisableImageBlockPublicAccess`.

**Consideraciones**
+ Puede tardar hasta 10 minutos en configurar este ajuste. Durante este tiempo, si describe el estado del acceso público, la respuesta es `block-new-sharing`. Cuando la configuración se haya completado, la respuesta es `unblocked`.

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

**Para deshabilitar el bloqueo del acceso público de las AMI en la región especificada**

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

1. En la barra de navegación (en la parte superior de la pantalla), seleccione la región en la que desea deshabilitar el bloqueo del acceso público de las AMI.

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

1. En la tarjeta **Atributos de cuenta**, en **Configuración**, elija **Protección y seguridad de datos**.

1. En **bloqueo del acceso público de las AMI**, elija **Administrar**.

1. Desactive la casilla de verificación **bloquear nuevo uso compartido público** y luego, elija **Actualizar**.

1. Cuando se le pida confirmación, ingrese **confirm** y elija **Permitir uso compartido**.

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

**Deshabilitar el bloqueo del acceso público de las AMI**  
Utilice el comando [disable-image-block-public-access](https://docs.aws.amazon.com/cli/latest/reference/ec2/disable-image-block-public-access.html).

**Ejemplo: Para una región específica**

```
aws ec2 disable-image-block-public-access --region us-east-1
```

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

```
{
   "ImageBlockPublicAccessState": "unblocked"
}
```

**Ejemplo: Para todas las regiones de su cuenta**

```
echo -e "Region   \t Public Access State" ; \
echo -e "-------------- \t ----------------------" ; \
for region in $(
    aws ec2 describe-regions \
        --region us-east-1 \
        --query "Regions[*].[RegionName]" \
        --output text
    ); 
    do (output=$(
        aws ec2 disable-image-block-public-access \
            --region $region \
            --output text)
        echo -e "$region \t $output" 
    );
done
```

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

```
Region           Public Access State
--------------   ----------------------
ap-south-1       unblocked
eu-north-1       unblocked
eu-west-3        unblocked
...
```

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

**Deshabilitar el bloqueo del acceso público de las AMI**  
Utilice el cmdlet [Disable-EC2ImageBlockPublicAccess](https://docs.aws.amazon.com/powershell/latest/reference/items/Disable-EC2ImageBlockPublicAccess.html).

**Ejemplo: Para una región específica**

```
Disable-EC2ImageBlockPublicAccess -Region us-east-1
```

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

```
Value
-----
unblocked
```

**Ejemplo: Para todas las regiones de su cuenta**

```
(Get-EC2Region).RegionName | `
    ForEach-Object {
    [PSCustomObject]@{
        Region            = $_
        PublicAccessState = (Disable-EC2ImageBlockPublicAccess -Region $_)
    }
} | `
Format-Table -AutoSize
```

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

```
Region         PublicAccessState
------         -----------------
ap-south-1     unblocked
eu-north-1     unblocked
eu-west-3      unblocked
...
```

------