Uso de funciones vinculadas a servicios para el registro anticipado - 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.

Uso de funciones vinculadas a servicios para el registro anticipado

Amazon EMR utiliza funciones vinculadas a AWS Identity and Access Management servicios (IAM). Un rol vinculado a un servicio es un tipo único de rol de IAM que se encuentra vinculado directamente a Amazon EMR. Amazon EMR predefine las funciones vinculadas al servicio e incluyen todos los permisos que el servicio requiere para llamar a otros AWS servicios en su nombre.

Los roles vinculados a servicios funcionan junto con el rol de servicio de Amazon EMR y el perfil de instancia de Amazon EC2 para Amazon EMR. Para obtener más información acerca del rol de servicio y del perfil de instancia, consulte Configuración de los roles de servicio de IAM de los permisos de Amazon EMR para los servicios y recursos de AWS.

Un rol vinculado a un servicio facilita la configuración de Amazon EMR, ya que no es necesario añadir manualmente los permisos necesarios. Amazon EMR define los permisos de sus funciones vinculadas a servicios y, a menos que se defina lo contrario, solo Amazon EMR puede asumir sus funciones. 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.

Puede eliminar este rol vinculado al servicio para Amazon EMR solo después de eliminar sus recursos relacionados y cancelar todos los clústeres de EMR de la cuenta. Esto protege sus recursos de Amazon EMR para que no pueda retirar inadvertidamente el permiso de acceso a los recursos.

Permisos de rol vinculados al servicio para el registro anticipado (WAL)

Amazon EMR utiliza la función vinculada al servicio AWSServiceRoleForEMRWALpara recuperar el estado de un clúster.

El rol AWSServiceRoleForEMRWAL vinculado al servicio confía en los siguientes servicios para asumir el rol:

  • emrwal.amazonaws.com

La política de EMRDescribeClusterPolicyForEMRWALpermisos del rol vinculado al servicio permite a Amazon EMR realizar las siguientes acciones en los recursos especificados:

  • Acción: DescribeCluster en *

Debe configurar los permisos para permitir que una entidad de IAM (en este caso, Amazon EMR WAL) cree, edite o elimine un rol vinculado a un servicio. Añada las siguientes declaraciones según sea necesario a la política de permisos de su perfil de instancia:

Para permitir que una entidad de IAM cree el rol vinculado al AWSServiceRoleForEMRWAL servicio

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", "iam:PutRolePolicy" ], "Resource": "arn:aws:iam::*:role/aws-service-role/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Para permitir que una entidad de IAM edite la descripción del rol vinculado al servicio AWSServiceRoleForEMRWAL

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/emrwal.amazonaws.com*/AWSServiceRoleForEMRWAL*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Para permitir que una entidad de IAM elimine el rol vinculado al servicio AWSServiceRoleForEMRWAL

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/elasticmapreduce.amazonaws.com*/AWSServiceRoleForEMRCleanup*", "Condition": { "StringLike": { "iam:AWSServiceName": [ "emrwal.amazonaws.com", "elasticmapreduce.amazonaws.com.cn" ] } } }

Creación de un rol vinculado a un servicio para Amazon EMR

No es necesario crear el rol manualmente. AWSServiceRoleForEMRWAL Amazon EMR crea este rol vinculado al servicio automáticamente al crear un espacio de trabajo de WAL con la CLI de EMRWAL o desde AWS CloudFormation, o HBase creará el rol vinculado al servicio cuando configure un espacio de trabajo para Amazon EMR WAL y el rol vinculado al servicio aún no existe. Debe tener permisos para crear un rol vinculado a un servicio. Para ver ejemplos de las declaraciones que añaden esta capacidad a la política de permisos de una entidad de IAM (como un usuario, un grupo o un rol), consulte la sección anterior. Permisos de rol vinculados al servicio para el registro anticipado (WAL)

Edición de un rol vinculado a un servicio para Amazon EMR

Amazon EMR no le permite editar el rol vinculado al AWSServiceRoleForEMRWAL servicio. Después de crear un rol vinculado al servicio, no puede cambiar el nombre del rol vinculado al servicio porque varias entidades pueden hacer referencia al rol vinculado al servicio. Sin embargo, puedes editar la descripción del rol vinculado al servicio mediante IAM.

Edición de la descripción de un rol vinculado a un servicio (consola de IAM)

Puede utilizar la consola de IAM para editar la descripción de un rol vinculado a un servicio.

Para editar la descripción de un rol vinculado a un servicio (consola)
  1. En el panel de navegación de la consola de IAM, elija Roles.

  2. Seleccione el nombre del rol que desea modificar.

  3. En el extremo derecho de Descripción del rol, seleccione Editar.

  4. Ingrese una descripción nueva en el cuadro y elija Save changes (Guardar cambios).

Edición de la descripción de un rol vinculado a un servicio (CLI de IAM)

Puede utilizar los comandos de IAM del AWS Command Line Interface para editar la descripción de un rol vinculado a un servicio.

Para cambiar la descripción de un rol vinculado a un servicio (CLI)
  1. (Opcional) Para ver la descripción actual de un rol, ejecute uno de los siguientes comandos:

    $ aws iam get-role --role-name role-name

    Utilice el nombre del rol, no el ARN, para hacer referencia a los roles con los comandos de CLI. Por ejemplo, si un rol tiene el ARN arn:aws:iam::123456789012:role/myrole, debe referirse a él como myrole.

  2. Para actualizar la descripción de un rol vinculado a un servicio, ejecute uno de los siguientes comandos:

    $ aws iam update-role-description --role-name role-name --description description

Edición de la descripción de un rol vinculado a un servicio (API de IAM)

Puede utilizar la API de IAM para editar la descripción de un rol vinculado a un servicio.

Para cambiar la descripción de un rol vinculado a un servicio (API)
  1. (Opcional) Para ver la descripción actual de una función, ejecute el siguiente comando:

    API de IAM: GetRole

  2. Para actualizar la descripción de una función, use el siguiente comando:

    API de IAM: UpdateRoleDescription

Eliminación de un rol vinculado a un servicio para Amazon EMR

Si ya no necesita usar una función o un servicio que requiera un rol vinculado a un servicio, le recomendamos que elimine ese rol vinculado al servicio. De esta forma, no tendrá una entidad no utilizada cuya supervisión o mantenimiento no se realizan de forma activa. Sin embargo, debe limpiar el rol vinculado al servicio antes de eliminarlo.

nota

La operación de registro de escritura anticipada no se ve afectada si eliminas la AWSServiceRoleForEMRWAL función, pero Amazon EMR no eliminará automáticamente los registros que creó una vez que el clúster de EMR finalice. Por lo tanto, tendrá que eliminar manualmente los registros WAL de Amazon EMR si elimina la función vinculada al servicio.

Limpiar un rol vinculado a servicios

Antes de poder utilizar IAM para eliminar un rol vinculado a un servicio, primero debe confirmar que dicho rol no tiene sesiones activas y eliminar los recursos que utiliza.

Para comprobar si el rol vinculado a un servicio tiene una sesión activa en la consola de IAM
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles en el panel de navegación. Seleccione el nombre (no la casilla de verificación) del rol. AWSServiceRoleForEMRWAL

  3. En la página Summary (Resumen) del rol seleccionado, seleccione Access Advisor.

  4. En la pestaña Access Advisor, revise la actividad reciente del rol vinculado al servicio.

    nota

    Si no está seguro de si Amazon EMR utiliza el AWSServiceRoleForEMRWAL rol, puede intentar eliminar el rol vinculado al servicio. Si el servicio utiliza el rol, se produce un error al eliminarlo y puede ver las regiones en las que se utiliza el rol vinculado al servicio. Si se está utilizando el rol vinculado al servicio, debe esperar a que finalice la sesión para poder eliminar el rol vinculado al servicio. No se puede revocar la sesión de un rol vinculado a servicios.

Para eliminar los recursos de Amazon EMR utilizados por el AWSServiceRoleForEMRWAL
  • Termine todos los clústeres de su cuenta. Para obtener más información, consulte Terminar un clúster.

Eliminación de un rol vinculado a un servicio (consola de IAM)

Puede utilizar la consola de IAM para eliminar un rol vinculado a un servicio.

Para eliminar un rol vinculado a un servicio (consola)
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. Seleccione Roles en el panel de navegación. Seleccione la casilla de verificación situada junto a ella AWSServiceRoleForEMRWAL, no el nombre o la fila en sí.

  3. En Role actions (Acciones de rol) en la parte superior de la página, elija Delete role (Eliminar rol).

  4. En el cuadro de diálogo de confirmación, revise los datos del servicio al que se accedió por última vez, que muestran cuándo accedió por última vez a un AWS servicio cada uno de los roles seleccionados. Esto lo ayuda a confirmar si el rol está actualmente activo. Para continuar, elija Yes, Delete.

  5. Consulte las notificaciones de la consola de IAM para supervisar el progreso de la eliminación del rol vinculado al servicio. Como el proceso de eliminación del rol vinculado al servicio de IAM es asíncrono, dicha tarea puede realizarse correctamente o fallar después de que envía la solicitud de eliminación. Si la tarea no se realiza correctamente, puede seleccionar View details (Ver detalles) o View Resources (Ver recursos) desde las notificaciones para obtener información sobre el motivo por el que no se pudo eliminar el rol. Si la eliminación no pudo producirse porque hay recursos en el servicio que está utilizando el rol, entonces el motivo del error incluye una lista de recursos.

Eliminación de un rol vinculado a un servicio (CLI de IAM)

Puede utilizar los comandos de IAM desde el AWS Command Line Interface para eliminar un rol vinculado a un servicio. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Si estas condiciones no se cumplen, dicha solicitud se puede denegar.

Para eliminar un rol vinculado a un servicio (CLI)
  1. Para comprobar el estado de la tarea de eliminación, debe apuntar el valor de deletion-task-id de la respuesta. Escriba el siguiente comando para enviar una solicitud de eliminación de un rol vinculado a un servicio:

    $ aws iam delete-service-linked-role --role-name AWSServiceRoleForEMRWAL
  2. Escriba el siguiente comando para comprobar el estado de la tarea de eliminación:

    $ aws iam get-service-linked-role-deletion-status --deletion-task-id deletion-task-id

    El estado de la tarea de eliminación puede ser NOT_STARTED, IN_PROGRESS, SUCCEEDED o FAILED. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

Eliminación de un rol vinculado a un servicio (API de IAM)

Puede utilizar la API de IAM para eliminar un rol vinculado a un servicio. Como los roles vinculados a servicios no se puede eliminar si están en uso o tienen recursos asociados, debe enviar una solicitud de eliminación. Si estas condiciones no se cumplen, dicha solicitud se puede denegar.

Para eliminar un rol vinculado a un servicio (API)
  1. Para enviar una solicitud de eliminación de un rol vinculado a un servicio, llama. DeleteServiceLinkedRole En la solicitud, especifique el nombre del AWSServiceRoleForEMRWAL rol.

    Para comprobar el estado de la tarea de eliminación, debe apuntar el valor de DeletionTaskId de la respuesta.

  2. Para comprobar el estado de la eliminación, llame GetServiceLinkedRoleDeletionStatus. En la solicitud, especifique el valor de DeletionTaskId.

    El estado de la tarea de eliminación puede ser NOT_STARTED, IN_PROGRESS, SUCCEEDED o FAILED. Si ocurre un error durante la eliminación, la llamada devuelve el motivo del error para que pueda resolver el problema.

Regiones compatibles para AWSServiceRoleForEMRWAL

Amazon EMR admite el uso del rol AWSServiceRoleForEMRWAL vinculado al servicio en las siguientes regiones.

Nombres de las regiones Identidad de la región Compatibilidad en Amazon EMR
Este de EE. UU. (Norte de Virginia) us-east-1
Este de EE. UU. (Ohio) us-east-2
Oeste de EE. UU. (Norte de California) us-west-1
Oeste de EE. UU. (Oregón) us-west-2
Asia Pacífico (Mumbai) ap-south-1
Asia-Pacífico (Singapur) ap-southeast-1
Asia Pacífico (Sídney) ap-southeast-2
Asia-Pacífico (Tokio) ap-northeast-1
Europa (Fráncfort) eu-central-1
Europa (Irlanda) eu-west-1