Configurazione di più account AWS Glue accesso ad Athena per Spark - Amazon Athena

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

Configurazione di più account AWS Glue accesso ad Athena per Spark

Questo argomento mostra come gestire un account consumer 666666666666 e account del proprietario 999999999999 può essere configurato per più account AWS Glue accesso. Quando gli account sono configurati, l'account consumer può eseguire query da Athena for Spark sul sito del proprietario AWS Glue database e tabelle.

Fase 1: In AWS Glue, fornire l'accesso ai ruoli dei consumatori

In AWS Glue, il proprietario crea una politica che consente ai ruoli del consumatore di accedere a quelli del proprietario AWS Glue catalogo dati.

Per aggiungere un AWS Glue politica che consente a un ruolo di consumatore di accedere al catalogo dati del proprietario
  1. Utilizzando l'account del proprietario del catalogo, accedi a AWS Management Console.

  2. Apri il AWS Glue console all'indirizzo https://console.aws.amazon.com/glue/.

  3. Nel riquadro di navigazione, espandi Data Catalog, quindi seleziona Impostazioni catalogo.

  4. Nella pagina Impostazioni del catalogo dati, nella sezione Autorizzazioni, aggiungi una policy come quella che segue. Questa politica fornisce i ruoli per l'account consumatore 666666666666 accesso al catalogo dati nell'account del proprietario 999999999999.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "Cataloguers", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::666666666666:role/Admin", "arn:aws:iam::666666666666:role/AWSAthenaSparkExecutionRole" ] }, "Action": "glue:*", "Resource": [ "arn:aws:glue:us-west-2:999999999999:catalog", "arn:aws:glue:us-west-2:999999999999:database/*", "arn:aws:glue:us-west-2:999999999999:table/*" ] } ] }

Fase 2: Configurare l'account consumatore per l'accesso

Nell'account consumatore, crea una politica per consentire l'accesso a quello del proprietario AWS Glue Data Catalog, database e tabelle e associa la policy a un ruolo. L'esempio seguente utilizza un account consumer 666666666666.

Per creare un AWS Glue politica di accesso al proprietario AWS Glue Data Catalog
  1. Utilizzando l'account consumatore, accedi al AWS Management Console.

  2. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

  3. Nel riquadro di navigazione, espandi Gestione accesso, quindi seleziona Policy.

  4. Scegli Create Policy (Crea policy).

  5. Nella pagina Specificare le autorizzazioni, scegli JSON.

  6. Nell'editor delle politiche, inserite un'JSONistruzione come la seguente che consenta AWS Glue azioni sul catalogo dati dell'account proprietario.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "glue:*", "Resource": [ "arn:aws:glue:us-east-1:999999999999:catalog", "arn:aws:glue:us-east-1:999999999999:database/*", "arn:aws:glue:us-east-1:999999999999:table/*" ] } ] }
  7. Scegli Next (Successivo).

  8. Nella pagina Rivedi e crea, per Nome policy inserisci un nome per la policy.

  9. Scegli Create Policy (Crea policy).

Successivamente, si utilizza la IAM console dell'account consumer per allegare la policy appena creata al IAM ruolo o ai ruoli che l'account consumer utilizzerà per accedere al catalogo dati del proprietario.

Per allegare il AWS Glue politica relativa ai ruoli nell'account consumatore
  1. Nel riquadro di navigazione IAM della console dell'account consumer, scegli Ruoli.

  2. Nella pagina Ruoli, individua il ruolo a cui intendi collegare la policy.

  3. Seleziona Aggiungi autorizzazioni, quindi seleziona Collega policy.

  4. Trova la policy che hai appena creato.

  5. Seleziona la casella di controllo della policy, quindi seleziona Aggiungi autorizzazioni.

  6. Ripeti i passaggi per aggiungere la policy agli altri ruoli che intendi utilizzare.

Passaggio 3: configurare una sessione e creare una query

In Athena Spark, nell'account del richiedente, utilizzando il ruolo specificato, crea una sessione per testare l'accesso creando un notebook o modificando una sessione corrente. Quando configuri le proprietà della sessione, specifica una delle seguenti opzioni:

  • La AWS Glue separatore di catalogo: con questo approccio, includi l'ID dell'account del proprietario nelle tue query. Utilizza questo metodo se intendi utilizzare la sessione per eseguire query sui cataloghi di dati di diversa proprietà.

  • Il AWS Glue ID del catalogo: con questo approccio, si interroga direttamente il database. Questo metodo è più comodo se intendi utilizzare la sessione per eseguire query sul catalogo dati di una sola proprietà.

Quando modificate le proprietà della sessione, aggiungete quanto segue:

{ "spark.hadoop.aws.glue.catalog.separator": "/" }

Quando esegui una query in una cella, utilizza una sintassi simile a quella dell'esempio seguente. Tieni presente che nella clausola FROM, l'ID del catalogo e il separatore sono obbligatori prima del nome del database.

df = spark.sql('SELECT requestip, uri, method, status FROM `999999999999/mydatabase`.cloudfront_logs LIMIT 5') df.show()

Quando modificate le proprietà della sessione, inserite la seguente proprietà. Replace (Sostituisci) 999999999999 con l'ID dell'account del proprietario.

{ "spark.hadoop.hive.metastore.glue.catalogid": "999999999999" }

Quando esegui una query in una cella, utilizza una sintassi come la seguente: Si noti che nella clausola FROM, l'ID del catalogo e il separatore non sono richiesti prima del nome del database.

df = spark.sql('SELECT * FROM mydatabase.cloudfront_logs LIMIT 10') df.show()

Risorse aggiuntive

Configurare l'accesso tra account a AWS Glue cataloghi di dati

Gestione delle autorizzazioni tra account utilizzando entrambi AWS Glue e Lake Formation nel AWS Lake Formation Guida per gli sviluppatori.

Configura l'accesso tra più account a un account condiviso AWS Glue Data Catalog utilizzo di Amazon Athena in AWS Modelli di guida prescrittivi.