Sessioni interattive con IAM - AWS Aderenza

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

Sessioni interattive con IAM

Queste sezioni descrivono le considerazioni sulle sessioni interattive AWS Glue.

IAMprincipi utilizzati nelle sessioni interattive

Si utilizzano due IAM principi utilizzati nelle sessioni AWS Glue interattive.

  • Client principal: il client principal (un utente o un ruolo) autorizza API le operazioni per le sessioni interattive da un AWS Glue client configurato con le credenziali basate sull'identità del principale. Ad esempio, questo potrebbe essere un IAM ruolo che utilizzi in genere per accedere alla console. AWS Glue Potrebbe trattarsi anche di un ruolo assegnato a un utente le IAM cui credenziali vengono utilizzate per il kernel AWS Command Line Interface Jupyter delle sessioni interattive o a un AWS Glue client utilizzato dalle sessioni interattive.

  • Ruolo di runtime: il ruolo di runtime è un IAM ruolo che il client principale trasferisce alle operazioni delle sessioni interattive. API AWS Glueutilizza questo ruolo per eseguire istruzioni nella sessione. Ad esempio, questo ruolo potrebbe essere quello utilizzato per l'esecuzione AWS Glue ETL di processi.

    Per ulteriori informazioni, consulta Configurazione di un ruolo runtime.

Configurazione di un principale del client

È necessario allegare una politica di identità al client principale per consentirgli di chiamare le sessioni interattiveAPI. Questo ruolo deve avere iam:PassRole accesso al ruolo di esecuzione che passeresti alle sessioni interattiveAPI, ad esempioCreateSession. Ad esempio, puoi allegare la politica AWSGlueConsoleFullAccessgestita a un IAM ruolo che consente agli utenti del tuo account a cui è associata la politica di accedere a tutte le sessioni create nell'account (come l'istruzione di runtime o l'istruzione di annullamento).

Se desideri proteggere la tua sessione e renderla privata solo per determinati IAM ruoli, come quelli associati all'utente che ha creato la sessione, puoi utilizzare il controllo di autorizzazione basato su tag di AWS Glue Interactive Session chiamato TagOnCreate. Per ulteriori informazioni, scopri Rendi privata la tua sessione con TagOnCreate in che modo una politica gestita basata su tag del proprietario e basata su tag del proprietario può rendere privata la tua sessione con. TagOnCreate Per ulteriori informazioni sulle politiche basate sull'identità, consulta Politiche basate sull'identità per. AWS Glue

Configurazione di un ruolo runtime

È necessario assegnare un IAM ruolo all' CreateSession APIoperazione per consentire l'assunzione e l'esecuzione di istruzioni in AWS Glue sessioni interattive. Il ruolo deve avere le stesse IAM autorizzazioni necessarie per eseguire un AWS Glue job tipico. Ad esempio, è possibile creare un ruolo di servizio utilizzando la AWSGlueServiceRolepolitica che consente di AWS Glue chiamare AWS i servizi per conto dell'utente. Se utilizzi la console AWS Glue, la console creerà automaticamente un ruolo di servizio per tuo conto o ne utilizzerà uno esistente. Puoi anche creare il tuo IAM ruolo e allegare la tua IAM politica per consentire autorizzazioni simili.

Se desideri proteggere la tua sessione e renderla privata solo per l'utente che ha creato la sessione, puoi utilizzare il controllo di autorizzazione basato su tag di AWS Glue Interactive Session chiamato TagOnCreate. Per ulteriori informazioni, scopri Rendi privata la tua sessione con TagOnCreate in che modo una politica gestita basata su tag proprietari e basata su tag del proprietario può rendere privata la tua sessione con. TagOnCreate Per ulteriori informazioni sulle policy basate sull'identità, consulta la pagina Politiche basate sull'identità per Glue AWS. Se stai creando il ruolo di esecuzione da solo dalla IAM console e desideri rendere privato il servizio con TagOnCreate funzionalità, procedi nel seguente modo.

  1. Crea un IAM ruolo con il tipo di ruolo impostato suGlue.

  2. Allega questa policy AWS Glue gestita: AwsGlueSessionUserRestrictedServiceRole

  3. Prefissa il nome del ruolo con il nome della politica. AwsGlueSessionUserRestrictedServiceRole Ad esempio, puoi creare un ruolo con name AwsGlueSessionUserRestrictedServiceRole-myrole e allegare AWS Glue una policy gestita. AwsGlueSessionUserRestrictedServiceRole

  4. Allegare una policy di attendibilità come di seguito per consentire a AWS Glue di assumere il ruolo:

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

Per le sessioni interattive del kernel Jupyter, puoi specificare la chiave nel tuo profilo. iam_role AWS Command Line Interface Per ulteriori informazioni, consulta Configurazione di sessioni con ~/.aws/config . Se stai interagendo con sessioni interattive usando un notebook AWS Glue, puoi passare il ruolo di esecuzione in %iam_role magic nella prima cella che esegui.

Rendi privata la tua sessione con TagOnCreate

AWS Gluele sessioni interattive supportano l'etichettatura e l'autorizzazione basata su tag (TBAC) per le sessioni interattive come risorsa denominata. Oltre a TBAC utilizzare TagResource and UntagResource APIs, le sessioni AWS Glue interattive supportano la TagOnCreate funzionalità di «etichettare» una sessione con un determinato tag solo durante la creazione della sessione con CreateSession operazione. Ciò significa anche che quei tag verranno rimossi il DeleteSession, alias UntagOnDelete.

TagOnCreate offre un potente meccanismo di sicurezza per rendere la sessione privata al creatore della sessione. Ad esempio, puoi allegare una IAM policy con «owner» RequestTag e valore $ {aws:userId} a un client principal (come un utente) per consentire la creazione di una sessione solo se CreateSession su richiesta userId viene fornito un tag «owner» con il valore corrispondente dei chiamanti. userId Questa politica consente alle sessioni AWS Glue interattive di creare una risorsa di sessione e contrassegnare la sessione con il userId tag solo durante la creazione della sessione. Inoltre, puoi limitare l'accesso (ad esempio le istruzioni in esecuzione) alla tua sessione solo al creatore (alias owner tag con valore $ {aws:userId}) della sessione allegando una IAM policy con «owner» ResourceTag al ruolo di esecuzione che hai assegnato durante CreateSession.

Per semplificare l'utilizzo della TagOnCreate funzionalità che rende privata una sessione per il creatore della sessione, AWS Glue fornisce politiche gestite e ruoli di servizio specializzati.

Se desideri creare una sessione AWS Glue interattiva utilizzando un IAM AssumeRole principale (ovvero utilizzando una credenziale fornita dall'assunzione di un IAM ruolo) e desideri rendere la sessione privata per il creatore, utilizza politiche simili rispettivamente a e. AWSGlueSessionUserRestrictedNotebookPolicyAWSGlueSessionUserRestrictedNotebookServiceRole Queste politiche consentono di AWS Glue utilizzare $ {aws:PrincipalTag} per estrarre il valore del tag owner. Ciò richiede il passaggio di un userId tag con valore $ {aws:userId} come SessionTag nella credenziale di assunzione del ruolo. Consulta Tag della sessione ID. Se utilizzi un'EC2istanza Amazon con un profilo di istanza che vende la credenziale e desideri creare una sessione o interagire con la sessione dall'interno dell'EC2istanza Amazon, dovrai passare un userId tag con valore $ {aws:userId} come SessionTag nella credenziale di assunzione del ruolo.

Ad esempio, se stai creando una sessione utilizzando una credenziale IAM AssumeRole principale e desideri rendere privato il tuo servizio con TagOnCreate funzionalità, procedi nel seguente modo.

  1. Crea tu stesso un ruolo di runtime dalla IAM console. Allega questa policy AWS Glue gestita AwsGlueSessionUserRestrictedNotebookServiceRolee aggiungi il prefisso al nome del ruolo con il nome AwsGlueSessionUserRestrictedNotebookServiceRoledella policy. Ad esempio, puoi creare un ruolo con nome AwsGlueSessionUserRestrictedNotebookServiceRole-myrole e allegare AWS Glue una policy gestita. AwsGlueSessionUserRestrictedNotebookServiceRole

  2. Allega una policy di attendibilità come di seguito per consentire ad AWS Glue di assumere il ruolo:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }
  3. Crea un altro ruolo denominato con un prefisso AwsGlueSessionUserRestrictedNotebookPolicye allega la policy AWS Glue gestita AwsGlueSessionUserRestrictedNotebookPolicyper rendere privata la sessione. Oltre alla policy gestita, allega la seguente policy in linea per consentire iam: PassRole al ruolo che hai creato nel passaggio 1.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/AwsGlueSessionUserRestrictedNotebookServiceRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }
  4. Allega una politica di fiducia come la seguente a quella precedente IAM AWS Glue per assumere il ruolo.

    { "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "Service": [ "glue.amazonaws.com" ] }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] }] }
    Nota

    Facoltativamente, puoi utilizzare un singolo ruolo (ad esempio, il ruolo notebook) e allegare entrambe le politiche gestite sopra elencate AwsGlueSessionUserRestrictedNotebookServiceRolee AwsGlueSessionUserRestrictedNotebookPolicy. Allega anche la policy inline aggiuntiva per consentire iam:passrole del tuo ruolo di AWS Glue. E infine allega la policy di fiducia di cui sopra per consentire sts:AssumeRole e sts:TagSession.

AWSGlueSessionUserRestrictedNotebookPolicy

AWSGlueSessionUserRestrictedNotebookPolicy Fornisce l'accesso per creare una sessione AWS Glue interattiva da un notebook solo se il tag chiave «proprietario» e il valore corrispondono AWS all'ID utente del principale (utente o ruolo). Per ulteriori informazioni, consulta Casi in cui è possibile utilizzare le variabili di policy. Questa policy è collegata al principale (utente o ruolo IAM) che crea notebook di sessioni interattive AWS Glue da AWS Glue Studio. Questa politica consente inoltre un accesso sufficiente al AWS Glue Studio notebook per interagire con le risorse della sessione AWS Glue Studio interattiva create con il valore del tag «owner» che corrisponde all'ID AWS utente del principale. Questa policy nega l'autorizzazione di modificare o rimuovere i tag "proprietario" da una risorsa di sessione AWS Glue dopo la creazione della sessione.

AWSGlueSessionUserRestrictedNotebookServiceRole

AWSGlueSessionUserRestrictedNotebookServiceRoleFornisce un accesso sufficiente al AWS Glue Studio notebook per interagire con le risorse della sessione AWS Glue interattiva create con il valore del tag «owner» che corrisponde all'ID AWS utente del principale (utente o ruolo) del creatore del notebook. Per ulteriori informazioni, consulta Casi in cui è possibile utilizzare le variabili di policy. Questa politica relativa ai ruoli di servizio è associata al ruolo che viene passato per magia a un notebook o passato come ruolo di esecuzione a. CreateSession API Questa politica consente inoltre di creare una sessione AWS Glue interattiva da un notebook solo se il tag chiave «proprietario» e il valore corrispondono AWS all'ID utente del principale. Questa policy nega l'autorizzazione di modificare o rimuovere i tag "proprietario" da una risorsa di sessione AWS Glue dopo la creazione della sessione. Questa politica include anche le autorizzazioni per la scrittura e la lettura da bucket Amazon S3, la CloudWatch scrittura di log, la creazione e l'eliminazione di tag per le risorse Amazon utilizzate da. EC2 AWS Glue

Rendere private le sessioni con gli utenti

Puoi associare i due IAM ruoli associati AWSGlueSessionUserRestrictedPolicya ciascuno degli utenti del tuo account per impedire loro di creare una sessione solo con un tag proprietario con un valore corrispondente al proprio $ {aws:}. userId Invece di utilizzare AWSGlueSessionUserRestrictedNotebookPolicye, è AWSGlueSessionUserRestrictedNotebookServiceRolenecessario utilizzare politiche simili AWSGlueSessionUserRestrictedServiceRolerispettivamente a AWSGlueSessionUserRestrictedPolicye. Per ulteriori informazioni, consulta la pagina Using identity based policies. Questa policy limita l'accesso a una sessione solo al creatore, il $ {aws:userId} dell'utente che ha creato la sessione con un tag proprietario che riporta il proprio $ {aws:userId}. Se hai creato tu stesso il ruolo di esecuzione utilizzando la IAM console seguendo i passaggi indicatiConfigurazione di un ruolo runtime, oltre ad allegare la policy AwsGlueSessionUserRestrictedPolicygestita, allega anche la seguente politica in linea a ciascuno degli utenti del tuo account iam:PassRole per consentire il ruolo di esecuzione che hai creato in precedenza.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/AwsGlueSessionUserRestrictedServiceRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } }] }

AWSGlueSessionUserRestrictedPolicy

AWSGlueSessionUserRestrictedPolicyFornisce l'accesso per creare una sessione AWS Glue interattiva utilizzando CreateSession API solo se vengono forniti un tag, una chiave «proprietario» e un valore corrispondenti al AWS relativo ID utente. Questa politica di identità è allegata all'utente che richiama il. CreateSession API Questa politica consente inoltre di interagire con le risorse della sessione AWS Glue interattiva che sono state create con un tag «proprietario» e un valore corrispondenti al relativo ID utente. AWS Questa policy nega l'autorizzazione di modificare o rimuovere i tag "proprietario" da una risorsa di sessione AWS Glue dopo la creazione della sessione.

AWSGlueSessionUserRestrictedServiceRole

AWSGlueSessionUserRestrictedServiceRoleFornisce l'accesso completo a tutte AWS Glue le risorse ad eccezione delle sessioni e consente agli utenti di creare e utilizzare solo le sessioni interattive associate all'utente. Questa politica include anche altre autorizzazioni necessarie AWS Glue per gestire le risorse Glue in altri AWS servizi. La politica consente inoltre di aggiungere tag alle AWS Glue risorse di altri AWS servizi.

IAMconsiderazioni politiche

Le sessioni interattive sono IAM risorse inAWS Glue. Poiché sono IAM risorse, l'accesso e l'interazione a una sessione sono regolati da IAM politiche. In base alle IAM politiche associate a un client principale o a un ruolo di esecuzione configurato da un amministratore, l'amministratore del client (utente o ruolo) sarà in grado di creare nuove sessioni e interagire con le proprie sessioni e con altre sessioni.

Se un amministratore ha allegato una IAM politica come AWSGlueConsoleFullAccess o AWSGlueServiceRole che consente l'accesso a tutte le AWS Glue risorse di quell'account, il responsabile del cliente sarà in grado di collaborare tra loro. Ad esempio, un utente sarà in grado di interagire con le sessioni create da altri utenti se le policy lo consentono.

Se desideri configurare una politica personalizzata in base alle tue esigenze specifiche, consulta IAMla documentazione sulla configurazione delle risorse per una politica. Ad esempio, per isolare le sessioni che appartengono a un utente, puoi utilizzare la TagOnCreate funzionalità supportata dalle sessioni AWS Glue interattive. Per informazioni, consulta Rendi privata la tua sessione con TagOnCreate .

Le sessioni interattive supportano la limitazione della creazione di sessioni in base a determinate VPC condizioni. Per informazioni, consulta Policy di controllo che controllano le impostazioni utilizzando le chiavi di condizione.