Esaminare le autorizzazioni IAM necessarie per i processi ETL - AWS Glue

Esaminare le autorizzazioni IAM necessarie per i processi ETL

Quando si crea un processo utilizzando AWS Glue Studio, il processo assume le autorizzazioni del ruolo IAM specificate al momento della creazione. Questo ruolo IAM deve avere le autorizzazioni per estrarre dati dall'origine dati, scriverli nella destinazione e accedere alle risorse AWS Glue.

Il nome del ruolo creato per il processo deve iniziare con la stringa AWSGlueServiceRole per poter essere usato correttamente da AWS Glue Studio. È ad esempio possibile denominare il proprio ruolo AWSGlueServiceRole-FlightDataJob.

Autorizzazioni origine dati e destinazione dati

Un processo AWS Glue Studio deve avere accesso ad Amazon S3 per le origini, le destinazioni, gli script e le directory temporanee che usi nel processo. Puoi creare una policy per fornire un accesso granulare a risorse Amazon S3 specifiche.

  • Le origini dati richiedono le autorizzazioni s3:ListBucket e s3:GetObject.

  • Le destinazioni dati richiedono le autorizzazioni s3:ListBucket, s3:PutObject e s3:DeleteObject.

Nota

La tua policy IAM deve consentire s3:GetObject per i bucket specifici utilizzati per ospitare le trasformazioni AWS Glue.

I seguenti bucket sono di proprietà dell'account del servizio AWS e sono leggibili in tutto il mondo. Questi bucket fungono da archivio per il codice sorgente pertinente a un sottoinsieme di trasformazioni accessibile tramite l'editor visivo AWS Glue Studio. Le autorizzazioni sul bucket sono configurate per negare qualsiasi altra azione dell'API sul bucket. Chiunque può leggere gli script che forniamo per le trasformazioni, ma nessuno al di fuori del nostro team di assistenza può “inserirvi” nulla. Quando il processo AWS Glue viene eseguito, il file viene importato in locale in modo che venga scaricato nel container locale. Dopodiché, non ci sono ulteriori comunicazioni con quell'account.

Regione: nome del bucket

  • af-south-1: aws-glue-studio-transforms-762339736633-prod-af-sud-1

  • ap-east-1: aws-glue-studio-transforms-125979764932-prod-ap-east-1

  • ap-northeast-2: aws-glue-studio-transforms-673535381443-prod-ap-northeast-2

  • ap-northeast-3: aws-glue-studio-transforms-149976050262-prod-ap-northeast-3

  • ap-south-1: aws-glue-studio-transforms-584702181950-prod-ap-south-1

  • ap-south-2: aws-glue-studio-transforms-380279651983-prod-ap-south-2

  • ap-southeast-1: aws-glue-studio-transforms-737106620487-prod-ap-southeast-1

  • ap-southeast-2: aws-glue-studio-transforms-234881715811-prod-ap-southeast-2

  • ap-southeast-3: aws-glue-studio-transforms-151265630221-prod-ap-southeast-3

  • ap-southeast-4: aws-glue-studio-transforms-052235663858-prod-ap-southeast-4

  • ca-central-1: aws-glue-studio-transforms-622716468547-prod-ca-central-1

  • ca-west-1: aws-glue-studio-transforms-915795495192-prod-ca-west-1

  • eu-central-1: aws-glue-studio-transforms-560373232017-prod-eu-central-1

  • eu-central-2: aws-glue-studio-transforms-907358657121-prod-eu-central-2

  • eu-north-1: aws-glue-studio-transforms-312557305497-prod-eu-nord-1

  • eu-south-1: aws-glue-studio-transforms-939684186351-prod-eu-south-1

  • eu-south-2: aws-glue-studio-transforms-239737454084-prod-eu-south-2

  • eu-west-1: aws-glue-studio-transforms-244479516193-prod-eu-west-1

  • eu-west-2: aws-glue-studio-transforms-804222392271-prod-eu-west-2

  • eu-west-3: aws-glue-studio-transforms-371299348807-prod-eu-west-3

  • il-central-1: aws-glue-studio-transforms-806964611811-prod-il-central-1

  • me-central-1: aws-glue-studio-transforms-733304270342-prod-me-central-1

  • me-south-1: aws-glue-studio-transforms-112120182341-prod-me-south-1

  • sa-east-1: aws-glue-studio-transforms-881619130292-prod-sa-east-1

  • us-east-1: aws-glue-studio-transforms-510798373988-prod-us-east-1

  • us-east-2: aws-glue-studio-transforms-251189692203-prod-us-east-2

  • us-west-1: aws-glue-studio-transforms-593230150239-prod-us-west-1

  • us-west-2: aws-glue-studio-transforms-818035625594-prod-us-west-2

  • ap-northeast-1: aws-glue-studio-transforms-200493242866-prod-ap-northeast-1

  • cn-north-1: aws-glue-studio-transforms-071033555442-prod-cn-north-1

  • cn-northwest-1: aws-glue-studio-transforms-070947029561-prod-cn-northwest-1

  • us-gov-west-1: aws-glue-studio-transforms-227493901923-prod-us-gov-west-1-2604

Se si sceglie Amazon Redshift come origine dati, è possibile fornire un ruolo per le autorizzazioni del cluster. Processi che vengono eseguiti su un cluster Amazon Redshift inviano comandi che accedono ad Amazon S3 per l'archiviazione temporanea utilizzando credenziali temporanee. Se il processo viene eseguito per più di un'ora, queste credenziali scadranno causando l'esito negativo del processo. Per evitare questo problema, puoi assegnare un ruolo al cluster Amazon Redshift stesso che concede le autorizzazioni necessarie ai processi utilizzando le credenziali temporanee. Per ulteriori informazioni, consulta Spostamento di dati da e verso Amazon Redshift nella Guida per gli sviluppatori di AWS Glue.

Se il processo utilizza origini dati o destinazioni diverse da Amazon S3, devi allegare le autorizzazioni necessarie al ruolo IAM utilizzato dal processo per accedere a tali origini dati e destinazioni. Per ulteriori informazioni, consulta Impostazione dell'ambiente per accedere a archivio dati nella Guida per gli sviluppatori di AWS Glue.

Se si utilizzano connettori e connessioni per l'archivio dati, è necessario disporre di autorizzazioni aggiuntive, come descritto in Autorizzazioni richieste per l'utilizzo dei connettori.

Autorizzazioni necessarie per l'eliminazione dei processi

In AWS Glue Studio, è possibile selezionare nella console più processi da eliminare. Per eseguire questa azione, è necessario disporre delle autorizzazioni glue:BatchDeleteJob. Diversamente, la console AWS Glue richiede l'autorizzazione glue:DeleteJob per l'eliminazione dei processi.

Autorizzazioni AWS Key Management Service

Se intendi accedere a origini e destinazioni Amazon S3 che utilizzano la crittografia lato server con AWS Key Management Service (AWS KMS), allega una policy al ruolo AWS Glue Studio utilizzato dal processo, che consente al processo di decrittare i dati. Il ruolo del processo necessita delle autorizzazioni kms:ReEncrypt, kms:GenerateDataKey e kms:DescribeKey. Richiede inoltre l'autorizzazione kms:Decrypt per caricare o scaricare un oggetto Amazon S3 crittografato con una chiave master del cliente AWS KMS (CMK)..

Sono previsti costi aggiuntivi per l'utilizzo delle chiavi CMK AWS KMS. Per ulteriori informazioni, consulta Concetti di AWS Key Management Service - Chiavi master cliente (CMK) in Prezzi di AWS Key Management Service e nella Guida per gli sviluppatori di AWS Key Management Service.

Autorizzazioni richieste per l'utilizzo dei connettori

Se usi una connessione e un connettore personalizzato AWS Glue per accedere a un archivio dati, il ruolo utilizzato per eseguire il processo ETL AWS Glue necessita di autorizzazioni aggiuntive allegate:

  • La policy gestita da AWS AmazonEC2ContainerRegistryReadOnly per accedere ai connettori acquistati da Marketplace AWS.

  • Le autorizzazioni glue:GetJob e glue:GetJobs.

  • Le autorizzazioni AWS Secrets Manager per accedere ai segreti utilizzati con le connessioni. Per le policy IAM di esempio, consulta Esempio: Autorizzazione per recuperare valori segreti.

Se il processo ETL AWS Glue viene eseguito all'interno di un VPC che esegue Amazon VPC, il VPC deve essere configurato come descritto in Configurazione di un VPC per il tuo processo ETL.