View a markdown version of this page

Controllo degli accessi basato su tag 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à.

Controllo degli accessi basato su tag Lake Formation

Lake Formation tag-based access control (LF-TBAC) è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In Lake Formation, questi attributi sono chiamati LF-Tags. Puoi collegarti LF-Tags alle risorse del Data Catalog e concedere le autorizzazioni ai responsabili di Lake Formation su tali risorse utilizzando queste risorse. LF-Tags Lake Formation consente operazioni su tali risorse quando il principale ha concesso l'accesso a un valore di tag che corrisponde al valore del tag della risorsa.

LF-TBAC è utile in ambienti in rapida crescita e aiuta in situazioni in cui la gestione delle politiche diventa complicata.

LF-TBAC è il metodo consigliato da utilizzare per concedere le autorizzazioni di Lake Formation quando è presente un numero elevato di oggetti Data Catalog, inclusi cataloghi federati, database, tabelle e viste. Lake Formation supporta il controllo degli accessi basato su tag per cataloghi federati di tabelle Amazon S3, Amazon Redshift data warehouse e fonti di dati federate come Amazon DynamoDB SQL Server e Snowflake.

Nota

I tag IAM non sono uguali a. LF-Tags Questi tag non sono intercambiabili. LF-Tagsvengono utilizzati per concedere i permessi di Lake Formation e i tag IAM vengono utilizzati per definire le politiche IAM.

Come funziona il controllo degli accessi basato su tag Lake Formation

Ciascuna LF-Tag è una coppia chiave-valore, ad esempio o. department=sales classification=restricted Una chiave può avere più valori definiti, ad esempio. department=sales,marketing,engineering,finance

Per utilizzare il LF-TBAC metodo, gli amministratori del data lake e i data engineer eseguono le seguenti attività.

Operazione Dettagli dell'attività

1. Definire le proprietà e le relazioni di LF-Tags.

-

2. Crea i LF-Tag creatori in Lake Formation.

Aggiungere creatori LF-Tag

3. Crea il LF-Tag in Lake Formation.

Creando LF-Tags

4. Assegna LF-Tags alle risorse del Data Catalog.

Assegnazione LF-Tags alle risorse del Data Catalog

5. Concedi le autorizzazioni ad altri principali da assegnare LF-Tags alle risorse, facoltativamente con l'opzione di concessione.

Gestione delle autorizzazioni LF-Tag relative ai valori

6. Concedi LF-Tag espressioni ai presidi, opzionalmente con l'opzione grant.

Concessione delle autorizzazioni per il data lake utilizzando il metodo LF-TBAC

7. (Consigliato) Dopo aver verificato che i responsabili abbiano accesso alle risorse corrette tramite il LF-TBAC metodo, revocate le autorizzazioni concesse utilizzando il metodo della risorsa denominata.

-

Si consideri il caso in cui è necessario concedere le autorizzazioni a tre principali su tre database e sette tabelle.

Tre figure di utenti sono a sinistra, disposte verticalmente. A destra ci sono tre database denominati A, B e C, disposti verticalmente. Il database A ha due tabelle etichettate A.1 e A.2, il database B ha le etichette delle tabelle B.1 e B.2, e il database C ha tre tabelle etichettate con C.1, e. C.2 C.3 Diciassette frecce collegano gli utenti ai database e alle tabelle, indicando agli utenti le concessioni su database e tabelle.

Per ottenere le autorizzazioni indicate nel diagramma precedente utilizzando il metodo named resource, è necessario concedere 17 concessioni, come segue (in pseudo-codice).

GRANT CREATE_TABLE ON Database A TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.1 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 1 GRANT SELECT, INSERT ON Table B.2 TO PRINCIPAL 1 ... GRANT SELECT, INSERT ON Table A.2 TO PRINCIPAL 2 GRANT CREATE_TABLE ON Database B TO PRINCIPAL 2 ... GRANT SELECT, INSERT ON Table C.3 TO PRINCIPAL 3

Considerate ora come concedereste le autorizzazioni utilizzando. LF-TBAC Il diagramma seguente indica che sono state assegnate le autorizzazioni LF-Tags a database e tabelle e che sono state concesse autorizzazioni ai LF-Tags principali.

In questo esempio, LF-Tags rappresentano aree del data lake che contengono analisi per diversi moduli di una suite di applicazioni ERP (Enterprise Resource Planning). È possibile utilizzarli per controllare l'accesso ai dati di analisi per i vari moduli. Tutti LF-Tags hanno i valori chiave module e possibili SalesOrders, eCustomers. Un esempio LF-Tag ha il seguente aspetto:

module=Sales

Il diagramma mostra solo i LF-Tag valori.

Come nel diagramma precedente, tre figure di utenti sono a sinistra, disposte verticalmente, mentre a destra ci sono tre database etichettati A, B e C, disposti verticalmente. Il database A ha due tabelle etichettate A.1 e A.2, il database B ha le etichette delle tabelle B.1 e B.2, e il database C ha tre tabelle etichettate con, e. C.1 C.2 C.3 Non ci sono frecce tra gli utenti e i database e le tabelle. Invece, le «bandiere» etichettate accanto agli utenti indicano che all'utente 1 sono state concesse le funzioni LF-Tags Vendite e Clienti, all'utente 2 sono stati concessi LF-Tag gli Ordini e all'utente 3 sono stati concessi i Clienti. LF-Tag I flag accanto ai database e alle tabelle indicano le seguenti assegnazioni a database e tabelle: Database LF-Tags A: Vendite. Tabella A1: un contrassegno oscurato indica che Sales è stato ereditato dal database A. Tabella A2: Ordini, mentre un contrassegno oscurato indica che Sales è stato ereditato dal database A. Database B: Ordini. Tabella B.1 ed B.2 eredita gli ordini e Table ha clienti. B.2 Il database C ha clienti e tabelle C.1 ed C.2 C.3 eredita clienti. Le tabelle C non hanno altre assegnazioni.
Assegnazione di tag alle risorse e all'ereditarietà di Data Catalog

Le tabelle ereditano LF-Tags dai database e le colonne ereditano dalle tabelle. LF-Tags I valori ereditati possono essere sovrascritti. Nel diagramma precedente, i colori oscurati vengono ereditati. LF-Tags

A causa dell'ereditarietà, l'amministratore del data lake deve effettuare solo le cinque seguenti LF-Tag assegnazioni alle risorse (in pseudo-codice).

ASSIGN TAGS module=Sales TO database A ASSIGN TAGS module=Orders TO table A.2 ASSIGN TAGS module=Orders TO database B ASSIGN TAGS module=Customers TO table B.2 ASSIGN TAGS module=Customers TO database C
Etichetta le sovvenzioni ai committenti

Dopo l'assegnazione LF-Tags ai database e alle tabelle, l'amministratore del data lake deve concedere solo quattro concessioni LF-Tags ai principali, come segue (in pseudo-codice).

GRANT TAGS module=Sales TO Principal 1 GRANT TAGS module=Customers TO Principal 1 GRANT TAGS module=Orders TO Principal 2 GRANT TAGS module=Customers TO Principal 3

Ora, un principale con module=Sales LF-Tag può accedere alle risorse del Data Catalog con module=Sales LF-Tag (ad esempio, il database A), un principale con module=Customers LF-Tag può accedere alle risorse con e così via. module=Customers LF-Tag

I comandi di concessione precedenti sono incompleti. Questo perché, sebbene indichino attraverso LF-Tags le risorse del Data Catalog che i responsabili dispongono delle autorizzazioni, non indicano esattamente le autorizzazioni di Lake Formation (ad SELECT esempioALTER) i principali hanno su tali risorse. Pertanto, i seguenti comandi in pseudo-codice sono una rappresentazione più accurata del modo in cui le autorizzazioni di Lake Formation vengono concesse alle risorse di Data Catalog. LF-Tags

GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Sales TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Sales TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 1 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 1 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Orders TO Principal 2 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Orders TO Principal 2 GRANT (CREATE_TABLE ON DATABASES) ON TAGS module=Customers TO Principal 3 GRANT (SELECT, INSERT ON TABLES) ON TAGS module=Customers TO Principal 3
Mettere insieme: autorizzazioni risultanti sulle risorse

Dati i dati LF-Tags assegnati ai database e alle tabelle nel diagramma precedente e quelli LF-Tags concessi ai principali nel diagramma, la tabella seguente elenca i permessi di Lake Formation che i principali hanno sui database e sulle tabelle.

Principale Autorizzazioni concesse tramite LF-Tags
Principale 1
  • CREATE_TABLEsul database A

  • SELECT, INSERT sulla tabella A.1

  • SELECT, INSERT sul tavolo B.2

  • CREATE_TABLEnel database C

  • SELECT, INSERT sulla tabella C.1

  • SELECT, INSERT sul tavolo C.2

  • SELECT, INSERT sul tavolo C.3

Principal 2
  • SELECT, INSERT sul tavolo A.2

  • CREATE_TABLEnel database B

  • SELECT, INSERT sulla tabella B.1

Principal 3
  • SELECT, INSERT sul tavolo B.2

  • CREATE_TABLEnel database C

  • SELECT, INSERT sulla tabella C.1

  • SELECT, INSERT sul tavolo C.2

  • SELECT, INSERT sul tavolo C.3

Conclusione

In questo semplice esempio, utilizzando cinque operazioni di assegnazione e otto operazioni di concessione, l'amministratore del data lake è stato in grado di specificare 17 autorizzazioni. Quando ci sono decine di database e centinaia di tabelle, il vantaggio del LF-TBAC metodo rispetto al metodo delle risorse denominate diventa evidente. Nel caso ipotetico della necessità di concedere a ogni risorsa l'accesso principale, n(P) dov'è il numero di principali e n(R) il numero di risorse:

  • Con il metodo Named Resource, il numero di sovvenzioni richieste è ✕. n(P) n(R)

  • Con il LF-TBAC metodo, utilizzando un unico LF-Tag, il totale del numero di sovvenzioni ai committenti e di assegnazioni alle risorse è +. n(P) n(R)