Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Commencer à utiliser Trusted-Identity Propagation pour EMR sans serveur
Prérequis
Une instance de centre d'identité située dans la AWS région où vous souhaitez créer une propagation d'identité sécurisée a activé EMR Serverless Apache Livy Endpoint. Une instance d'Identity Center ne peut exister que dans une seule région pour un AWS compte. Reportez-vous à Activer le centre d'identité IAM et à fournir les utilisateurs et les groupes de votre source d'identités dans IAM Identity Center.
Activez la propagation fiable des identités pour les services en aval tels que Lake Formation ou S3 Access Grants ou le cluster Amazon Redshift avec lequel une charge de travail interactive interagit pour accéder aux données.
Autorisations requises pour créer une application EMR sans serveur compatible avec la propagation d'identités fiables
Outre les autorisations de base requises pour accéder à EMR sans serveur, vous devez configurer des autorisations supplémentaires pour votre identité ou votre rôle IAM utilisé pour créer une application EMR sans serveur compatible avec la propagation d'identités fiables. Pour la propagation d'identités fiables, EMR Serverless est creates/bootstraps un service unique qui gère l'application Identity Center dans votre compte, que le service utilise pour la validation de l'identité et la propagation de l'identité vers l'aval.
"sso:DescribeInstance", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope"
-
sso:DescribeInstance
— Accorde l'autorisation de décrire et de valider l'InstanceArn IAM Identity Center que vous spécifiez en paramètre. identity-center-configuration -
sso:CreateApplication
— Accorde l'autorisation de créer une application de centre d'identité IAM gérée sans serveur EMR qui est utilisée pour les actions. trusted-identity-propatgion -
sso:DeleteApplication
— autorise le nettoyage d'une application IAM Identity Center gérée sans serveur EMR -
sso:PutApplicationAuthenticationMethod
— Octroie l'autorisation d'installer AuthenticationMethod sur l'application IAM Identity Center gérée sans serveur EMR qui permet au principal du service sans serveur EMR d'interagir avec l'application IAM Identity Center. -
sso:PutApplicationAssignmentConfiguration
— Accorde l'autorisation de définir le paramètre « U ser-assignment-not-required » sur l'application IAM Identity Center. -
sso:PutApplicationGrant
— Autorise l'application des autorisations d'échange de jetons, IntrospectToken, RefreshToken et RevokeToken à une application IAM Identity Center. -
sso:PutApplicationAccessScope
— Accorde l'autorisation d'appliquer à l'application IAM Identity Center une étendue en aval activée par la propagation des identités fiables. Nous appliquons les champs d'application « redshift:connect », « lakeformation:query » et « s3:read_write » pour activer ces services. trusted-identity-propagation
Création d'une application EMR sans serveur compatible avec la propagation d'identités fiables
Vous devez spécifier —identity-center-configuration
le champ avec identityCenterInstanceArn
pour activer la propagation des identités fiables dans l'application. Utilisez l'exemple de commande suivant pour créer une application EMR sans serveur sur laquelle la propagation des identités fiables est activée.
Note
Vous devez également indiquer --interactive-configuration '{"livyEndpointEnabled":true}'
que la propagation des identités fiables est activée pour Apache Livy Endpoint uniquement.
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
— (facultatif) Active la propagation d'identités fiables par Identity Center si cela est spécifié.identityCenterInstanceArn
(obligatoire) : ARN de l’instance Identity Center
Si vous ne disposez pas des autorisations requises pour le centre d'identité (mentionnées ci-dessus), vous devez d'abord créer l'application EMR sans serveur sans propagation d'identité fiable (par exemple, ne pas spécifier de —identity-center-configuration
paramètre), puis demander à votre administrateur du centre d'identité d'activer la propagation de l'identité sécurisée en invoquant l'API de mise à jour de l'application, voir l'exemple ci-dessous :
aws emr-serverless update-application \ --application-id
applicationId
\ --identity-center-configuration '{"identityCenterInstanceArn" : "arn:aws:sso:::instance/ssoins-123456789"}'
EMR Serverless crée une application Identity Center gérée par service dans votre compte, que le service utilise pour les validations d'identité et la propagation des identités vers les services en aval. L'application Identity Center gérée créée par EMR Serverless est partagée entre toutes les applications trusted-identity-propagation EMR Serverless activées de votre compte.
Note
Ne modifiez pas manuellement les paramètres de l'application Identity Center gérée. Toute modification peut affecter toutes les applications EMR sans serveur trusted-identity-propagation activées dans votre compte.
Autorisations du rôle d'exécution des tâches pour propager l'identité
Comme EMR-Serverless utilise les job-execution-role informations d'identification améliorées pour propager l'identité aux services en aval AWS , la politique de confiance de Job Execution Role doit comporter des autorisations supplémentaires sts:SetContext
pour améliorer les informations d'identification du rôle d'exécution des tâches par une identité afin de les autoriser à accéder aux trusted-identity-propagation services en aval, tels que S3 access-grant, Lake Formation ou Amazon Redshift. Pour en savoir plus sur la création d'un rôle, voir Créer un rôle d'exécution de tâches.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "emr-serverless.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:SetContext"] } ] }
En outre, il JobExecutionRole faudrait des autorisations pour les AWS services en aval que job-run invoquerait pour récupérer des données en utilisant l'identité de l'utilisateur. Reportez-vous aux liens ci-dessous pour configurer S3 Access Grant, Lake Formation.