Personaliza IAM los roles - Amazon EMR

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.

Personaliza IAM los roles

Es posible que desee personalizar las funciones y los permisos del IAM servicio para limitar los privilegios de acuerdo con sus 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 tener los IAM permisos adecuados para trabajar con funciones y políticas. Para obtener más información, consulte Cómo permitir a los usuarios y grupos crear y modificar roles.

Si crea un EMR rol personalizado paraEC2, siga el flujo de trabajo básico, que crea automáticamente un perfil de instancia con el mismo nombre. Amazon te EC2 permite crear perfiles de instancia y roles con nombres diferentes, pero Amazon EMR no admite esta configuración y se produce un error de «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 integradas en la Guía del IAM usuario yEspecifique IAM funciones personalizadas al crear un clúster.

Para obtener más información sobre cómo trabajar con IAM roles, consulte los siguientes temas de la Guía del IAM usuario:

Especifique IAM funciones personalizadas al crear un clúster

Al crear un clúster, debe especificar el rol de servicio para Amazon EMR y el rol para el perfil de EC2 instancia de Amazon. El usuario que crea los clústeres necesita permisos para recuperar y asignar funciones a Amazon EMR y a EC2 las instancias. De lo contrario, se producirá un EC2 error en una cuenta que no está autorizada a llamar. Para obtener más información, consulte Cómo permitir a los usuarios y grupos crear y modificar roles.

Uso de la consola para especificar roles personalizados

Al crear un clúster, puede especificar un rol de servicio personalizado para AmazonEMR, un rol personalizado para el perfil de EC2 instancia y un rol de Auto Scaling personalizado mediante las opciones avanzadas. Cuando utilizas las opciones rápidas, se especifican el rol de servicio predeterminado y el rol predeterminado para el perfil de la EC2 instancia. Para obtener más información, consulte IAMfunciones de servicio utilizadas por Amazon EMR.

Console
Para especificar IAM roles personalizados con la consola

Al crear un clúster con la consola, debes especificar un rol de servicio personalizado para Amazon EMR y un rol personalizado para el perfil de la EC2 instancia. Para obtener más información, consulte IAMfunciones de servicio utilizadas por Amazon EMR.

  1. Inicia sesión en la AWS Management Console EMR consola de Amazon y ábrela en https://console.aws.amazon.com/emr.

  2. EMREC2En el panel de navegación de la izquierda, selecciona Clústeres y, a continuación, selecciona Crear clúster.

  3. En Configuración de seguridad y permisos, busca el IAMrol, por ejemplo, el perfil y el rol de servicio para EMR los campos de Amazon. 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.

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

  5. Para lanzar el clúster, elija Crear clúster.

Usa el AWS CLI para especificar roles personalizados

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

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.

Para especificar IAM roles personalizados mediante el AWS CLI
  • El siguiente comando especifica el rol de servicio personalizado, MyCustomServiceRoleForEMR, y un rol personalizado para el perfil de la EC2 instancia, MyCustomServiceRoleForClusterEC2Instances, al lanzar un clúster. En este ejemplo, se utiliza el EMR rol de Amazon predeterminado.

    nota

    Se incluyen caracteres de continuación de línea de Linux (\) 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.2.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 --use-default-roles opción especifica la función de servicio y la función del perfil de EC2 instancia definido en el config archivo de AWS CLI.

El siguiente ejemplo muestra el contenido de un config archivo para AWS CLI las funciones personalizadas especificadas para AmazonEMR. Con este archivo de configuración, cuando se especifica la --use-default-roles opción, el clúster se crea mediante MyCustomServiceRoleForEMR y MyCustomServiceRoleForClusterEC2Instances. De forma predeterminada, el config archivo especifica el valor por defecto service_role como AmazonElasticMapReduceRole y el valor por defecto instance_profile comoEMR_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