

# Asociar un rol de IAM a una instancia
<a name="attach-iam-role"></a>

Puede crear un rol de IAM y adjuntarlo a una instancia durante el lanzamiento o después. También puede desasociar o sustituir roles de IAM.

**Crear y adjuntar un rol de IAM durante el lanzamiento de la instancia (recomendado)**

1. Durante el lanzamiento de la instancia EC2, amplíe la sección **Detalles avanzados.**

1. En la sección del **perfil de instancia de IAM**, elija **Crear un nuevo rol de IAM**.

1. Se abre un formulario de creación de roles en línea que le permite:
   + Especificar **el nombre del rol** (por ejemplo, `EC2-S3-Access-Role`)
   + Definir los permisos seleccionando políticas administradas de AWS o creando políticas personalizadas para su instancia

     Por ejemplo, para conceder acceso a S3, selecciona la política administrada de `AmazonS3ReadOnlyAccess`
   + Una política de confianza que permita a `ec2.amazonaws.com` asumir el rol
   + Añada etiquetas opcionales para los metadatos.

1. Elija **Creación de rol**.

   El rol recién creado se selecciona automáticamente y se adjuntará a la instancia mediante un perfil de instancia cuando se lance la instancia.

**nota**  
Cuando crea el rol para con la consola durante el lanzamiento d ela instancia, se crea automáticamente el perfil de instancia con el mismo nombre. Un perfil de instancia es un contenedor que pasa información del rol de IAM a una instancia en el momento del lanzamiento.

**importante**  
Solo puede adjuntar un rol de IAM a una instancia, pero puede adjuntar el mismo rol a muchas instancias.
Asocie las políticas de IAM con privilegios mínimos que restringen el acceso a las llamadas a la API específicas que requiere la aplicación.

Para obtener más información sobre la creación y el uso de roles de IAM, consulte [Roles](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html) en la *Guía del usuario de IAM*.

**Adjuntar un rol de IAM existente durante el lanzamiento de la instancia**  
Para asociar un rol de IAM existente a una instancia en el momento del lanzamiento mediante la consola de Amazon EC2, amplíe **Detalles avanzados**. En **perfil de instancia de IAM**, seleccione el rol de IAM de la lista desplegable.

**nota**  
Si creó su rol de IAM con la consola de IAM, el perfil de instancia se creó en su nombre y se le dio el mismo nombre que el rol. Si creó el rol de IAM con la AWS CLI, la API o un SDK de AWS, es posible que le haya dado un nombre distinto al del rol a su perfil de instancias.

Puede asociar un rol de IAM a una instancia que esté en ejecución o detenida. Si la instancia ya tiene un rol de IAM asociado, debes sustituirlo por el nuevo rol de IAM.

------
#### [ Console ]<a name="attach-iam-role-console"></a>

**Para asociar un rol de IAM con una instancia**

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. Elija **Actions** (Acciones), **Security** (Seguridad), **Modify IAM role** (Modificar rol de IAM).

1. En **Rol de IAM**, seleccione el perfil de instancia de IAM.

1. Elija **Actualizar rol de IAM**.

------
#### [ AWS CLI ]
<a name="attach-iam-role-instance-cli"></a>
**Para asociar un rol de IAM con una instancia**  
Use el comando [associate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/associate-iam-instance-profile.html) para asociar el rol de IAM a la instancia. Cuando especifique el perfil de instancia, puede utilizar el nombre de recurso de Amazon (ARN) del perfil de instancia o bien puede usar el nombre de este.

```
aws ec2 associate-iam-instance-profile \
    --instance-id i-1234567890abcdef0 \
    --iam-instance-profile Name="TestRole-1"
```

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

**Para asociar un rol de IAM con una instancia**  
Utilice el cmdlet [Register-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Register-EC2IamInstanceProfile.html).

```
Register-EC2IamInstanceProfile `
    -InstanceId i-1234567890abcdef0 `
    -IamInstanceProfile_Name TestRole-1
```

------

Para reemplazar el rol de IAM en una instancia que ya tiene un rol de IAM asociado, la instancia debe estar ejecutándose . Puede hacerlo si desea cambiar el rol de IAM de una instancia sin disociar primero el existente. Por ejemplo, puede hacer esto para asegurarse de que no se interrumpan las acciones de API realizadas por las aplicaciones que se ejecutan en la instancia.

------
#### [ Console ]<a name="replace-iam-role-console"></a>

**Para reemplazar un rol de IAM de una instancia**

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. Elija **Actions** (Acciones), **Security** (Seguridad), **Modify IAM role** (Modificar rol de IAM).

1. En **Rol de IAM**, seleccione el perfil de instancia de IAM.

1. Elija **Actualizar rol de IAM**.

------
#### [ AWS CLI ]<a name="replace-iam-role-cli"></a>

**Para reemplazar un rol de IAM de una instancia**

1. Si es necesario, utilice el comando [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) para obtener el ID de asociación.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Utilice el comando [replace-iam-instance-profile-association](https://docs.aws.amazon.com/cli/latest/reference/ec2/replace-iam-instance-profile-association.html). Especifique el ID de asociación del perfil de instancia existente y el ARN o el nombre del nuevo perfil de instancia.

   ```
   aws ec2 replace-iam-instance-profile-association \
       --association-id iip-assoc-0044d817db6c0a4ba \
       --iam-instance-profile Name="TestRole-2"
   ```

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

**Para reemplazar un rol de IAM de una instancia**

1. Si es necesario, utilice el cmdlet [Get-EC2IAMInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html) para obtener el ID de asociación.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Utilice el cmdlet [Set-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Set-EC2IamInstanceProfileAssociation.html). Especifique el ID de asociación del perfil de instancia existente y el ARN o el nombre del nuevo perfil de instancia.

   ```
   Set-EC2IamInstanceProfileAssociation `
       -AssociationId iip-assoc-0044d817db6c0a4ba `
       -IamInstanceProfile_Name TestRole-2
   ```

------

Puede separar un rol IAM de una instancia que está en ejecución o detenida.

------
#### [ Console ]<a name="detach-iam-role-console"></a>

**Para separar un rol de IAM de una instancia**

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. Elija **Actions** (Acciones), **Security** (Seguridad), **Modify IAM role** (Modificar rol de IAM).

1. En **Rol de IAM**, elija **Sin rol de IAM**.

1. Elija **Actualizar rol de IAM**.

1. Cuando se le pida confirmación, introduzca **Desconectar** y, a continuación, elija **Desconectar**.

------
#### [ AWS CLI ]<a name="detach-iam-role-cli"></a>

**Para separar un rol de IAM de una instancia**

1. Si es necesario, utilice [describe-iam-instance-profile-associations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-iam-instance-profile-associations.html) para obtener el ID de asociación del perfil de instancia de IAM que quiere desasociar.

   ```
   aws ec2 describe-iam-instance-profile-associations \
       --filters Name=instance-id,Values=i-1234567890abcdef0 \
       --query IamInstanceProfileAssociations.AssociationId
   ```

1. Utilice el comando [disassociate-iam-instance-profile](https://docs.aws.amazon.com/cli/latest/reference/ec2/disassociate-iam-instance-profile.html).

   ```
   aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-0044d817db6c0a4ba
   ```

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

**Para separar un rol de IAM de una instancia**

1. Si es necesario, utilice [Get-EC2IamInstanceProfileAssociation](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2IamInstanceProfileAssociation.html) para obtener el ID del perfil de instancia de IAM que quiere desasociar.

   ```
   (Get-EC2IamInstanceProfileAssociation -Filter @{Name="instance-id"; Values="i-0636508011d8e966a"}).AssociationId
   ```

1. Utilice el cmdlet [Unregister-EC2IamInstanceProfile](https://docs.aws.amazon.com/powershell/latest/reference/items/Unregister-EC2IamInstanceProfile.html).

   ```
   Unregister-EC2IamInstanceProfile -AssociationId iip-assoc-0044d817db6c0a4ba
   ```

------