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

Quando un AWS servizio integrato richiede l'accesso ai dati in una posizione Amazon S3 con accesso controllato da, Lake AWS Lake Formation Formation fornisce credenziali temporanee per accedere ai dati.

Per consentire a Lake Formation di controllare l'accesso ai dati sottostanti in una sede Amazon S3, devi registrare tale posizione con Lake Formation.

Dopo aver registrato una sede Amazon S3, puoi iniziare a concedere le seguenti autorizzazioni Lake Formation:

  • Autorizzazioni di accesso ai dati (SELECTINSERT,) e DELETE) sulle tabelle di Data Catalog che puntano a quella posizione.

  • Autorizzazioni per l'ubicazione dei dati in quella posizione.

Le autorizzazioni di localizzazione dei dati di Lake Formation controllano la capacità di creare risorse Data Catalog che puntano a particolari posizioni Amazon S3. Le autorizzazioni di localizzazione dei dati forniscono un ulteriore livello di sicurezza alle posizioni all'interno del data lake. Quando concedi l'ALTERautorizzazione CREATE_TABLE o l'autorizzazione a un'entità principale, concedi anche le autorizzazioni per la localizzazione dei dati per limitare le posizioni per le quali l'ente principale può creare o modificare tabelle di metadati.

Le sedi Amazon S3 sono bucket o prefissi all'interno di un bucket, ma non singoli oggetti Amazon S3.

Puoi concedere le autorizzazioni per la localizzazione dei dati a un principale utilizzando la console Lake Formation, l'API o il AWS CLI. La forma generale di una sovvenzione è la seguente:

grant DATA_LOCATION_ACCESS to principal on S3 location [with grant option]

Se lo includiwith grant option, il beneficiario può concedere le autorizzazioni ad altri mandanti.

Ricorda che le autorizzazioni di Lake Formation funzionano sempre in combinazione con le autorizzazioni AWS Identity and Access Management (IAM) per un controllo granulare degli accessi. Per le autorizzazioni di lettura/scrittura sui dati Amazon S3 sottostanti, le autorizzazioni IAM vengono concesse come segue:

Quando registri una posizione, specifichi un ruolo IAM che concede autorizzazioni di lettura/scrittura su quella posizione. Lake Formation assume questo ruolo quando fornisce credenziali temporanee ai servizi integrati. AWS Un ruolo tipico potrebbe avere la seguente politica allegata, in cui la posizione registrata è il bucket. awsexamplebucket

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:DeleteObject" ], "Resource": [ "arn:aws:s3:::awsexamplebucket/*" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::awsexamplebucket" ] } ] }

Lake Formation offre un ruolo collegato al servizio che puoi utilizzare durante la registrazione per creare automaticamente politiche come questa. Per ulteriori informazioni, consulta Utilizzo di ruoli collegati ai servizi per Lake Formation.

Pertanto, la registrazione di una sede Amazon S3 concede le autorizzazioni s3: IAM richieste su quella posizione, dove le autorizzazioni sono specificate dal ruolo utilizzato per registrare la posizione.

Importante

Evita di registrare un bucket Amazon S3 con Requester pay abilitato. Per i bucket registrati con Lake Formation, il ruolo utilizzato per registrare il bucket viene sempre visualizzato come richiedente. Se al bucket si accede da un altro AWS account, al proprietario del bucket viene addebitato l'accesso ai dati se il ruolo appartiene allo stesso account del proprietario del bucket.

Per l'accesso in lettura/scrittura ai dati sottostanti, oltre alle autorizzazioni di Lake Formation, i principali necessitano anche della seguente autorizzazione IAM:

lakeformation:GetDataAccess

Con questa autorizzazione, Lake Formation concede la richiesta di credenziali temporanee per accedere ai dati.

Nota

Amazon Athena richiede che l'utente disponga dell'lakeformation:GetDataAccessautorizzazione. Altri servizi integrati richiedono che il ruolo di esecuzione sottostante disponga dell'lakeformation:GetDataAccessautorizzazione.

Questa autorizzazione è inclusa nelle politiche suggerite inRiferimento ai personaggi e alle IAM autorizzazioni di Lake Formation.

Riassumendo, per consentire ai dirigenti di Lake Formation di leggere e scrivere i dati sottostanti con accesso controllato dai permessi di Lake Formation:

  • Registra le sedi Amazon S3 che contengono i dati con Lake Formation.

  • I responsabili che creano tabelle Data Catalog che puntano alle posizioni dei dati sottostanti devono disporre delle autorizzazioni per la localizzazione dei dati.

  • I responsabili che leggono e scrivono i dati sottostanti devono disporre delle autorizzazioni di accesso ai dati di Lake Formation sulle tabelle del Data Catalog che puntano alle posizioni dei dati sottostanti.

  • I responsabili che leggono e scrivono i dati sottostanti devono disporre dell'autorizzazione lakeformation:GetDataAccess IAM quando la posizione dei dati sottostanti è registrata con Lake Formation.

Nota

Il modello di autorizzazioni Lake Formation non impedisce l'accesso alle sedi Amazon S3 tramite l'API o la console di Amazon S3 se hai accesso ad esse tramite policy IAM o Amazon S3. Puoi collegare le policy IAM ai principali per bloccare questo accesso.

Ulteriori informazioni sulle autorizzazioni di localizzazione dei dati

Le autorizzazioni di localizzazione dei dati regolano il risultato delle operazioni di creazione e aggiornamento su database e tabelle Data Catalog. Le regole sono le seguenti:

  • Un principale deve disporre di autorizzazioni esplicite o implicite per la localizzazione dei dati su una posizione Amazon S3 per creare o aggiornare un database o una tabella che specifichi tale posizione.

  • L'autorizzazione esplicita DATA_LOCATION_ACCESS viene concessa utilizzando la console, l'API o. AWS CLI

  • Le autorizzazioni implicite vengono concesse quando un database ha una proprietà location che punta a una posizione registrata, il principale dispone dell'CREATE_TABLEautorizzazione sul database e il principale tenta di creare una tabella in quella posizione o in una posizione secondaria.

  • Se a un responsabile vengono concesse le autorizzazioni per la localizzazione dei dati su una posizione, il responsabile dispone delle autorizzazioni per la localizzazione dei dati su tutte le sedi secondarie.

  • Un responsabile non necessita delle autorizzazioni di localizzazione dei dati per eseguire operazioni di lettura/scrittura sui dati sottostanti. È sufficiente disporre delle SELECT o delle autorizzazioni di accesso ai INSERT dati. Le autorizzazioni per la localizzazione dei dati si applicano solo alla creazione di risorse del Catalogo Dati che puntano alla posizione.

Considerate lo scenario illustrato nel diagramma seguente.

Gerarchia di cartelle e due database, il database A e B, con il database B che punta alla cartella Servizio clienti.

In questo diagramma:

  • I bucket Products Amazon S3 Customer Service sono registrati presso Lake Formation. Finance

  • Database Anon ha una proprietà di posizione e Database B ha una proprietà di posizione che punta al Customer Service bucket.

  • L'utente datalake_user ha CREATE_TABLE su entrambi i database.

  • All'utente sono datalake_user state concesse le autorizzazioni per la localizzazione dei dati solo nel Products bucket.

Di seguito sono riportati i risultati ottenuti quando l'utente datalake_user tenta di creare una tabella di catalogo in un particolare database in una posizione particolare.

Posizione in cui datalake_user tenta di creare una tabella
Database e posizione Ha successo o fallisce Motivo
Database A in Finance/Sales Fallisce Nessuna autorizzazione per la localizzazione dei dati
Database A in Products Ha successo Dispone dell'autorizzazione alla localizzazione dei dati
Database A in HR/Plans Ha successo La posizione non è registrata
Database B in Customer Service/Incidents Ha successo Il database ha la proprietà di localizzazione in Customer Service

Per ulteriori informazioni, consulta gli argomenti seguenti: