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

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 confiables.

Requisitos previos

Permisos necesarios para crear una aplicación EMR sin servidor habilitada para la propagación de identidad confiable

Además de los permisos básicos necesarios para acceder a EMR Serverless, debe configurar permisos adicionales para su identidad o función de IAM que se utilizan para crear una aplicación EMR Serverless habilitada para la propagación de identidades confiables. Para la propagación de identidades confiables, EMR Serverless, una aplicación de centro de identidad administrada 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— concede permiso para limpiar una aplicación de centro de identidad de IAM gestionada sin servidor EMR

  • sso:PutApplicationAuthenticationMethod— Otorga permiso para colocar AuthenticationMethod en la aplicación EMR Serverless Identity Center gestionada por EMR, que permite al director del servicio emr-serverless interactuar con la aplicación IAM Identity Center.

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

  • sso:PutApplicationGrant— Otorga permiso para aplicar las subvenciones de Token-Exchange, IntrospectToken, RefreshToken y RevokeToken a una aplicación del IAM Identity Center.

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

Cree una aplicación EMR sin servidor habilitada para la propagación de identidad confiable

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

nota

También debe especificarlo, --interactive-configuration '{"livyEndpointEnabled":true}' ya que la propagación de identidad confiable solo está habilitada para Apache Livy Endpoint.

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 identidad confiable 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 debe crear la aplicación EMR Serverless sin propagación de identidad confiable (por ejemplo, no especificar el —identity-center-configuration parámetro) y, más adelante, pedirle al administrador de Identity Center que habilite la propagación de identidad confiable invocando la API update-application, consulte el ejemplo siguiente:

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

EMR Serverless crea una aplicación de centro de identidad gestionada por el servicio en su cuenta que el servicio aprovecha para las validaciones de identidad y la propagación de la identidad a los servicios descendentes. 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 gestionada. Cualquier cambio podría afectar a todas las aplicaciones EMR Serverless trusted-identity-propagation habilitadas en su cuenta.

Permisos de Job Execution Role para propagar la identidad

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 sobre cómo crear un rol, consulte Crear un rol en tiempo de ejecución de un trabajo.

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

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