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
Requisitos previos
Una instancia de Identity Center en la AWS región en la que desea crear un punto final Apache Livy sin servidor EMR de propagación de identidad confiable. Una instancia de Identity Center solo puede existir en una sola región para una AWS cuenta. Consulte Habilitar el Centro de Identidad de IAM y aprovisionar los usuarios y grupos de su fuente de identidades al Centro de Identidad de IAM.
Habilite la propagación de identidades confiable para servicios descendentes como Lake Formation o S3 Access Grants o el clúster de Amazon Redshift con el que la carga de trabajo interactiva interactúa para acceder a los datos.
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.