

# 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
...
```

------