View a markdown version of this page

Commencer à utiliser Trusted-Identity Propagation - Amazon EMR

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

Cette section vous aide à configurer EMR-Serverless l'application avec Apache Livy Endpoint pour l'intégrer à AWS IAM Identity Center et activer la propagation d'identités fiables.

Conditions préalables

  • 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 permettant de 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 dans le paramètre de configuration du centre d'identité.

  • sso:CreateApplication— Accorde l'autorisation de créer une application IAM Identity Center gérée sans serveur EMR qui est utilisée pour les actions de propagation d'identités fiables.

  • 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 User-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 permettre la propagation d'identités fiables vers ces services.

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 précédemment), créez d'abord l'application EMR sans serveur sans propagation d'identité fiable (par exemple, ne spécifiez pas de —identity-center-configuration paramètre), puis demandez à 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 de centre d'identité gérée EMR créée sans serveur est partagée entre toutes les applications EMR sans serveur compatibles avec la propagation d'identités fiables 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 compatibles avec la propagation d'identités fiables dans votre compte.

Autorisations du rôle d'exécution des tâches pour propager l'identité

Afin de EMR-Serverless tirer parti des informations d'identification du Identity-enhanced rôle d'exécution des tâches pour propager l'identité aux services en avalAWS, 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 permettre la propagation de l'identité fiable vers un service en aval, tel que S3 access-grant, Lake Formation ou Amazon Redshift. Pour en savoir plus sur la création d'un rôle, reportez-vous à la section Création d'un rôle d'exécution de tâches.

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

En outre, JobExecutionRole nécessite 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.