Sessioni interattive con IAM - AWS Glue

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 sulla sicurezza di AWS Glue sessioni interattive di.

IAMprincipali utilizzati con le sessioni interattive

Si utilizzano due IAM principi utilizzati con AWS Glue sessioni interattive di.

  • Principale client: il principale del client (un utente o un ruolo) autorizza API le operazioni per sessioni interattive da un AWS Glue client configurato con le credenziali basate sull'identità del principale. Ad esempio, potrebbe trattarsi di un IAM ruolo che in genere si utilizza per accedere al AWS Glue consolle. Potrebbe anche trattarsi di un ruolo fornito a un utente le IAM cui credenziali vengono utilizzate per il AWS Command Line Interface, o un AWS Glue client utilizzato dalle sessioni interattive del kernel Jupyter.

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

    Per ulteriori informazioni, consulta Configurazione di un ruolo runtime.

Configurazione di un principale del client

È necessario allegare una policy di identità al principale del client per consentirgli di chiamare le sessioni interattive diAPI. Questo ruolo deve avere iam:PassRole accesso al ruolo di esecuzione che si passa per le sessioni interattive diAPI, ad esempioCreateSession. Ad esempio, è possibile collegare la policy AWSGlueConsoleFullAccessgestita a un IAM ruolo che consente agli utenti nel tuo account con la policy collegata di accedere a tutte le sessioni create nel tuo account (ad esempio istruzione runtime o istruzione di annullamento).

Per proteggere la sessione e renderla privata solo per alcuni IAM ruoli, come quelli associati all'utente che ha creato la sessione, puoi utilizzare AWS Glue Chiamato il controllo di autorizzazione basato su tag di Interactive Session TagOnCreate. Per ulteriori informazioni, consulta Rendi privata la tua sessione con TagOnCreate per scoprire come una policy gestita basata su tag proprietario può rendere privata la sessione con. TagOnCreate Per ulteriori informazioni sulle policy basate sull'identità, consulta Policy basate sull'identità per AWS Glue.

Configurazione di un ruolo runtime

È necessario assegnare un IAM ruolo all'operazione per consentire CreateSession API AWS Glue per assumere ed eseguire istruzioni in sessioni interattive. Il ruolo deve avere le stesse IAM autorizzazioni di quelle necessarie per l'esecuzione delle operazioni tipiche AWS Glue lavoro. Ad esempio, è possibile creare un ruolo di servizio utilizzando la AWSGlueServiceRolepolicy che consente AWS Glue per chiamare AWS i servizi per tuo conto. Se utilizzi il plugin AWS Glue console, creerà automaticamente un ruolo di servizio per tuo conto o ne utilizzerà uno esistente. Puoi anche creare il tuo IAM ruolo personalizzato e allegare la IAM policy per concedere autorizzazioni simili.

Se si desidera proteggere la sessione e renderla privata solo per l'utente che ha creato la sessione, è possibile utilizzare AWS Glue Chiamato il controllo di autorizzazione basato su tag di Interactive Session TagOnCreate. Per ulteriori informazioni, consulta Rendi privata la tua sessione con TagOnCreate per scoprire come una policy gestita basata su tag proprietario può rendere privata la sessione con. TagOnCreate Per ulteriori informazioni sulle policy basate sull'identità, consulta la pagina Politiche basate sull'identità per Glue AWS. Se si sta creando autonomamente il ruolo di esecuzione dalla IAM console e si desidera rendere il servizio privato con TagOnCreate funzionalità, attenersi alla procedura riportata di seguito.

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

  2. Allegare questo AWS Glue politica gestita: AwsGlueSessionUserRestrictedServiceRole

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

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

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

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

Rendi privata la tua sessione con TagOnCreate

AWS Glue Le sessioni interattive di supportano i tag e l'autorizzazione basata su tag (TBAC) per le sessioni interattive come risorsa denominata. Oltre a TBAC utilizzare TagResource e, UntagResource APIs AWS Glue le sessioni interattive di supportano la TagOnCreate funzione per «taggare» una sessione con un determinato tag solo durante la creazione della sessione con CreateSession l'operazione. Ciò significa anche che questi tag verranno rimossi in DeleteSession, alias UntagOnDelete.

TagOnCreate offre un potente meccanismo di sicurezza per rendere la sessione privata per il creatore della sessione. Ad esempio, è possibile allegare una IAM policy con «proprietario» RequestTag e il valore di $ {aws:userId} a un principale del client (ad esempio un utente) per consentire la creazione di una sessione solo se un tag «proprietario» con il valore corrispondente dei chiamanti userId viene fornito come userId tag nella CreateSession richiesta. Questa politica consente AWS Glue sessioni interattive per la creazione di una risorsa di sessione e taggare la sessione con il userId tag solo durante il tempo di creazione della sessione. Oltre a ciò, puoi ridurre l'ambito dell'accesso (come istruzioni in esecuzione) alla tua sessione solo al creatore (ovvero il tag proprietario con il valore $ {aws:userId}) della sessione collegando una IAM policy con «proprietario» ResourceTag al ruolo di esecuzione passato durante CreateSession.

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

Se si desidera creare un AWS Glue Sessione interattiva che utilizza un IAM AssumeRole principale (ovvero utilizzando le credenziali distribuite assumendo un IAM ruolo) e se vuoi rendere la sessione privata per il creatore, quindi utilizza rispettivamente policy del AWSGlueSessionUserRestrictedNotebookPolicytipo e AWSGlueSessionUserRestrictedNotebookServiceRole Queste politiche consentono AWS Glue usare $ {aws:PrincipalTag} per estrarre il valore del tag proprietario. Ciò richiede di passare un userId tag con valore $ {aws:userId} come SessionTag nella credenziale del ruolo assunto. Consulta Tag della sessione ID. Se si utilizza un'EC2istanza Amazon con un profilo dell'istanza che distribuisce le credenziali e si desidera creare una sessione o interagire con la sessione dall'EC2istanza Amazon, è necessario passare un userId tag con valore $ {aws:userId} come SessionTag nella credenziale Assume ruolo.

Ad esempio, se si sta creando una sessione utilizzando una credenziale IAM AssumeRole principale e si desidera rendere il servizio privato con TagOnCreate funzionalità, attenersi alla procedura riportata di seguito.

  1. Crea tu stesso un ruolo runtime dalla IAM console di. Allegare questo AWS Glue policy gestita AwsGlueSessionUserRestrictedNotebookServiceRolee prefissa il nome del ruolo con il nome della policy. AwsGlueSessionUserRestrictedNotebookServiceRole Ad esempio, puoi creare un ruolo con nome AwsGlueSessionUserRestrictedNotebookServiceRole-myrole e allegare AWS Glue politica gestita. AwsGlueSessionUserRestrictedNotebookServiceRole

  2. Allegare una policy di attendibilità come di seguito per consentire AWS Glue per assumere il ruolo di cui sopra.

    { "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 il AWS Glue politica gestita AwsGlueSessionUserRestrictedNotebookPolicyper rendere privata la sessione. Oltre alla policy gestita, allega la seguente policy inline per consentire PassRole iam:al ruolo 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. Allegare una policy di attendibilità come di seguito a quanto riportato qui sopra 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, è possibile utilizzare un singolo ruolo (ad esempio, il ruolo notebook) e allegare entrambe le politiche gestite sopra riportate AwsGlueSessionUserRestrictedNotebookServiceRolee AwsGlueSessionUserRestrictedNotebookPolicy. Allega anche la policy inline aggiuntiva per consentire al tuo ruolo iam:passrole di AWS Glue. E infine allega la policy di attendibilità di cui sopra per consentire sts:AssumeRole ests:TagSession.

AWSGlueSessionUserRestrictedNotebookPolicy

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

AWSGlueSessionUserRestrictedNotebookServiceRole

AWSGlueSessionUserRestrictedNotebookServiceRoleFornisce un accesso sufficiente a AWS Glue Studio notebook per interagire con il AWS Glue Risorse interattive della sessione create con il valore del tag «proprietario» corrispondente 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 policy del ruolo di servizio è associata al ruolo passato come magic a un notebook o passato come ruolo di esecuzione a. CreateSession API Questa politica consente anche di creare un AWS Glue Sessioni interattive di da notebook solo se una chiave di tag «proprietario» e il valore corrispondono AWS all'ID utente del principale. Questa policy nega l'autorizzazione di modificare o rimuovere i tag «proprietario» da un AWS Glue risorsa di sessione dopo la creazione della sessione. Questa policy 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

È possibile collegare i AWSGlueSessionUserRestrictedPolicydue IAM ruoli collegati a ciascuno degli utenti nel 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 valore $ {aws:userId} dell'utente che ha creato la sessione con tag proprietario svelando il proprio $ {aws:userId}. Se hai creato personalmente il ruolo di esecuzione utilizzando la IAM console tramite la procedura descritta nella sezioneConfigurazione di un ruolo runtime, oltre a collegare la policy AwsGlueSessionUserRestrictedPolicygestita, collega anche la seguente policy inline a ciascuno degli utenti IAM del tuo account iam:PassRole per abilitare il ruolo di esecuzione 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 un AWS Glue Sessioni interattive che utilizzano CreateSession API solo se viene fornita una chiave tag «proprietario» e un valore corrispondente AWS all'ID utente. Questa policy di identità è collegata all'utente che richiama il. CreateSession API Questa politica consente anche di interagire con AWS Glue Risorse di sessione interattive create con un tag «proprietario» e un valore corrispondente all'ID AWS utente. Questa policy nega l'autorizzazione di modificare o rimuovere i tag «proprietario» da un AWS Glue risorsa di sessione dopo la creazione della sessione.

AWSGlueSessionUserRestrictedServiceRole

AWSGlueSessionUserRestrictedServiceRoleFornisce l'accesso completo a tutti AWS Glue 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 per AWS Glue per gestire le risorse Glue in altri AWS servizi. La policy consente anche l'aggiunta di tag a AWS Glue risorse in altri AWS servizi.

IAMconsiderazioni su policy

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

Se un amministratore ha allegato una IAM politica come AWSGlueConsoleFullAccess o AWSGlueServiceRole che consente l'accesso a tutti AWS Glue con le risorse disponibili in tale account, un principale del cliente sarà in grado di collaborare con ciascuna risorsa. Ad esempio, un utente sarà in grado di interagire con le sessioni create da altri utenti se le policy lo consentono.

Per configurare una policy su misura per le tue esigenze specifiche, consulta IAMla documentazione sulla configurazione delle risorse per una policy. Ad esempio, per isolare le sessioni che appartengono a un utente, è possibile utilizzare la TagOnCreate funzionalità supportata da AWS Glue Sessioni 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.