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
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.
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 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 insertadas en la Guía del usuario de IAM y Cómo especificar roles de IAM personalizados al crear un clúster.
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:
Cómo especificar roles de IAM personalizados 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 EC2 a las instancias. De lo contrario, se producirá un EC2 error en la 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 Amazon EMR, un rol personalizado para el perfil de EC2 instancia y un rol de Auto Scaling personalizado mediante las opciones avanzadas. Al utilizar 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 Roles de servicio de IAM utilizados por Amazon EMR.
Utilícela AWS CLI para especificar funciones personalizadas
Puede especificar un rol de servicio para Amazon EMR y un rol 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. Utilice 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 en Amazon EMR.
Para especificar funciones de IAM personalizadas mediante el AWS CLI
-
El siguiente comando especifica la función de servicio personalizada y una función personalizada para el perfil de la EC2 instancia al lanzar un clúster.
MyCustomServiceRoleForEMR
MyCustomServiceRoleForClusterEC2Instances
Este ejemplo utiliza el rol de Amazon EMR 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.6.0
\ --applications Name=Hive Name=Pig --service-roleMyCustomServiceRoleForEMR
\ --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 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