Condivisione di un data lake utilizzando il controllo granulare degli accessi di Lake Formation - AWS Lake Formation

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

Condivisione di un data lake utilizzando il controllo granulare degli accessi di Lake Formation

Questo tutorial fornisce step-by-step istruzioni su come condividere in modo rapido e semplice set di dati utilizzando Lake Formation quando si gestiscono più set Account AWS con AWS Organizations. Definisci autorizzazioni granulari per controllare l'accesso ai dati sensibili.

Le seguenti procedure mostrano anche come un amministratore di data lake dell'Account A può fornire un accesso granulare all'Account B e come un utente dell'Account B, che funge da amministratore dei dati, può concedere un accesso granulare alla tabella condivisa ad altri utenti del proprio account. I data steward di ciascun account possono delegare in modo indipendente l'accesso ai propri utenti, dando autonomia a ciascun team o linea di business (). LOB

Il caso d'uso presuppone che tu stia utilizzando AWS Organizations per gestire il tuo. Account AWS L'utente dell'Account A in un'unità organizzativa (OU1) concede l'accesso agli utenti dell'Account B in. OU2 Puoi usare lo stesso approccio quando non usi Organizations, ad esempio quando hai solo pochi account. Il diagramma seguente illustra il controllo granulare degli accessi dei set di dati in un data lake. Il data lake è disponibile nell'Account A. L'amministratore del data lake dell'Account A fornisce un accesso granulare all'Account B. Il diagramma mostra anche che un utente dell'Account B fornisce l'accesso a livello di colonna alla tabella del data lake Account A a un altro utente dell'Account B.

AWS Organization structure with two OUs, showing data lake access and user permissions across accounts.

Destinatari principali

Questo tutorial è destinato a amministratori di dati, ingegneri di dati e analisti di dati. La tabella seguente elenca i ruoli utilizzati in questo tutorial:

Ruolo Descrizione
IAMamministratore Utente che dispone della politica AWS gestita:AdministratorAccess.
Amministratore del data lake

Utente che dispone della policy AWS gestita: AWSLakeFormationDataAdmin associato al ruolo.

Analista dei dati Utente che dispone della politica AWS gestita: AmazonAthenaFullAccess allegato.

Prerequisiti

Prima di iniziare questo tutorial, è necessario disporre di un Account AWS file da utilizzare per accedere come utente amministrativo con le autorizzazioni corrette. Per ulteriori informazioni, consulta Completa le attività AWS di configurazione iniziali.

Il tutorial presuppone che tu abbia dimestichezza con. IAM Per informazioni suIAM, consulta la Guida per l'IAMutente.

Per questo tutorial sono necessarie le seguenti risorse:
  • Due unità organizzative:

    • OU1— Contiene l'account A

    • OU2— Contiene l'account B

  • Una posizione del data lake Amazon S3 (bucket) nell'account A.

  • Un utente amministratore del data lake nell'Account A. È possibile creare un amministratore del data lake utilizzando la console Lake Formation (https://console.aws.amazon.com/lakeformation/) o il PutDataLakeSettings funzionamento di Lake FormationAPI.

  • Lake Formation configurata nell'Account A e la posizione del data lake Amazon S3 registrata con Lake Formation nell'Account A.

  • Due utenti nell'Account B con le seguenti politiche IAM gestite:

    • testuser1: ha le politiche AWS AWSLakeFormationDataAdmin gestite allegate.

    • testuser2 — Ha la policy gestita allegata AWS . AmazonAthenaFullAccess

  • Un database testdb nel database Lake Formation per l'account B.

Passaggio 1: fornire un accesso dettagliato a un altro account

Scopri in che modo un amministratore di data lake dell'Account A fornisce un accesso dettagliato all'Account B.

Concedi l'accesso dettagliato a un altro account
  1. Accedi AWS Management Console all'Account https://console.aws.amazon.com/connect/A come amministratore del data lake.

  2. Apri la console Lake Formation (https://console.aws.amazon.com/lakeformation/) e scegli Inizia.

  3. nel pannello di navigazione, scegli Database.

  4. Scegliere Create database (Crea database).

  5. Nella sezione Dettagli del database, seleziona Database.

  6. Per Nome, inserisci un nome (per questo tutorial, lo usiamosampledb01).

  7. Assicurati che l'opzione Usa solo il controllo di IAM accesso per le nuove tabelle in questo database non sia selezionata. Se questa opzione non è selezionata, possiamo controllare l'accesso da Lake Formation.

  8. Scegliere Crea database.

  9. Nella pagina Database, scegli il tuo databasesampledb01.

  10. Nel menu Azioni, scegli Concedi.

  11. Nella sezione Concedi autorizzazioni, seleziona Account esterno.

  12. Per Account AWS ID o ID AWS dell'organizzazione, inserisci l'ID dell'account per l'account B. OU2

  13. Per Tabella, scegli la tabella a cui desideri che l'Account B abbia accesso (per questo post, usiamo la tabellaacc_a_area). Facoltativamente, puoi concedere l'accesso alle colonne all'interno della tabella, cosa che facciamo in questo post.

  14. Per Includi colonne, scegli le colonne a cui desideri che l'Account B abbia accesso (per questo post, concediamo le autorizzazioni per tipo, nome e identificatori).

  15. Per Colonne, scegli Includi colonne.

  16. Per le autorizzazioni relative alle tabelle, seleziona Seleziona.

  17. Per le autorizzazioni concesse, seleziona Seleziona. Le autorizzazioni concesse sono necessarie per consentire agli utenti amministratori dell'Account B di concedere le autorizzazioni ad altri utenti dell'Account B.

  18. Scegli Concessione.

  19. Nel pannello di navigazione, seleziona Tabelle.

  20. È possibile visualizzare una connessione attiva nella sezione Account AWS e AWS organizzazioni con accesso.

Crea un link alla risorsa

I servizi integrati come Amazon Athena non possono accedere direttamente a database o tabelle tra account. Pertanto, è necessario creare un collegamento alle risorse in modo che Athena possa accedere ai collegamenti alle risorse del proprio account ai database e alle tabelle di altri account. Crea un link di risorsa alla tabella (acc_a_area) in modo che gli utenti dell'Account B possano interrogarne i dati con Athena.

  1. Accedi alla AWS console all'indirizzo https://console.aws.amazon.com/connect/Account B cometestuser1.

  2. Nella console Lake Formation (https://console.aws.amazon.com/lakeformation/), nel pannello di navigazione, scegli Tabelle. Dovresti vedere le tabelle a cui l'Account A ha fornito l'accesso.

  3. Seleziona la tabella acc_a_area.

  4. Nel menu Azioni, scegli Crea collegamento alla risorsa.

  5. Per il nome del link alla risorsa, inserisci un nome (per questo tutorial,acc_a_area_rl).

  6. Per Database, scegli il tuo database (testdb).

  7. Scegli Create (Crea) .

  8. Nel pannello di navigazione, seleziona Tabelle.

  9. Seleziona la tabella acc_b_area_rl.

  10. Nel menu Azioni, scegli Visualizza dati.

    Verrai reindirizzato alla console Athena, dove dovresti vedere il database e la tabella.

    Ora puoi eseguire una query sulla tabella per vedere il valore della colonna per cui è stato fornito l'accesso a testuser1 dall'account B.

Fase 2: Fornire un accesso dettagliato a un utente nello stesso account

Questa sezione mostra come un utente dell'Account B (testuser1), che funge da amministratore dei dati, fornisce un accesso dettagliato a un altro utente nello stesso account (testuser2) al nome della colonna nella tabella condivisa. aac_b_area_rl

Concedi un accesso granulare a un utente nello stesso account
  1. Accedi alla AWS console all'indirizzo Account https://console.aws.amazon.com/connect/B come. testuser1

  2. Nella console Lake Formation, nel riquadro di navigazione, scegli Tabelle.

    Puoi concedere le autorizzazioni su una tabella tramite il relativo link alla risorsa. A tale scopo, nella pagina Tabelle, seleziona il link alla risorsa eacc_b_area_rl, nel menu Azioni, scegli Concedi sulla destinazione.

  3. Nella sezione Concedi autorizzazioni, seleziona Il mio account.

  4. Per IAMutenti e ruoli, scegli l'utentetestuser2.

  5. Per Colonna, scegli il nome della colonna.

  6. Per le autorizzazioni della tabella, seleziona Seleziona.

  7. Scegli Concessione.

    Quando crei un link a una risorsa, solo tu puoi visualizzarlo e accedervi. Per consentire agli altri utenti del tuo account di accedere al link alla risorsa, devi concedere le autorizzazioni sul link alla risorsa stesso. È necessario concedere DESCRIBEo DROPautorizzare. Nella pagina Tabelle, seleziona nuovamente la tua tabella e nel menu Azioni, scegli Concedi.

  8. Nella sezione Concedi autorizzazioni, seleziona Il mio account.

  9. Per IAMutenti e ruoli, seleziona l'utentetestuser2.

  10. Per le autorizzazioni relative al collegamento alle risorse, seleziona Descrivi.

  11. Scegli Concessione.

  12. Accedi alla AWS console nell'account B cometestuser2.

    Sulla console Athena (https://console.aws.amazon.com/athena/), dovresti vedere il database e la tabella. acc_b_area_rl È ora possibile eseguire una query sulla tabella per visualizzare il valore della colonna a cui si testuser2 ha accesso.