Controllo dell'accesso ai metadati - 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 dell'accesso ai metadati

Per il controllo degli accessi per le risorse del Data Catalog, la discussione seguente presuppone un controllo degli accessi a grana fine con le autorizzazioni di Lake Formation e un controllo degli accessi a grana grossa con le policy IAM.

Esistono due metodi distinti per concedere le autorizzazioni di Lake Formation sulle risorse del Data Catalog:

  • Controllo dell'accesso alle risorse con nome: con questo metodo, si concedono le autorizzazioni su database o tabelle specifici specificando i nomi dei database o delle tabelle. Le sovvenzioni hanno questa forma:

    Concedi le autorizzazioni ai responsabili sulle risorse [con opzione di concessione].

    Con l'opzione di concessione, puoi consentire al beneficiario di concedere le autorizzazioni ad altri mandanti.

  • Controllo dell'accesso basato su tag: con questo metodo, si assegnano uno o più tag LF ai database, alle tabelle e alle colonne del Data Catalog e si concedono le autorizzazioni su uno o più tag LF ai principali. Ogni tag LF è una coppia chiave-valore, ad esempio. department=sales Un principale con tag LF che corrispondono ai tag LF su una risorsa del catalogo dati può accedere a tale risorsa. Questo metodo è consigliato per i data lake con un gran numero di database e tabelle. È spiegato in dettaglio inControllo degli accessi basato su tag Lake Formation.

Le autorizzazioni che un principale ha su una risorsa sono l'unione delle autorizzazioni concesse da entrambi i metodi.

La tabella seguente riassume le autorizzazioni di Lake Formation disponibili sulle risorse di Data Catalog. Le intestazioni delle colonne indicano la risorsa a cui è concessa l'autorizzazione.

Catalogo Database Tabella
CREATE_DATABASE CREATE_TABLE ALTER
ALTER DROP
DROP DESCRIBE
DESCRIBE SELECT*
INSERT*
DELETE*

Ad esempio, l'CREATE_TABLEautorizzazione viene concessa a un database. Ciò significa che il principale può creare tabelle in quel database.

Le autorizzazioni con un asterisco (*) sono concesse alle risorse del Data Catalog, ma si applicano ai dati sottostanti. Ad esempio, l'DROPautorizzazione per una tabella di metadati consente di eliminare la tabella dal Data Catalog. Tuttavia, l'DELETEautorizzazione concessa sulla stessa tabella consente di eliminare i dati sottostanti della tabella in Amazon S3, utilizzando, ad esempio, un'istruzione SQLDELETE. Con queste autorizzazioni, puoi anche visualizzare la tabella sulla console Lake Formation e recuperare informazioni sulla tabella con l'AWS GlueAPI. Pertanto SELECTINSERT, e DELETE sono sia le autorizzazioni di Data Catalog che le autorizzazioni di accesso ai dati.

Quando si concede la SELECT licenza su una tabella, è possibile aggiungere un filtro che includa o escluda una o più colonne. Ciò consente un controllo granulare degli accessi alle colonne della tabella di metadati, limitando le colonne che gli utenti dei servizi integrati possono vedere durante l'esecuzione delle query. Questa funzionalità non è disponibile utilizzando solo le policy IAM.

Esiste anche un'autorizzazione speciale denominataSuper. L'Superautorizzazione consente a un principale di eseguire tutte le operazioni di Lake Formation supportate sul database o sulla tabella su cui è concessa. Questa autorizzazione può coesistere con le altre autorizzazioni di Lake Formation. Ad esempio, puoi concedere Super e INSERT su una tabella di metadati. SELECT Il principale può eseguire tutte le azioni supportate sulla tabella e, in caso di revoca, le autorizzazioni SELECT e INSERT rimangono Super invariate.

Per i dettagli su ciascuna autorizzazione, vedere. Riferimento alle autorizzazioni di Lake Formation

Importante

Per poter visualizzare una tabella Data Catalog creata da un altro utente, è necessario disporre di almeno un'autorizzazione Lake Formation sulla tabella. Se ti viene concessa almeno un'autorizzazione sulla tabella, puoi anche vedere il database che contiene la tabella.

Puoi concedere o revocare le autorizzazioni di Data Catalog utilizzando la console Lake Formation, l'API o (). AWS Command Line Interface AWS CLI Di seguito è riportato un esempio di AWS CLI comando che concede all'utente il datalake_user1 permesso di creare tabelle nel database. retail

aws lakeformation grant-permissions --principal DataLakePrincipalIdentifier=arn:aws:iam::111122223333:user/datalake_user1 --permissions "CREATE_TABLE" --resource '{ "Database": {"Name":"retail"}}'

Di seguito è riportato un esempio di policy IAM di controllo degli accessi a grana grossa che integra il controllo degli accessi a grana fine con le autorizzazioni di Lake Formation. Consente tutte le operazioni su qualsiasi database o tabella di metadati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*Database*", "glue:*Table*", "glue:*Partition*" ], "Resource": "*" } ] }

L'esempio successivo è anch'esso a grana grossa ma leggermente più restrittivo. Consente operazioni di sola lettura su tutti i database e le tabelle di metadati nel Catalogo dati nell'account e nella regione designati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": "arn:aws:glue:us-east-1:111122223333:*" } ] }

Confronta queste politiche con la seguente politica, che implementa il controllo granulare degli accessi basato su IAM. Concede le autorizzazioni solo su un sottoinsieme di tabelle nel database di metadati di gestione delle relazioni con i clienti (CRM) nell'account e nella regione designati.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:GetTables", "glue:SearchTables", "glue:GetTable", "glue:GetDatabase", "glue:GetDatabases" ], "Resource": [ "arn:aws:glue:us-east-1:111122223333:catalog", "arn:aws:glue:us-east-1:111122223333:database/CRM", "arn:aws:glue:us-east-1:111122223333:table/CRM/P*" ] } ] }

Per altri esempi di politiche di controllo degli accessi granulari, vedere. Riferimento ai personaggi e alle IAM autorizzazioni di Lake Formation