Configuración del acceso entre cuentas - 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.

Configuración del acceso entre cuentas

Para configurar el acceso entre cuentas de EMR sin servidor, complete los siguientes pasos. En el ejemplo, AccountA es la cuenta en la que creó la aplicación de Amazon EMR sin servidor y AccountB es la cuenta en la que se encuentra su Amazon DynamoDB.

  1. Cree una tabla DynamoDB en AccountB. Para obtener más información, consulte el Paso 1: cree una tabla.

  2. Cree un rol de IAM del Cross-Account-Role-B en la AccountB que pueda acceder a la tabla DynamoDB.

    1. Inicie sesión en la consola de IAM AWS Management Console y ábrala en https://console.aws.amazon.com/iam/.

    2. Elija Roles y cree un nuevo rol llamado Cross-Account-Role-B. Para obtener más información acerca de cómo crear roles de IAM, consulte Creación de roles de IAM en la Guía del usuario.

    3. Cree una política de IAM que conceda permisos para acceder a la tabla DynamoDB entre cuentas. Adjunte la política de IAM al Cross-Account-Role-B.

      A continuación se muestra una política que concede acceso a una tabla DynamoDB CrossAccountTable.

    4. Edite la relación de confianza del rol Cross-Account-Role-B.

      Para configurar la relación de confianza para el rol, elija la pestaña Relaciones de confianza en la consola de IAM para el rol que creó en el paso 2:. Cross-Account-Role-B

      Seleccione Editar relación de confianza y, a continuación, añada el siguiente documento de política. Este documento permite a Job-Execution-Role-A en AccountA asumir este rol Cross-Account-Role-B.

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": "arn:aws:iam::123456789012:role/Job-Execution-Role-A", "Sid": "AllowSTSAssumerole" } ] }
    5. Conceda a Job-Execution-Role-A en AccountA permisos - STS Assume role para asumir Cross-Account-Role-B.

      En la consola de IAM para Cuenta de AWS AccountA, seleccione. Job-Execution-Role-A Agregue la siguiente instrucción de política al Job-Execution-Role-A para denegar la acción AssumeRole en el rol Cross-Account-Role-B.

      JSON
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Resource": [ "arn:aws:iam::123456789012:role/Cross-Account-Role-B" ], "Sid": "AllowSTSAssumerole" } ] }
    6. Establezca la propiedad dynamodb.customAWSCredentialsProvider con un valor como com.amazonaws.emr.AssumeRoleAWSCredentialsProvider en la clasificación de sitios principales. Establezca localmente la variable de entorno ASSUME_ROLE_CREDENTIALS_ROLE_ARN con valor del ARN de Cross-Account-Role-B.

  3. Ejecute el trabajo de Spark o Hive usando Job-Execution-Role-A.