Cómo empezar con Trusted-Identity Propagation - 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.

Cómo empezar con Trusted-Identity Propagation

Esta sección le ayuda a configurar la aplicación EMR sin servidor con Apache Livy Endpoint para que se integre con AWS IAM Identity Center y permita la propagación de identidades confiable.

Requisitos previos

Permisos para crear una aplicación EMR sin servidor habilitada para la propagación de identidades confiables

Además de los permisos básicos necesarios para acceder a EMR sin servidor, debe configurar permisos adicionales para la identidad o rol de IAM que utilice para crear una aplicación de EMR sin servidor para la propagación de identidades de confianza. Para la propagación de identidades confiables, EMR Serverless, una aplicación de centro de identidad gestionada por creates/bootstraps un solo servicio en su cuenta que el servicio aprovecha para la validación de identidad y la propagación de la identidad en sentido descendente.

"sso:DescribeInstance", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope"
  • sso:DescribeInstance— Otorga permiso para describir y validar la instancia ARN de IAM Identity Center que especifique en el parámetro. identity-center-configuration

  • sso:CreateApplication— Otorga permiso para crear una aplicación de centro de identidad de IAM gestionada sin servidor EMR que se utilice para realizar acciones. trusted-identity-propatgion

  • sso:DeleteApplication: otorga permiso para limpiar una aplicación de IAM Identity Center administrada por EMR sin servidor.

  • sso:PutApplicationAuthenticationMethod: otorga permiso para colocar authenticationMethod en la aplicación de IAM Identity Center administrada por EMR sin servidor, lo que le permite a la entidad principal de servicio de EMR sin servidor interactuar con la aplicación de IAM Identity Center.

  • sso:PutApplicationAssignmentConfiguration— Otorga permiso para establecer la configuración «User-assignment-not-required» en la aplicación IAM Identity Center.

  • sso:PutApplicationGrant: otorga permiso para aplicar el intercambio de tokens, introspectToken, refreshToken y revokeToken en la aplicación de IAM Identity Center.

  • sso:PutApplicationAccessScope: otorga permiso para aplicar un alcance posterior que permita la propagación de identidades de confianza a la aplicación IAM Identity Center. Aplicamos los ámbitos «redshift:connect», «lakeformation:query» y «s3:read_write» para habilitar estos servicios. trusted-identity-propagation

Creación de una aplicación de EMR sin servidor para la propagación de identidades de confianza.

Se debe especificar el campo —identity-center-configuration con identityCenterInstanceArn para habilitar la propagación de identidades de confianza en la aplicación. Utilice el siguiente comando de ejemplo para crear una aplicación de EMR sin servidor que tenga habilitada la propagación de identidades de confianza.

nota

También debe especificar --interactive-configuration '{"livyEndpointEnabled":true}', ya que la propagación de identidades de confianza está habilitada únicamente para el punto de conexión de Apache Livy.

aws emr-serverless create-application \ --release-label emr-7.8.0 \ --type "SPARK" \ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}' \ --interactive-configuration '{"livyEndpointEnabled":true}'
  • identity-center-configuration (opcional): habilita la propagación de identidades de confianza de Identity Center si se especifica.

  • identityCenterInstanceArn: (obligatorio) el ARN de la instancia de Identity Center.

En caso de que no tenga los permisos de Identity Center necesarios (mencionados anteriormente), primero cree la aplicación de EMR sin servidor sin la propagación de identidades de confianza (por ejemplo, no especifique el parámetro —identity-center-configuration) y, luego, solicítele al administrador de Identity Center que habilite la propagación de identidades de confianza mediante la invocación de la API update-application. Vea un ejemplo a continuación:

aws emr-serverless update-application \ --application-id applicationId \ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}'

EMR sin servidor crea una aplicación de Identity Center administrada por un servicio en su cuenta que se utiliza para la validación y la propagación de identidades en los servicios posteriores. La aplicación de centro de identidad gestionada creada por EMR Serverless se comparte entre todas las aplicaciones trusted-identity-propagation EMR Serverless habilitadas de su cuenta.

nota

No modifique manualmente la configuración de la aplicación de Identity Center administrada. Cualquier cambio podría afectar a todas las aplicaciones EMR Serverless trusted-identity-propagation habilitadas en su cuenta.

Permisos del rol de ejecución del trabajo para propagar identidades

Dado que EMR-Serverless aprovecha job-execution-role las credenciales de identidad mejorada para propagar la identidad a los servicios descendentes AWS , la política de confianza de Job Execution Role debe tener un permiso adicional sts:SetContext para mejorar la credencial del rol de ejecución de trabajos con identidad a fin de permitir el trusted-identity-propagation servicio descendente, como S3 access-grant, Lake Formation o Amazon Redshift. Para obtener más información acerca de cómo crear un rol, consulte Create a job runtime role.

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

Además, necesita permisos para los servicios descendentes que Job-Run utilizaría para obtener datos JobExecutionRole utilizando la identidad del usuario. AWS Consulte los siguientes enlaces para configurar S3 Access Grant y Lake Formation.