

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Personalización de roles de IAM con Amazon EMR
<a name="emr-iam-roles-custom"></a>

Es posible que quiera personalizar los permisos y los roles de servicio de IAM para limitar los privilegios de acuerdo con los requisitos de seguridad. Para personalizar los permisos, le recomendamos que cree nuevos roles y políticas. Comience con los permisos de las políticas administradas para los roles predeterminados (por ejemplo, `AmazonElasticMapReduceforEC2Role` y `AmazonElasticMapReduceRole`). A continuación, copie y pegue el contenido de las nuevas instrucciones de política, modifique los permisos según corresponda y asocie las políticas de permisos modificadas a los roles que cree. Debe disponer de los permisos de IAM adecuados para trabajar con los roles y las políticas. Para obtener más información, consulte [Cómo permitir a los usuarios y grupos crear y modificar roles](emr-iam-roles-create-permissions.md).

Si crea un rol de EMR personalizado para EC2, siga el flujo de trabajo básico, que crea automáticamente un perfil de instancia con el mismo nombre. Amazon EC2 le permite crear roles y perfiles de instancia con nombres diferentes, pero Amazon EMR no admite esta configuración y se produce un error “Perfil de instancia no válido” al crear el clúster. 

**importante**  
Las políticas insertadas no se actualizan automáticamente cuando cambian los requisitos de servicio. Si crea y adjunta políticas insertadas, tenga en cuenta que se pueden producir actualizaciones de servicio que provoquen errores de permisos de forma repentina. Para obtener más información, consulte [Políticas administradas y políticas insertadas](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_managed-vs-inline.html) en la *Guía del usuario de IAM* y [Cómo especificar roles de IAM personalizados al crear un clúster](#emr-iam-roles-launch-jobflow).

Para obtener más información sobre cómo trabajar con los roles de IAM, consulte los siguientes temas en la *Guía del usuario de IAM*:
+  [Crear un rol para delegar permisos a un servicio AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html) 
+  [Modificación de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/modifying-role.html) 
+  [Eliminación de un rol](https://docs.aws.amazon.com/IAM/latest/UserGuide/deleting-roles.html) 

## Cómo especificar roles de IAM personalizados al crear un clúster
<a name="emr-iam-roles-launch-jobflow"></a>

El rol de servicio para Amazon EMR y el rol para el perfil de instancia de Amazon EC2 se especifican al crear un clúster. El usuario que crea los clústeres necesita permisos para recuperar y asignar roles a Amazon EMR y a las instancias de EC2. De lo contrario, se produce el error **La cuenta no tiene autorización para llamar a EC2**. Para obtener más información, consulte [Cómo permitir a los usuarios y grupos crear y modificar roles](emr-iam-roles-create-permissions.md).

### Uso de la consola para especificar roles personalizados
<a name="emr-iam-roles-launch-console"></a>

Cuando cree un clúster, puede especificar un rol de servicio personalizado para Amazon EMR, un rol personalizado para el perfil de instancia de EC2 y un rol de Auto Scaling personalizado mediante **Opciones avanzadas**. Si utiliza las **Quick options (Opciones rápidas)**, se especifican el rol de servicio y el rol para el perfil de instancia de EC2 predeterminados. Para obtener más información, consulte [Roles de servicio de IAM utilizados por Amazon EMR](emr-iam-service-roles.md).

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

**Especificar roles de IAM personalizados mediante la consola**

Al crear un clúster con la consola, debe especificar un rol de servicio personalizado para Amazon EMR y un rol personalizado para el perfil de instancia de EC2. Para obtener más información, consulte [Roles de servicio de IAM utilizados por Amazon EMR](emr-iam-service-roles.md).

1. [Inicie sesión en y abra la Consola de administración de AWS consola de Amazon EMR en https://console.aws.amazon.com /emr.](https://console.aws.amazon.com/emr)

1. En **EMR en EC2** situado en el panel de navegación izquierdo, elija **Clústeres** y, a continuación, elija **Crear clúster**.

1. En **Configuración y permisos de seguridad**, busque los campos **Rol de IAM para el perfil de instancia** y **Rol de servicio para Amazon EMR**. Seleccione un rol en la lista para cada tipo de rol. Solo aparecerán los roles de la cuenta que tengan la política de confianza adecuada para ese tipo de rol.

1. Elija cualquier otra opción que se aplique a su clúster. 

1. Para lanzar el clúster, elija **Crear clúster**.

------

### Utilícela AWS CLI para especificar funciones personalizadas
<a name="emr-iam-roles-launch-cli"></a>

Puede especificar un rol de servicio para Amazon EMR y un rol de servicio para las instancias de EC2 del clúster de forma explícita mediante las opciones con el comando `create-cluster` desde la AWS CLI. Utilice la opción `--service-role` para especificar el rol de servicio. Utilice el argumento `InstanceProfile` de la opción `--ec2-attributes` para especificar el rol para el perfil de instancia de EC2.

El rol de Auto Scaling se especifica mediante la opción `--auto-scaling-role`. Para obtener más información, consulte [Uso del escalado automático con una política personalizada para grupos de instancias en Amazon EMR](emr-automatic-scaling.md).

**Para especificar funciones de IAM personalizadas mediante el AWS CLI**
+ El siguiente comando especifica el rol de servicio personalizado *MyCustomServiceRoleForEMR* y el rol personalizado para el perfil de instancia de EC2 *MyCustomServiceRoleForClusterEC2Instances* al lanzar un clúster. Este ejemplo utiliza el rol de Amazon EMR predeterminado.
**nota**  
Se incluyen caracteres de continuación de línea de Linux (\$1) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

  ```
  aws emr create-cluster --name "Test cluster" --release-label emr-7.12.0 \
  --applications Name=Hive Name=Pig --service-role MyCustomServiceRoleForEMR \
  --ec2-attributes InstanceProfile=MyCustomServiceRoleForClusterEC2Instances,\
  KeyName=myKey --instance-type m5.xlarge --instance-count 3
  ```

Puede utilizar estas opciones para especificar roles predeterminados de forma explícita en lugar de usar la opción `--use-default-roles`. La opción `--use-default-roles` especifica el rol de servicio y el rol para el perfil de la instancia de EC2 que se ha definido en el archivo `config` de la AWS CLI.

El siguiente ejemplo muestra el contenido de un `config` archivo para AWS CLI las funciones personalizadas especificadas para Amazon EMR. Con este archivo de configuración, cuando se especifica la opción `--use-default-roles`, el clúster se crea con *MyCustomServiceRoleForEMR* y *MyCustomServiceRoleForClusterEC2Instances*. De forma predeterminada, el archivo `config` especifica el valor predeterminado `service_role` como `AmazonElasticMapReduceRole` y el valor predeterminado `instance_profile` como `EMR_EC2_DefaultRole`.

```
[default]
output = json
region = us-west-1
aws_access_key_id = myAccessKeyID
aws_secret_access_key = mySecretAccessKey
emr =
     service_role = MyCustomServiceRoleForEMR
     instance_profile = MyCustomServiceRoleForClusterEC2Instances
```