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 degli accessi basato su tag Lake Formation e risorse denominate
Questo tutorial dimostra come configurare AWS Lake Formation la condivisione sicura dei dati archiviati all'interno di un data lake con più aziende, organizzazioni o unità aziendali, senza dover copiare l'intero database. Esistono due opzioni per condividere database e tabelle con altri utenti Account AWS utilizzando il controllo degli accessi su più account di Lake Formation:
Controllo degli accessi basato su tag Lake Formation (consigliato)
Il controllo degli accessi basato su tag Lake Formation è una strategia di autorizzazione che definisce le autorizzazioni in base agli attributi. In Lake Formation, questi attributi sono chiamati LF-tag. Per ulteriori informazioni, consulta Gestione di un data lake utilizzando il controllo degli accessi basato su tag Lake Formation.
Risorse denominate Lake Formation
Il metodo delle risorse denominato Lake Formation è una strategia di autorizzazione che definisce le autorizzazioni per le risorse. Le risorse includono database, tabelle e colonne. Gli amministratori del Data Lake possono assegnare e revocare le autorizzazioni sulle risorse di Lake Formation. Per ulteriori informazioni, consulta Condivisione dei dati tra account in Lake Formation.
Consigliamo di utilizzare risorse denominate se l'amministratore del data lake preferisce concedere le autorizzazioni in modo esplicito alle singole risorse. Quando utilizzi il metodo della risorsa denominata per concedere le autorizzazioni Lake Formation su una risorsa Data Catalog a un account esterno, Lake Formation utilizza AWS Resource Access Manager (AWS RAM) per condividere la risorsa.
Argomenti
- Destinatari principali
- Configura le impostazioni di Lake Formation Data Catalog nell'account produttore
- Fase 1: Fornisci le tue risorse utilizzando modelli AWS CloudFormation
- Fase 2: Prerequisiti per la condivisione tra account di Lake Formation
- Fase 3: Implementare la condivisione tra account utilizzando il metodo di controllo degli accessi basato su tag
- Fase 4: Implementazione del metodo di risorsa denominato
- Passaggio 5: Pulisci AWS le risorse
Destinatari principali
Questo tutorial è destinato a amministratori di dati, ingegneri di dati e analisti di dati. Quando si tratta di condividere le tabelle di Data Catalog AWS Glue e amministrare le autorizzazioni in Lake Formation, gli amministratori dei dati all'interno degli account di produzione hanno la proprietà funzionale in base alle funzioni supportate e possono concedere l'accesso a vari consumatori, organizzazioni esterne e account. La tabella seguente elenca i ruoli utilizzati in questo tutorial:
Ruolo | Descrizione |
---|---|
DataLakeAdminProducer | L'IAMutente amministratore del data lake dispone dei seguenti accessi:
|
DataLakeAdminConsumer |
L'IAMutente amministratore del data lake ha il seguente accesso:
|
DataAnalyst | L' DataAnalyst utente ha il seguente accesso:
|
Configura le impostazioni di Lake Formation Data Catalog nell'account produttore
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 in meritoIAM, consulta la Guida per l'IAMutente.
Configura le impostazioni di Lake Formation Data Catalog nell'account produttore
Nota
In questo tutorial, l'account che ha la tabella di origine è chiamato account produttore e l'account che deve accedere alla tabella di origine è chiamato account consumatore.
Lake Formation fornisce il proprio modello di gestione delle autorizzazioni. Per mantenere la retrocompatibilità con il modello di IAM autorizzazione, per impostazione predefinita l'Super
autorizzazione viene concessa al gruppo IAMAllowedPrincipals
su tutte AWS Glue Data Catalog le risorse esistenti. Inoltre, le impostazioni Usa solo il controllo degli IAM accessi sono abilitate per le nuove risorse del Data Catalog. Questo tutorial utilizza un controllo degli accessi a grana fine utilizzando le autorizzazioni di Lake Formation e utilizza IAM politiche per un controllo degli accessi a grana grossolana. Per informazioni dettagliate, vedi Metodi per il controllo granulare degli accessi. Pertanto, prima di utilizzare un AWS CloudFormation modello per una configurazione rapida, è necessario modificare le impostazioni del Lake Formation Data Catalog nell'account produttore.
Importante
Questa impostazione influisce su tutti i database e le tabelle appena creati, quindi consigliamo vivamente di completare questo tutorial in un account non di produzione o in un nuovo account. Inoltre, se utilizzi un account condiviso (ad esempio l'account di sviluppo della tua azienda), assicurati che ciò non influisca sulle risorse altrui. Se preferisci mantenere le impostazioni di sicurezza predefinite, devi completare un passaggio aggiuntivo durante la condivisione delle risorse con altri account, in cui revochi l'autorizzazione Super predefinita dal IAMAllowedPrincipals
database o dalla tabella. Discuteremo i dettagli più avanti in questo tutorial.
Per configurare le impostazioni di Lake Formation Data Catalog nell'account produttore, completa i seguenti passaggi:
Accedi all'account AWS Management Console utilizzando l'account produttore come utente amministratore o come utente con l'
PutDataLakeSettings
APIautorizzazione di Lake Formation.-
Sulla console Lake Formation, nel pannello di navigazione, in Data Catalog, scegli Impostazioni.
-
Deseleziona Usa solo il controllo di IAM accesso per i nuovi database e Usa solo il controllo di IAM accesso per le nuove tabelle nei nuovi database
Seleziona Salva.
Inoltre, puoi rimuovere
CREATE_DATABASE
le autorizzazioni per Ruoli e attivitàIAMAllowedPrincipals
amministrative, Creatori di database. Solo allora potrai decidere chi può creare un nuovo database tramite le autorizzazioni di Lake Formation.
Fase 1: Fornisci le tue risorse utilizzando modelli AWS CloudFormation
Il CloudFormation modello per l'account produttore genera le seguenti risorse:
Un bucket Amazon S3 che funge da data lake.
Una funzione Lambda (per risorse personalizzate supportate da Lambda). AWS CloudFormation Utilizziamo la funzione per copiare file di dati di esempio dal bucket Amazon S3 pubblico al tuo bucket Amazon S3.
IAMutenti e politiche:. DataLakeAdminProducer
Le impostazioni e le autorizzazioni appropriate di Lake Formation, tra cui:
Definizione dell'amministratore del data lake di Lake Formation nell'account produttore
Registrazione di un bucket Amazon S3 come ubicazione del data lake Lake Formation (account produttore)
Un AWS Glue Data Catalog database, una tabella e una partizione. Poiché esistono due opzioni per la condivisione delle risorse Account AWS, questo modello crea due set separati di database e tabelle.
Il AWS CloudFormation modello per l'account consumatore genera le seguenti risorse:
IAMutenti e politiche:
DataLakeAdminConsumer
DataAnalyst
-
Un AWS Glue Data Catalog database. Questo database serve per creare collegamenti di risorse a risorse condivise.
Crea le tue risorse nell'account del produttore
Accedi alla AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation
nella regione Stati Uniti orientali (Virginia settentrionale). -
Scegli Next (Successivo).
Per il nome dello stack, inserisci un nome per lo stack, ad esempio.
stack-producer
-
Nella sezione Configurazione utente, inserisci il nome utente e la password per
ProducerDatalakeAdminUserName
e.ProducerDatalakeAdminUserPassword
-
Per DataLakeBucketName, inserisci il nome del tuo bucket data lake. Questo nome deve essere univoco a livello globale.
-
Per DatabaseNamee TableName, lascia i valori predefiniti.
-
Scegli Next (Successivo).
-
Nella pagina successiva, scegli Avanti.
Controlla i dettagli nella pagina finale e seleziona Riconosco che AWS CloudFormation potrebbe creare IAM risorse.
Scegli Create (Crea) .
La creazione dello stack può richiedere fino a un minuto.
Crea le tue risorse nell'account consumatore
Accedi alla AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation
nella regione Stati Uniti orientali (Virginia settentrionale). -
Scegli Next (Successivo).
Per il nome dello stack, inserisci un nome per lo stack, ad esempio.
stack-consumer
-
Nella sezione Configurazione utente, inserisci il nome utente e la password per
ConsumerDatalakeAdminUserName
e.ConsumerDatalakeAdminUserPassword
Per
DataAnalystUserName
eDataAnalystUserPassword
, inserisci il nome utente e la password che desideri per l'IAMutente dell'analista di dati.-
Per DataLakeBucketName, inserisci il nome del tuo bucket data lake. Questo nome deve essere univoco a livello globale.
-
Per DatabaseName, lascia i valori predefiniti.
Per
AthenaQueryResultS3BucketName
, inserisci il nome del bucket Amazon S3 in cui sono archiviati i risultati delle query di Amazon Athena. Se non ne hai uno, crea un bucket Amazon S3.-
Scegli Next (Successivo).
-
Nella pagina successiva, scegli Avanti.
Controlla i dettagli nella pagina finale e seleziona Riconosco che AWS CloudFormation potrebbe creare IAM risorse.
Scegli Create (Crea) .
La creazione dello stack può richiedere fino a un minuto.
Nota
Dopo aver completato il tutorial, elimina lo stack AWS CloudFormation per evitare di incorrere in addebiti. Verifica che le risorse siano state eliminate correttamente nello stato dell'evento per lo stack.
Fase 2: Prerequisiti per la condivisione tra account di Lake Formation
Prima di condividere le risorse con Lake Formation, esistono dei prerequisiti sia per il metodo di controllo degli accessi basato su tag che per il metodo delle risorse denominate.
Prerequisiti completi per il controllo degli accessi basato su tag per la condivisione dei dati tra account
-
Per ulteriori informazioni sui requisiti di condivisione dei dati tra account, consulta la Prerequisiti sezione del capitolo Condivisione dei dati tra account.
Per condividere le risorse di Data Catalog con la versione 3 o successiva delle impostazioni della versione dell'account Cross, il concedente deve disporre IAM delle autorizzazioni definite nella politica AWS gestita nel tuo account.
AWSLakeFormationCrossAccountManager
Se utilizzi la versione 1 o la versione 2 delle impostazioni della versione dell'account Cross, prima di poter utilizzare il metodo di controllo dell'accesso basato su tag per concedere l'accesso alle risorse tra account diversi, devi aggiungere il seguente oggetto di
JSON
autorizzazione alla politica delle risorse di Data Catalog nell'account produttore. Ciò concede all'account consumatore l'autorizzazione ad accedere al Data Catalog quandoglue:EvaluatedByLakeFormationTags
è vero. Inoltre, questa condizione diventa vera per le risorse a cui hai concesso l'autorizzazione utilizzando i tag di autorizzazione di Lake Formation sull'account del consumatore. Questa politica è necessaria per tutte le persone Account AWS a cui concedi le autorizzazioni.La seguente politica deve essere inclusa in un
Statement
elemento. Discuteremo la IAM politica completa nella prossima sezione.{ "Effect": "Allow", "Action": [ "glue:*" ], "Principal": { "AWS": [ "
consumer-account-id
" ] }, "Resource": [ "arn:aws:glue:region:account-id
:table/*", "arn:aws:glue:region:account-id
:database/*", "arn:aws:glue:region:account-id
:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": true } } }
Completa i prerequisiti per la condivisione tra account del metodo delle risorse denominate
-
Se nel tuo account non è presente alcuna politica sulle risorse di Data Catalog, il cross-account di Lake Formation ti consente di procedere come al solito. Tuttavia, se esiste una politica in materia di risorse di Data Catalog, devi aggiungere la seguente dichiarazione per consentire che le concessioni tra account abbiano esito positivo se effettuate con il metodo della risorsa denominata. Se prevedi di utilizzare solo il metodo della risorsa denominata o solo il metodo di controllo dell'accesso basato su tag, puoi saltare questo passaggio. In questo tutorial, valutiamo entrambi i metodi e dobbiamo aggiungere la seguente politica.
La seguente politica deve trovarsi all'interno di un
Statement
elemento. Discuteremo la IAM politica completa nella prossima sezione.{ "Effect": "Allow", "Action": [ "glue:ShareResource" ], "Principal": { "Service":"ram.amazonaws.com" }, "Resource": [ "arn:aws:glue:
region:account-id
:table/*/*", "arn:aws:glue:region:account-id
:database/*", "arn:aws:glue:region:account-id
:catalog" ] } Quindi, aggiungi la politica AWS Glue Data Catalog delle risorse utilizzando AWS Command Line Interface (AWS CLI).
Se concedi autorizzazioni per più account utilizzando sia il metodo di controllo degli accessi basato su tag che il metodo Named Resource, devi impostare l'
EnableHybrid
argomento su «true» quando aggiungi le politiche precedenti. Perché questa opzione non è attualmente supportata sulla console ed è necessario utilizzare and.glue:PutResourcePolicy
API AWS CLIInnanzitutto, crea un documento di policy (come policy.json) e aggiungi le due politiche precedenti. Replace (Sostituisci)
consumer-account-id
conaccount ID
del Account AWS beneficiario della sovvenzione,region
con la regione del catalogo dati contenente i database e le tabelle per i quali si concedono le autorizzazioni, eaccount-id
con l'ID del produttore. Account AWS{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ram.amazonaws.com" }, "Action": "glue:ShareResource", "Resource": [ "arn:aws:glue:
region:account-id
:table/*/*", "arn:aws:glue:region:account-id
:database/*", "arn:aws:glue:region:account-id
:catalog" ] }, { "Effect": "Allow", "Principal": { "AWS": "region:account-id
" }, "Action": "glue:*", "Resource": [ "arn:aws:glue:region:account-id
:table/*/*", "arn:aws:glue:region:account-id
:database/*", "arn:aws:glue:region:account-id
:catalog" ], "Condition": { "Bool": { "glue:EvaluatedByLakeFormationTags": "true" } } } ] }Immettete il seguente AWS CLI comando. Replace (Sostituisci)
glue-resource-policy
con i valori corretti (ad esempio file: //policy.json).aws glue put-resource-policy --policy-in-json
glue-resource-policy
--enable-hybrid TRUE
Fase 3: Implementare la condivisione tra account utilizzando il metodo di controllo degli accessi basato su tag
In questa sezione, ti illustreremo i seguenti passaggi di alto livello:
-
Definisci un tag LF.
-
Assegna il tag LF alla risorsa di destinazione.
-
Concedi le autorizzazioni LF-Tag all'account consumatore.
-
Concedi le autorizzazioni relative ai dati all'account consumatore.
Facoltativamente, revoca le autorizzazioni per il database, le
IAMAllowedPrincipals
tabelle e le colonne.Crea un link di risorsa alla tabella condivisa.
Crea un tag LF e assegnalo al database di destinazione.
Concedi le autorizzazioni relative ai dati LF-Tag all'account consumatore.
Definisci un tag LF
Nota
Se hai effettuato l'accesso al tuo account produttore, esci prima di completare i seguenti passaggi.
Accedi all'account produttore come amministratore del data lake all'indirizzo https://console.aws.amazon.com/lakeformation/
. Usa il numero di account del produttore, il nome IAM utente (l'impostazione predefinita è DatalakeAdminProducer
) e la password che hai specificato durante la creazione AWS CloudFormation dello stack.Sulla console di Lake Formation (https://console.aws.amazon.com/lakeformation/
), nel pannello di navigazione, in Autorizzazioni, scegli LF-tags e permessi. Scegliete Aggiungi LF-tag.
Assegna il tag LF alla risorsa di destinazione
Assegna il tag LF alla risorsa di destinazione e concedi le autorizzazioni relative ai dati a un altro account
In qualità di amministratore del data lake, puoi allegare tag alle risorse. Se prevedi di utilizzare un ruolo separato, potresti dover concedere autorizzazioni di descrizione e allegare al ruolo separato.
Nel riquadro di navigazione, in Data Catalog, seleziona Database.
Seleziona il database di destinazione
(lakeformation_tutorial_cross_account_database_tbac)
e nel menu Azioni, scegli Modifica tag LF.In questo tutorial, puoi assegnare un tag LF a un database, ma puoi anche assegnare tag LF a tabelle e colonne.
Scegliete Assegna nuovo LF-tag.
Aggiungi la chiave e il valore
Confidentiality
.public
Seleziona Salva.
Concedi l'autorizzazione LF-Tag all'account consumatore
Sempre nell'account produttore, concedi le autorizzazioni all'account consumer per accedere all'LF-Tag.
Nel pannello di navigazione, sotto Autorizzazioni, scegli LF-tags e permessi.
Scegliete la scheda LF-Tags e scegliete la chiave e i valori del tag LF che viene condiviso con l'account consumatore (chiave e valore).
Confidentiality
public
Scegli Concedi autorizzazioni.
Per Tipo di autorizzazione, scegli le autorizzazioni della coppia chiave-valore LF-Tag.
Per Principali, scegli Account esterni.
Inserisci l'Account AWS ID di destinazione.
Account AWS all'interno della stessa organizzazione appaiono automaticamente. Altrimenti, devi inserire manualmente l' Account AWS ID.
In Autorizzazioni, seleziona Descrivi.
Si tratta delle autorizzazioni concesse all'account consumatore. Le autorizzazioni concedibili sono autorizzazioni che l'account consumatore può concedere ad altri destinatari.
Scegli Concessione.
A questo punto, l'amministratore del consumer data lake dovrebbe essere in grado di trovare il policy tag condiviso tramite la console dell'account consumer Lake Formation, sotto Permissions, LF-tags and permissions.
Concedi l'autorizzazione ai dati all'account consumatore
Ora forniremo l'accesso ai dati all'account consumatore specificando un'espressione LF-Tag e concedendo all'account consumatore l'accesso a qualsiasi tabella o database che corrisponda all'espressione.
Nel pannello di navigazione, in Autorizzazioni, Autorizzazioni Data Lake, scegli Concedi.
Per Principali, scegli Account esterni e inserisci l'ID di destinazione. Account AWS
Per i tag LF o le risorse del catalogo, scegli la chiave e i valori del tag LF da condividere con l'account consumatore (chiave e valore).
Confidentiality
public
Per Autorizzazioni, in Risorse abbinate ai tag LF (consigliato) scegli Aggiungi tag LF.
Seleziona la chiave e il valore del tag che viene condiviso con l'account consumatore (chiave e valore).
Confidentiality
public
Per le autorizzazioni del database, seleziona Descrivi in Autorizzazioni del database per concedere le autorizzazioni di accesso a livello di database.
L'amministratore del consumer data lake dovrebbe essere in grado di trovare il policy tag condiviso tramite l'account consumer sulla console di Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/
, in Autorizzazioni, ruoli e attività amministrativi, LF-Tags. Seleziona Descrivi in Autorizzazioni concesse in modo che l'account consumer possa concedere autorizzazioni a livello di database ai propri utenti.
Per le autorizzazioni relative alle tabelle e alle colonne, seleziona Seleziona e descrivi in Autorizzazioni per le tabelle.
Seleziona Seleziona e descrivi in Autorizzazioni concedibili.
Scegli Concessione.
Revoca l'autorizzazione per IAMAllowedPrincipals
il database, le tabelle e le colonne (facoltativo).
All'inizio di questo tutorial, hai modificato le impostazioni del Lake Formation Data Catalog. Se hai saltato quella parte, questo passaggio è obbligatorio. Se hai modificato le impostazioni del Lake Formation Data Catalog, puoi saltare questo passaggio.
In questo passaggio, dobbiamo revocare l'autorizzazione Super predefinita dal database o IAMAllowedPrincipals
dalla tabella. Per informazioni dettagliate, vedi Passaggio 4: Passa i tuoi archivi dati al modello di autorizzazioni Lake Formation.
Prima di revocare l'autorizzazioneIAMAllowedPrincipals
, assicurati di aver concesso ai IAM presidi esistenti l'autorizzazione necessaria tramite Lake Formation. Ciò include tre passaggi:
Aggiungi l'IAMautorizzazione all'IAMutente o al ruolo di destinazione con l'
GetDataAccess
azione Lake Formation (con IAM policy).Concedi all'IAMutente o al ruolo di destinazione le autorizzazioni per i dati di Lake Formation (modifica, selezione e così via).
Quindi, revoca le autorizzazioni per.
IAMAllowedPrincipals
Altrimenti, dopo aver revocato le autorizzazioni perIAMAllowedPrincipals
, IAM i principali esistenti potrebbero non essere più in grado di accedere al database o al catalogo dati di destinazione.La revoca dell'autorizzazione Super per
IAMAllowedPrincipals
è necessaria quando si desidera applicare il modello di autorizzazione Lake Formation (anziché il modello di IAM policy) per gestire l'accesso degli utenti all'interno di un singolo account o tra più account utilizzando il modello di autorizzazione Lake Formation. Non è necessario revocare l'autorizzazioneIAMAllowedPrincipals
per altre tabelle in cui si desidera mantenere il modello di policy tradizionale. IAMA questo punto, l'amministratore di Data Lake dell'account consumer dovrebbe essere in grado di trovare il database e la tabella condivisi tramite l'account consumer sulla console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/
, sotto Data Catalog, database. In caso contrario, verifica se quanto segue è configurato correttamente: Il tag di policy e i valori corretti vengono assegnati ai database e alle tabelle di destinazione.
L'autorizzazione corretta per il tag e l'autorizzazione per i dati vengono assegnate all'account consumatore.
Revoca la super autorizzazione predefinita dal
IAMAllowedPrincipals
database o dalla tabella.
Crea un link di risorsa alla tabella condivisa
Quando una risorsa viene condivisa tra account e le risorse condivise non vengono inserite nel catalogo dati degli account consumatori. Per renderli disponibili e interrogare i dati sottostanti di una tabella condivisa utilizzando servizi come Athena, dobbiamo creare un collegamento di risorsa alla tabella condivisa. Un link a una risorsa è un oggetto del Data Catalog che è un collegamento a un database o a una tabella locale o condivisa. Per informazioni dettagliate, consultare Creazione di collegamenti alle risorse. Creando un collegamento a una risorsa, puoi:
Assegna un nome diverso a un database o a una tabella in linea con le politiche di denominazione delle risorse del Data Catalog.
Utilizza servizi come Athena e Redshift Spectrum per interrogare database o tabelle condivisi.
Per creare un collegamento a una risorsa, completa i seguenti passaggi:
Se hai effettuato l'accesso al tuo account consumatore, esci.
Accedi come amministratore di Data Lake dell'account consumer. Usa l'ID dell'account consumer, il nome IAM utente (predefinito DatalakeAdminConsumer) e la password che hai specificato durante la creazione AWS CloudFormation dello stack.
Sulla console Lake Formation (https://console.aws.amazon.com/lakeformation/
), nel pannello di navigazione, in Data Catalog, Databases, scegli il database condiviso lakeformation_tutorial_cross_account_database_tbac
.Se non vedi il database, rivedi i passaggi precedenti per vedere se tutto è configurato correttamente.
Scegli Visualizza tabelle.
Scegli la tabella condivisa
amazon_reviews_table_tbac
.Nel menu Azioni, scegli Crea link a una risorsa.
Per il nome del link alla risorsa, inserisci un nome (per questo tutorial,
amazon_reviews_table_tbac_resource_link
).In Database, seleziona il database in cui viene creato il collegamento alla risorsa (per questo post, lo stack AWS CloudFormation n ha creato il database
lakeformation_tutorial_cross_account_database_consumer
).Scegli Create (Crea) .
Il link alla risorsa viene visualizzato in Catalogo dati, Tabelle.
Create un tag LF e assegnatelo al database di destinazione
I tag Lake Formation si trovano nello stesso Data Catalog delle risorse. Ciò significa che i tag creati nell'account produttore non possono essere utilizzati quando si concede l'accesso ai link alle risorse nell'account consumatore. È necessario creare un set separato di tag LF nell'account consumatore per utilizzare il controllo degli accessi basato sui tag LF quando si condividono i link alle risorse nell'account consumatore.
Definisci il tag LF nell'account consumatore. Per questo tutorial, utilizziamo chiavi
Division
e valorisales
emarketing
.analyst
Assegna la chiave
Division
e il valore del tag LFanalyst
al databaselakeformation_tutorial_cross_account_database_consumer
, dove viene creato il collegamento alla risorsa.
Concedi l'autorizzazione ai dati LF-Tag al consumatore
Come ultimo passaggio, concedi l'autorizzazione ai dati di LF-Tag al consumatore.
Nel pannello di navigazione, in Autorizzazioni, Autorizzazioni Data lake, scegli Concedi.
Per Principal, scegli IAMutenti e ruoli e scegli l'utente.
DataAnalyst
Per i tag LF o le risorse del catalogo, scegli Risorse abbinate ai tag LF (consigliato).
Scegliete Key Division and Value Analyst.
Per le autorizzazioni del database, seleziona Descrivi in Autorizzazioni del database.
Per le autorizzazioni per tabelle e colonne, seleziona Seleziona e descrivi in Autorizzazioni per le tabelle.
Scegli Concessione.
Ripeti questi passaggi per l'utente
DataAnalyst
, dove si trova la chiave LF-Tag e il valore èConfidentiality
.public
A questo punto, l'utente analista di dati nell'account consumatore dovrebbe essere in grado di trovare il database e il collegamento alla risorsa e di interrogare la tabella condivisa tramite la console Athena all'indirizzo. https://console.aws.amazon.com/athena/
In caso contrario, verifica se quanto segue è configurato correttamente: Il link alla risorsa viene creato per la tabella condivisa
Hai concesso all'utente l'accesso al tag LF condiviso dall'account produttore
Hai concesso all'utente l'accesso al tag LF associato al link alla risorsa e al database in cui è stato creato il link alla risorsa
Controlla di aver assegnato il tag LF corretto al link alla risorsa e al database in cui è stato creato il link alla risorsa
Fase 4: Implementazione del metodo di risorsa denominato
Per utilizzare il metodo della risorsa denominata, ti spieghiamo i seguenti passaggi di alto livello:
Facoltativamente, revoca l'autorizzazione per il database,
IAMAllowedPrincipals
le tabelle e le colonne.Concedi l'autorizzazione ai dati all'account consumatore.
Accetta una condivisione di risorse da AWS Resource Access Manager.
Crea un link alla risorsa per la tabella condivisa.
Concedi al consumatore l'autorizzazione ai dati per la tabella condivisa.
Concedi al consumatore l'autorizzazione ai dati per il collegamento alla risorsa.
Revoca l'autorizzazione per IAMAllowedPrincipals
il database, le tabelle e le colonne (facoltativo)
-
All'inizio di questo tutorial, abbiamo modificato le impostazioni del Lake Formation Data Catalog. Se hai saltato quella parte, questo passaggio è obbligatorio. Per istruzioni, consulta il passaggio facoltativo nella sezione precedente.
Concedi l'autorizzazione ai dati all'account consumatore
-
Nota
Se hai effettuato l'accesso all'account produttore come altro utente, esci prima.
Accedi alla console di Lake Formation https://console.aws.amazon.com/lakeformation/
utilizzando l'account producer data lake administrator utilizzando l' Account AWS ID, il nome IAM utente (l'impostazione predefinita è DatalakeAdminProducer
) e la password specificati durante la creazione AWS CloudFormation dello stack. Nella pagina Autorizzazioni, in Autorizzazioni Data lake scegli Concedi.
In Principali, scegli Account esterni e inserisci una o più Account AWS IDs organizzazioni. AWS IDs Per ulteriori informazioni, vedere: AWS Organizations
. Le organizzazioni a cui appartiene l'account produttore e che Account AWS fanno parte della stessa organizzazione vengono visualizzate automaticamente. Altrimenti, inserisci manualmente l'ID dell'account o l'ID dell'organizzazione.
Per i tag LF o le risorse del catalogo, scegliete.
Named data catalog resources
In Database, scegliete il database.
lakeformation_tutorial_cross_account_database_named_resource
Scegli Aggiungi tag LF.
In Tabelle, scegli Tutte le tabelle.
Per le autorizzazioni per le colonne della tabella, scegli Seleziona e Descrivi in Autorizzazioni per la tabella.
Seleziona Seleziona e descrivi, in Autorizzazioni concedibili.
Facoltativamente, per le autorizzazioni relative ai dati, scegli Accesso semplice basato su colonne se è richiesta la gestione delle autorizzazioni a livello di colonna.
Scegli Concessione.
Se non hai revocato l'autorizzazione perIAMAllowedPrincipals
, viene visualizzato l'errore Grant permissions failed. A questo punto, dovresti vedere la tabella di destinazione condivisa AWS RAM con l'account consumatore in Autorizzazioni, Autorizzazioni dati.
Accetta una condivisione di risorse da AWS RAM
Nota
Questo passaggio è necessario solo per la condivisione Account AWS basata, non per la condivisione basata sull'organizzazione.
Accedi alla AWS console https://console.aws.amazon.com/connect/
utilizzando l'amministratore del data lake dell'account consumer utilizzando il nome IAM utente (l'impostazione predefinita è DatalakeAdminConsumer) e la password specificati durante la creazione AWS CloudFormation dello stack. Sulla AWS RAM console, nel riquadro di navigazione, sotto Shared with me, Resource shares, scegli la risorsa condivisa Lake Formation. Lo stato dovrebbe essere In sospeso.
Scegli Azione e Concedi.
Conferma i dettagli della risorsa e scegli Accetta condivisione delle risorse.
A questo punto, l'amministratore del data lake dell'account consumer dovrebbe essere in grado di trovare la risorsa condivisa sulla console Lake Formation (https://console.aws.amazon.com/lakeformation/
) in Data Catalog, Databases.
Crea un link alla risorsa per la tabella condivisa
Segui le istruzioni riportate nel Fase 3: Implementare la condivisione tra account utilizzando il metodo di controllo degli accessi basato su tag passaggio 6 per creare un link a una risorsa per una tabella condivisa. Assegna un nome al link alla risorsa
amazon_reviews_table_named_resource_resource_link
. Crea il link alla risorsa nel databaselakeformation_tutorial_cross_account_database_consumer
.
Concedi al consumatore l'autorizzazione ai dati per la tabella condivisa
Per concedere al consumatore l'autorizzazione ai dati per la tabella condivisa, completa i seguenti passaggi:
Nella console di Lake Formationconsole (https://console.aws.amazon.com/lakeformation/
), in Autorizzazioni, Autorizzazioni Data lake, scegli Concedi. Per Principal, scegli IAMutenti e ruoli e scegli l'utente.
DataAnalyst
Per i tag LF o le risorse del catalogo, scegli Risorse del catalogo dati denominato.
In Database, scegliete il database.
lakeformation_tutorial_cross_account_database_named_resource
Se non vedi il database nell'elenco a discesa, scegli Carica altro.In Tabelle, scegli la tabella.
amazon_reviews_table_named_resource
Per le autorizzazioni per tabelle e colonne, seleziona Seleziona e descrivi in Autorizzazioni per le tabelle.
Scegli Concessione.
Concedi al consumatore l'autorizzazione ai dati per il collegamento alla risorsa
Oltre a concedere all'utente del data lake l'autorizzazione ad accedere alla tabella condivisa, è necessario concedere all'utente del data lake l'autorizzazione ad accedere al collegamento alla risorsa.
Nella console Lake Formation (https://console.aws.amazon.com/lakeformation/
), in Autorizzazioni, Autorizzazioni Data lake, scegli Concedi. Per Principal, scegli IAMutenti e ruoli e scegli l'utente.
DataAnalyst
Per i tag LF o le risorse del catalogo, scegli Risorse del catalogo dati denominato.
In Database, scegliete il database.
lakeformation_tutorial_cross_account_database_consumer
Se non vedi il database nell'elenco a discesa, scegli Carica altro.In Tabelle, scegli la tabella.
amazon_reviews_table_named_resource_resource_link
Per le autorizzazioni relative ai collegamenti alle risorse, seleziona Descrivi in Autorizzazioni per i collegamenti alle risorse.
Scegli Concessione.
A questo punto, l'utente analista di dati nell'account consumatore dovrebbe essere in grado di trovare il database e il collegamento alla risorsa e di interrogare la tabella condivisa tramite la console Athena.
In caso contrario, verifica se quanto segue è configurato correttamente:
Il link alla risorsa viene creato per la tabella condivisa
Hai concesso all'utente l'accesso alla tabella condivisa dall'account produttore
Hai concesso all'utente l'accesso al collegamento alla risorsa e al database per i quali è stato creato il collegamento alla risorsa
Passaggio 5: Pulisci AWS le risorse
Per evitare addebiti indesiderati Account AWS, puoi eliminare le AWS risorse che hai utilizzato per questo tutorial.
-
Accedi alla console di Lake Formation https://console.aws.amazon.com/lakeformation/
utilizzando l'account produttore ed elimina o modifica quanto segue: AWS Resource Access Manager condivisione di risorse
Etichette di Lake Formation
AWS CloudFormation pila
Impostazioni Lake Formation
AWS Glue Data Catalog
Accedi alla console di Lake Formation https://console.aws.amazon.com/lakeformation/
utilizzando l'account utente ed elimina o modifica quanto segue: Etichette di Lake Formation
AWS CloudFormation pila