Guida introduttiva a Trusted-Identity Propagation for EMR Serverless - Amazon EMR

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Guida introduttiva a Trusted-Identity Propagation for EMR Serverless

Questa sezione consente di configurare l'applicazione EMR-serverless con Apache Livy Endpoint per l'integrazione con AWS IAM Identity Center e abilitare la propagazione delle identità affidabili.

Prerequisiti

  • Un'istanza di Identity Center nella AWS regione in cui si desidera creare un endpoint EMR Serverless Apache Livy abilitato alla propagazione dell'identità affidabile. Un'istanza di Identity Center può esistere solo in una singola regione per un AWS account. Consulta Abilita IAM Identity Center e Fornisci utenti e gruppi dalla tua fonte di identità a IAM Identity Center.

  • Abilita la propagazione dell'identità affidabile per servizi downstream come Lake Formation o S3 Access Grants o il cluster Amazon Redshift con cui il carico di lavoro interattivo interagisce per accedere ai dati.

Autorizzazioni necessarie per creare un'applicazione EMR Serverless abilitata alla propagazione di identità affidabili

Oltre alle autorizzazioni di base necessarie per accedere a EMR Serverless, è necessario configurare autorizzazioni aggiuntive per l'identità o il ruolo IAM che vengono utilizzati per creare un'applicazione EMR Serverless abilitata alla propagazione delle identità affidabili. Per la propagazione di identità affidabili, EMR Serverless è un'applicazione Identity Center gestita da creates/bootstraps un unico servizio nell'account che il servizio sfrutta per la convalida dell'identità e la propagazione dell'identità a valle.

"sso:DescribeInstance", "sso:CreateApplication", "sso:DeleteApplication", "sso:PutApplicationAuthenticationMethod", "sso:PutApplicationAssignmentConfiguration", "sso:PutApplicationGrant", "sso:PutApplicationAccessScope"
  • sso:DescribeInstance— Concede l'autorizzazione a descrivere e convalidare l'IAM Identity Center InstanceARN specificato nel parametro. identity-center-configuration

  • sso:CreateApplication— Concede l'autorizzazione a creare un'applicazione IAM Identity Center gestita senza server EMR che viene utilizzata per le azioni. trusted-identity-propatgion

  • sso:DeleteApplication— concede l'autorizzazione a pulire un'applicazione IAM Identity Center gestita da EMR Serverless

  • sso:PutApplicationAuthenticationMethod— Concede l'autorizzazione a inserire AuthenticationMethod sull'applicazione IAM Identity Center gestita senza server EMR che consente al service principal di emr-serverless di interagire con l'applicazione IAM Identity Center.

  • sso:PutApplicationAssignmentConfiguration— Concede l'autorizzazione a impostare l'impostazione «U» sull'applicazione IAM Identity Center. ser-assignment-not-required

  • sso:PutApplicationGrant— Concede l'autorizzazione ad applicare le concessioni token-exchange, IntrospectToken, RefreshToken e revokeToken su un'applicazione IAM Identity Center.

  • sso:PutApplicationAccessScope— Concede l'autorizzazione ad applicare l'ambito downstream abilitato alla propagazione dell'identità affidabile all'applicazione IAM Identity Center. Applichiamo gli ambiti «redshift:connect», «lakeformation:query» e «s3:read_write» per abilitare questi servizi. trusted-identity-propagation

Creare un'applicazione serverless EMR con funzionalità di propagazione delle identità affidabili

È necessario specificare il —identity-center-configuration campo con per abilitare la propagazione dell'identityCenterInstanceArnidentità affidabile nell'applicazione. Utilizzare il comando di esempio seguente per creare un'applicazione EMR Serverless con la propagazione delle identità affidabili abilitata.

Nota

È inoltre necessario specificare che la propagazione dell'identità affidabile è --interactive-configuration '{"livyEndpointEnabled":true}' abilitata solo per 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— (opzionale) Abilita la propagazione delle identità attendibili di Identity Center, se specificata.

  • identityCenterInstanceArn: (obbligatorio) l'ARN dell'istanza del Centro identità.

Se non disponi delle autorizzazioni necessarie per Identity Center (menzionate sopra), dovresti prima creare l'applicazione EMR Serverless senza propagazione dell'identità affidabile (ad esempio, non —identity-center-configuration specificare il parametro) e successivamente chiedere all'amministratore dell'Identity Center di abilitare la propagazione dell'identità affidabile richiamando l'API update-application, vedi l'esempio seguente:

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

EMR Serverless crea nel tuo account un'applicazione Identity Center gestita dal servizio che il servizio sfrutta per la convalida dell'identità e la propagazione dell'identità ai servizi downstream. L'applicazione Identity Center gestita creata da EMR Serverless è condivisa tra tutte le applicazioni trusted-identity-propagation EMR Serverless abilitate presenti nell'account.

Nota

Non modificare manualmente le impostazioni sull'applicazione Identity Center gestita. Qualsiasi modifica potrebbe influire su tutte le applicazioni EMR Serverless trusted-identity-propagation abilitate nel tuo account.

Autorizzazioni Job Execution Role per propagare l'identità

Poiché EMR-Serverless sfrutta job-execution-role le credenziali potenziate dall'identità per propagare l'identità ai servizi downstream AWS , la policy di fiducia di Job Execution Role deve disporre di autorizzazioni aggiuntive sts:SetContext per migliorare le credenziali del ruolo di esecuzione del lavoro con l'identità per consentire il servizio downstream, come S3 access-grant, trusted-identity-propagation Lake Formation o Amazon Redshift. Per ulteriori informazioni su come creare un ruolo, consulta Creare un ruolo Job Runtime.

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

Inoltre, JobExecutionRole sarebbero necessarie le autorizzazioni per i AWS servizi downstream che job-run richiamerebbe per recuperare i dati utilizzando l'identità dell'utente. Fai riferimento ai link seguenti per configurare S3 Access Grant, Lake Formation.