Uso de rRoles vinculados al servicio de EMR sin servidor - Amazon EMR

Uso de rRoles vinculados al servicio de EMR sin servidor

Amazon EMR sin servidor utiliza roles vinculados a un servicio de AWS Identity and Access Management (IAM). Un rol vinculado a un servicio es un tipo único de rol de IAM que está vinculado directamente a un EMR sin servidor. Los roles vinculados a servicios son predefinidos por EMR sin servidor e incluyen todos los permisos que el servicio requiere para llamar a otros servicios de AWS en su nombre.

Un rol vinculado a un servicio simplifica la configuración de EMR sin servidor porque ya no tendrá que añadir manualmente los permisos necesarios. EMR sin servidor define los permisos de sus roles vinculados a los servicios y, a menos que esté definido de otra manera, solo EMR sin servidor puede asumir sus roles. Los permisos definidos incluyen las políticas de confianza y de permisos, y que la política de permisos no se pueda adjuntar a ninguna otra entidad de IAM.

Solo es posible eliminar un rol vinculado a un servicio después de eliminar sus recursos relacionados. De esta forma se protegen los recursos de EMR sin servidor, ya que evita que se puedan eliminar accidentalmente permisos de acceso a los recursos.

Para obtener información sobre otros servicios que admiten roles vinculados a servicios, consulte Servicios de AWS que funcionan con IAM y busque los servicios que muestran Yes (Sí) en la columna Roles vinculados a servicios. Elija una opción con un enlace para ver la documentación acerca del rol vinculado al servicio en cuestión.

Permisos de rol vinculados a servicios para EMR sin servidor

utiliza el rol vinculado a servicio denominado AWSServiceRoleForAmazonEMRServerless para permitir que llame a las API de AWS en su nombre.

El rol vinculado al servicio AWSServiceRoleForAmazonEMRServerless confía en que los siguientes servicios asuman el rol:

  • ops.emr-serverless.amazonaws.com

La política de permisos del rol denominada AmazonEMRServerlessServiceRolePolicy permite que EMR sin servidor realice las siguientes acciones en los recursos especificados:

nota

El contenido de las políticas administradas cambia, por lo que es posible que la política que mostramos aquí se haya quedado obsoleta. Puede ver la versión más actualizada de AmazonEMRServerlessServiceRolePolicy en la AWS Management Console.

  • Acción: ec2:CreateNetworkInterface

  • Acción: ec2:DeleteNetworkInterface

  • Acción: ec2:DescribeNetworkInterfaces

  • Acción: ec2:DescribeSecurityGroups

  • Acción: ec2:DescribeSubnets

  • Acción: ec2:DescribeVpcs

  • Acción: ec2:DescribeDhcpOptions

  • Acción: ec2:DescribeRouteTables

  • Acción: cloudwatch:PutMetricData

La siguiente política es la política AmazonEMRServerlessServiceRolePolicy completa.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "EC2PolicyStatement", "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DeleteNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Sid": "CloudWatchPolicyStatement", "Effect": "Allow", "Action": [ "cloudwatch:PutMetricData" ], "Resource": [ "*" ], "Condition": { "StringEquals": { "cloudwatch:namespace": [ "AWS/EMRServerless", "AWS/Usage" ] } } } ] }

Para permitir que el servicio principal de EMR sin servidor asuma este rol, adjunte la siguiente política de confianza al rol.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "ops.emr-serverless.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Debe configurar permisos para permitir a una entidad de IAM (como un usuario, grupo o rol) crear, editar o eliminar un rol vinculado a servicios. Para obtener más información, consulte Permisos de roles vinculados a servicios en la Guía del usuario de IAM.

Creación de un rol vinculado a un servicio para EMR sin servidor

No necesita crear manualmente un rol vinculado a servicios. Cuando cree una nueva aplicación de EMR sin servidor en la AWS Management Console (mediante EMR Studio), el AWS CLI o la API de AWS, EMR sin servidor crea el rol vinculado al servicio por usted. Debe configurar permisos para permitir a una entidad de IAM (como un usuario, grupo o rol) crear, editar o eliminar un rol vinculado a servicios.

Para crear un rol vinculado a un servicio AWSServiceRoleForAmazonEMRServerless con IAM

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que crear el rol vinculado al servicio:

{ "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*", "Condition": {"StringLike": {"iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"}} }

Si elimina este rol vinculado a servicios y necesita crearlo de nuevo, puede utilizar el mismo proceso para volver a crear el rol en su cuenta. Al crear una nueva aplicación de EMR sin servidor, este se encarga nuevamente de crear el rol vinculado a servicios.

Puede utilizar la consola de IAM para crear un rol vinculado a servicios con el caso de uso EMR sin servidor. En la AWS CLI o la API de AWS, cree un rol vinculado al servicio con el nombre de servicio ops.emr-serverless.amazonaws.com. Para obtener más información, consulte Creación de un rol vinculado a un servicio en la Guía del usuario de IAM. Si elimina este rol vinculado al servicio, puede utilizar este mismo proceso para volver a crear el rol.

Edición de un rol vinculado a un servicio para EMR sin servidor

EMR sin servidor no permite editar el rol vinculado al servicio AWSServiceRoleForAmazonEMRServerless. No puede editar la política de IAM de propiedad de AWS que utiliza el rol vinculado al servicio de EMR sin servidor ya que contiene todos los permisos que necesita EMR sin servidor. Sin embargo, puede editar la descripción del rol mediante IAM.

Para editar la descripción del rol vinculado a un servicio AWSServiceRoleForAmazonEMRServerless con IAM

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que editar la descripción del rol vinculado al servicio.

{ "Effect": "Allow", "Action": [ "iam: UpdateRoleDescription" ], "Resource": "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*", "Condition": {"StringLike": {"iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"}} }

Para obtener más información, consulte Editar un rol vinculado a servicios en la Guía del usuario de IAM.

Eliminación de un rol vinculado a un servicio para EMR sin servidor

Si ya no necesita usar una característica o servicio que requieran un rol vinculado a un servicio, le recomendamos que elimine dicho rol. De esta forma no tiene una entidad no utilizada que no se supervise ni mantenga de forma activa. Sin embargo, debe eliminar todas las aplicaciones de EMR sin servidor de todas las regiones para poder eliminar el rol vinculado a servicio.

nota

Si el servicio EMR sin servidor está utilizando el rol cuando intenta eliminar los recursos asociados al rol, la eliminación podría producir un error. En tal caso, espere unos minutos e intente de nuevo la operación.

Para eliminar un rol vinculado a un servicio AWSServiceRoleForAmazonEMRServerless con IAM

Agregue la siguiente instrucción a la política de permisos de la entidad de IAM que tiene que eliminar un rol vinculado al servicio.

{ "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*", "Condition": {"StringLike": {"iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"}} }

Eliminación manual del rol vinculado a servicios mediante IAM

Utilice la consola de IAM, la AWS CLI o la API de AWS para eliminar el rol vinculado a servicios AWSServiceRoleForAmazonEMRServerless. Para obtener más información, consulte Eliminación de un rol vinculado a servicios en la Guía del usuario de IAM.

Regiones admitidas para los roles vinculados a un servicio de EMR sin servidor

EMR sin servidor admite el uso de roles vinculados a servicios en todas las regiones en las que el servicio está disponible. Para obtener más información, consulte Puntos de conexión y Regiones de AWS.