Amazon EMR Studio è un ambiente di sviluppo integrato (IDE) che semplifica ai data scientist e agli ingegneri dei dati lo sviluppo, la visualizzazione e il debug di applicazioni di data engineering e data science scritte in R, Python, Scala e PySpark. EMR Studio fornisce notebook e strumenti Jupyter completamente gestiti come Spark UI e YARN Timeline Server tramite EMR Studio Workspaces. Puoi collegare un'area di lavoro EMR Studio a un cluster EMR e utilizzare la potenza di elaborazione del cluster EMR ed eseguire processi di data science sul cluster. I dati vengono spesso archiviati in data lake gestiti da Formazione AWS Lake, consentendoti di applicare un controllo capillare degli accessi attraverso un semplice meccanismo di concessione o revoca.
Siamo felici di presentarvi ruoli di esecuzione per gli spazi di lavoro di EMR Studio. Ora puoi definire un ruolo runtime e assegnarlo a un cluster EMR quando colleghi un'area di lavoro EMR Studio. I lavori sul cluster EMR utilizzeranno questo ruolo runtime per accedere alle risorse AWS. Dopo aver configurato un ruolo runtime, puoi anche utilizzare Lake Formation e applicare un controllo capillare dell'accesso ai dati per i lavori inviati da EMR Studio Workspace.
In precedenza, quando si collegavano spazi di lavoro EMR Studio ai cluster EMR, tutti gli spazi di lavoro dovevano utilizzare lo stesso Gestione dell'identità e dell'accesso di AWS (IAM), ovvero il ruolo del cluster Cloud di calcolo elastico di Amazon Profilo dell'istanza (Amazon EC2). Pertanto, tutti gli spazi di lavoro collegati allo stesso cluster EMR avevano lo stesso accesso ai dati. Per controllare l'accesso alle origini dati, ogni area di lavoro EMR Studio doveva utilizzare un cluster EMR diverso ed erano necessari più profili di istanze EMR.
A partire dal rilascio di Amazon EMR 6.11, ora puoi scegliere un ruolo runtime quando colleghi un'area di lavoro EMR Studio a un cluster EMR. Questo ruolo runtime copre l'ambito dell'accesso a livello di area di lavoro. I tuoi lavori Apache Livy e Apache Spark eseguiti dalle aree di lavoro EMR Studio avranno l'autorizzazione ad accedere solo ai dati e alle risorse consentiti dalle policy collegate al ruolo runtime. Inoltre, quando si accede ai dati dai data Lake gestiti con Lake Formation, è possibile applicare un controllo granulare dell'accesso ai dati utilizzando le autorizzazioni di Lake Formation. Ciò ti aiuta a ridurre i costi operativi.
In questo post, dimostriamo come configurare i ruoli runtime per le aree di lavoro EMR Studio e collegare un'area di lavoro a un cluster EMR con ruoli runtime. Poiché le grandi aziende in genere utilizzano più account AWS e molti di questi account potrebbero aver bisogno dell'accesso a un data Lake gestito da un singolo account AWS, nel nostro esempio vengono utilizzati due account AWS. Spieghiamo come controllare l'accesso ai ruoli runtime di EMR Studio, gestire l'accesso ai dati tra gli account in un data Lake tramite Lake Formation e applicare autorizzazioni a livello di tabella e di colonna ai ruoli runtime EMR.
Panoramica della soluzione
Per dimostrare il controllo capillare degli accessi, creiamo un esempio Colla AWS database denominato società e gestire l'autorizzazione del database in Lake Formation. Il database è composto da due tabelle separate:
- dipendenti – Questa tabella memorizza le informazioni sui dipendenti dell'azienda, inclusi ID dipendente, nome, reparto e stipendio
- prodotti – Questa tabella memorizza le informazioni sui prodotti venduti dall'azienda, inclusi ID prodotto, nome, categoria e prezzo
Per dimostrare il controllo dell'accesso ai dati, consideriamo i seguenti utenti dei dati:
- Alice, una scienziata dei dati nel team di vendita – Dovrebbe avere accesso in sola lettura a tutte le colonne del file
products
tabella e le colonne selezionate, inclusi uID, nome e dipartimento nel fileemployees
tavolo - Bob, uno scienziato dei dati nel team delle risorse umane – Dovrebbe avere accesso in sola lettura a tutte le colonne in
employees
tabella e non dovrebbe avere accesso al fileproducts
tavolo
Per dimostrare la condivisione dei dati tra account, consideriamo due account:
- Conto del produttore di dati – Ci riferiamo a questo account come
123456789012
in questo articolo. Questo account gestisce i dati grezzi in Servizio di archiviazione semplice Amazon (Amazon S3) e scrive i dati nel data Lake. ILcompany
il database e le tabelle dovrebbero essere in questo account. - Conto consumatore dati – Ci riferiamo a questo account come
111122223333
in questo articolo. A questo account gli utenti accedono direttamente per l'analisi dei dati e non ha accesso in scrittura ai dati. Questo account dovrebbe essere accessibile ad Alice e Bob.
L'architettura è implementata come segue:
- L'account del produttore di dati gestisce un data Lake. I dati grezzi vengono archiviati in bucket S3 e catalogati nel Catalogo dati di AWS Glue.
- Lake Formation nell'account del produttore di dati regola l'accesso ai dati tramite il Catalogo dati e fornisce la condivisione dei dati tra account con l'account del consumatore di dati.
- Lake Formation nell'account del consumatore di dati regola l'accesso tra account al data Lake a livello di tabella e le autorizzazioni granulari di Lake Formation. Per ulteriori informazioni, fare riferimento a Metodi per il controllo granulare degli accessi.
- Le aree di lavoro EMR Studio nell'account consumer di dati utilizzano i ruoli runtime durante l'esecuzione di processi su un cluster EMR.
- Il cluster EMR si connette a Glue Data Catalog nell'account del consumatore di dati ed esegue query sui dati dal data Lake tramite la condivisione dei dati tra account.
Il diagramma seguente illustra questa architettura.
Nelle sezioni seguenti, esamineremo i passaggi per condividere i dati tra account tramite Lake Formation, eseguire un'area di lavoro EMR Studio con ruoli runtime e dimostrare il controllo capillare degli accessi.
Prerequisiti
Dovresti avere i seguenti prerequisiti:
Creare l'infrastruttura nell'account del produttore di dati
Completare i seguenti passaggi per creare le risorse dell'infrastruttura:
- Accedi all'account AWS del produttore di dati (
123456789012
). - Scegli Avvia Stack per distribuire un modello CloudFormation per creare le risorse necessarie.
- Nel DataLakeBucketSuffisso, inserisci il suffisso per il bucket S3 utilizzato dal data Lake. Verrà creato il nome completo del bucket S3
{AwsAccoundId}-{AwsRegion}-{DataLakeBucketSuffix}
. - Dopo aver creato lo stack CloudFormation, vai al file Uscite scheda dello stack e acquisire il valore di
DataLakeS3Bucket
da utilizzare nel passaggio successivo.
Crea file di dati e caricali su Amazon S3 nell'account del produttore di dati
Configura la tua AWS CLI per utilizzare l'identità IAM con l'autorizzazione per caricare su DataLakeS3BucketName nell'account AWS del produttore di dati (123456789012
), oppure puoi accedere a CloudShell utilizzando il file Console di gestione AWS. Completa i seguenti passaggi:
- Sul tuo computer locale, spostati in una directory di tua scelta con il comando cd, ad esempio,
cd ~
. - Corri il copione con
chmod 744 create_sample_data.sh && ./create_sample_data.sh <DataLakeS3BucketName>
.
Lo script creerà una sottodirectory tmp
nella directory di lavoro corrente, crea i dati del test in file CSV e carica i file nel file DataLakeS3BucketName
Benna S3.
Configura Lake Formation nell'account del produttore di dati
In questa sezione, esaminiamo i passaggi per configurare Lake Formation nell'account del produttore di dati.
Configura le impostazioni della versione per la condivisione dei dati tra account di Lake Formation
Lake Formation supporta più versioni di condivisione dati. Per questo post utilizziamo la versione 3. Per ulteriori informazioni sulle differenze tra le versioni di condivisione dei dati, fare riferimento a Aggiornamento delle impostazioni della versione di condivisione dei dati su più account. Per modificare la versione di condivisione dei dati, vedere Per abilitare la nuova versione.
Registra la posizione di Amazon S3 come posizione del data Lake
Quando si registrare una posizione Amazon S3 con Lake Formation, specifichi un ruolo IAM con autorizzazioni di lettura/scrittura su quella posizione. Dopo la registrazione, quando i cluster EMR richiedono l'accesso a questa posizione Amazon S3, Lake Formation fornirà le credenziali temporanee del ruolo fornito per accedere ai dati. Abbiamo già creato il ruolo LakeFormationCompanyDatabaseDataAccessRole
a questo scopo nel passaggio precedente. Per registrare la posizione Amazon S3 come posizione del data Lake, completa la seguente procedura:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del produttore di dati (
123456789012
). - Nel pannello di navigazione, scegli Posizioni del data lake per Amministrazione.
- Scegli Registra posizione.
- Nel Percorso Amazon S3, accedere
s3://<DataLakeS3BucketName>/company-database
. - Nel Ruolo IAM, accedere
LakeFormationCompanyDatabaseDataAccessRole
. - Nel Modalità di autorizzazione, selezionare Formazione del lago.
- Scegli Registra posizione.
Revoca le autorizzazioni concesse a IAMAllowedPrincipals
Il IAMAllowedPrincipals
Il gruppo include tutti gli utenti e i ruoli IAM a cui è consentito l'accesso alle risorse del Catalogo dati dalle policy IAM. A applicare il modello di formazione del lago, abbiamo bisogno di revocare l'autorizzazione da IAMAllowedPrincipals utilizzando i seguenti passaggi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del produttore di dati.
- Nel pannello di navigazione, scegli Autorizzazioni Data Lake in Autorizzazioni.
- Filtra le autorizzazioni per
Database = company
edPrinciple=IAMAllowedPrinciples
. - Seleziona tutte le autorizzazioni concesse all'entità
IAMAllowedPrincipals
e scegli Revocare.
Configura le impostazioni di integrazione dell'applicazione
Per applicare le autorizzazioni per il cluster EMR, è necessario registrare un valore di tag di sessione con Lake Formation. Lake Formation utilizza questo tag di sessione per autorizzare i chiamanti e fornire l'accesso al data Lake. Ci registriamo Amazon EMR
come valore del tag di sessione. A questo valore verrà fatto riferimento nel file configurazione di sicurezza durante la creazione del cluster EMR.
Configura il tag di sessione utilizzando i seguenti passaggi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del produttore di dati.
- Scegli Impostazioni di integrazione dell'applicazione per Amministrazione nel pannello di navigazione.
- Seleziona Consenti ai motori esterni di filtrare i dati nelle posizioni Amazon S3 registrate con Lake Formation.
- Nel Valori dei tag di sessione, accedere
Amazon EMR
. - Nel ID account AWS, inserisci l'ID dell'account AWS del consumatore dati (
111122223333
). - Scegli Risparmi.
Condividere il database e le tabelle con l'account del consumatore di dati
Ora concediamo le autorizzazioni all'account AWS del consumatore di dati, incluse le autorizzazioni concesse. Ciò consente all'amministratore del data Lake Lake Formation nell'account del consumatore di dati di controllare l'accesso ai dati all'interno dell'account.
Concedere le autorizzazioni del database all'account del consumatore di dati
Completa i seguenti passi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del produttore di dati.
- Nel pannello di navigazione, scegli Database.
- Seleziona il database
company
e sul Azioni menu, sotto Permessiscegli Grant. - Nel Principi sezione, selezionare Conti esterni e inserisci l'account AWS del consumatore di dati (
111122223333
). - Nel Tag LF o risorse di catalogo sezione, scegliere
company
per Database. - Nel Permessi del database sezione, selezionare Descrivere per entrambi Permessi del database ed Autorizzazioni concedibili.
Ciò consente all'amministratore del Data Lake nell'account del consumatore di dati di descrivere il database e concedere le autorizzazioni di descrizione ad altre entità nell'account del consumatore di dati.
- Scegli Grant.
Concedere le autorizzazioni della tabella all'account del consumatore di dati
Completa i seguenti passi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del produttore di dati.
- Nel pannello di navigazione, scegli tavoli.
- Seleziona il
products
tabella, che appartiene acompany
database e sul Azioni menu, sotto Permessiscegli Grant. - Nel Principi sezione, selezionare Conti esterni ed entrare nell'account AWS del consumatore dati (
111122223333
). - Nel Tag LF o risorse di catalogo sezione, selezionare Risorse del catalogo dati con nome e specificare quanto segue:
- Nel Databasescegli
company
. - Nel tavoliscegli
products
edemployees
.
- Nel Databasescegli
- Nel Autorizzazioni della tabella sezione, scegliere Seleziona ed Descrivere per entrambi Autorizzazioni della tabella ed Autorizzazioni concedibili.
Ciò consente all'amministratore del data Lake nell'account del consumatore di dati di selezionare e descrivere le tabelle e concedere le autorizzazioni di selezione e descrizione delle tabelle ad altre entità nell'account del consumatore di dati.
- Nel Autorizzazioni sui dati sezione, selezionare Tutti i dati di accesso.
- Scegli Grant.
Ora abbiamo finito di configurare l'account del produttore di dati.
Configura l'infrastruttura nell'account del consumatore di dati
Completare i seguenti passaggi per creare le risorse dell'infrastruttura:
- Accedere all'account del consumatore dati (
111122223333
). - Scegli Pila di lancio per distribuire un modello CloudFormation per creare le risorse necessarie.
- Nel Etichetta di rilascio, inserisci l'etichetta di rilascio di Amazon EMR da utilizzare, che può essere solo emr-6.11 o successiva.
- Nel Tipo di istanza, scegli il tipo di istanza per il cluster EMR, ad esempio r4.4xlarge.
- Nel EMRS3Suffisso nomebucket, inserisci il suffisso del bucket S3 per archiviare i log del cluster EMR e i file del notebook EMR. Il nome completo del bucket S3 da creare sarà
{AWSAccoundId}-{AWSRegion}-{EMRS3BucketNameSuffix}
. - Nel Certificato S3PathToInTransit, inserisci il percorso S3 per il file .zip che contiene i file .pem utilizzati per la crittografia in transito.
Per istruzioni sulla creazione del file .zip che contiene i file .pem e sul caricamento nel bucket S3, fare riferimento a Fornitura di certificati per la crittografia dei dati in transito con la crittografia Amazon EMR.
- Dopo aver creato lo stack CloudFormation, vai al file Uscite scheda dello stack.
- Cattura il valore di
EMRStudioLink
da utilizzare per accedere a EMR Studio.
Accetta la condivisione delle risorse nell'account del consumatore di dati
Per accedere alle risorse condivise, devi prima accettare l'invito.
- Apri la console AWS RAM dell'account del consumatore di dati con l'identità IAM che ha accesso ad AWS RAM.
- Nel pannello di navigazione, scegli Condivisioni di risorse per Condiviso con me.
Dovresti vedere due condivisioni di risorse in sospeso dall'account del produttore di dati.
- Accetta entrambe le condivisioni di risorse.
Dovresti vedere il company
Banca dati, employees
tabella e products
tabella nel Catalogo dati.
Configura Lake Formation nell'account del consumatore di dati
In questa sezione, esaminiamo i passaggi per configurare Lake Formation nell'account del consumatore di dati.
Configura le impostazioni di integrazione dell'applicazione
Analogamente alla configurazione nell'account del produttore di dati, è necessario registrare Amazon EMR come tag di sessione. A questo valore si fa riferimento nel file configurazione di sicurezza durante la creazione del cluster EMR nello stack CloudFormation.
Per fare ciò, completa i seguenti passaggi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del consumatore dati (
111122223333
). - Scegli Impostazioni di integrazione dell'applicazione per Amministrazione nel pannello di navigazione.
- Seleziona Consenti ai motori esterni di filtrare i dati nelle posizioni Amazon S3 registrate con Lake Formation.
- Nel Valori dei tag di sessione, accedere
Amazon EMR
. - Nel ID account AWS, inserisci l'ID dell'account AWS del consumatore dati (
111122223333
). - Scegli Risparmi.
Concedere descrive le autorizzazioni per i ruoli runtime sul database predefinito
Se non disponi di un database predefinito in Lake Formation o se il tuo database predefinito dispone già delle autorizzazioni da concedere IAMAllowedPrinciples
, puoi saltare questo passaggio.
Amazon EMR controllerà il database predefinito per impostazione predefinita. Se disponi già di un database predefinito nel tuo Lake Formation, concedi l'autorizzazione di descrizione ai ruoli runtime sul database predefinito completando i seguenti passaggi:
- Apri la console Lake Formation con l'utente amministratore del data Lake Lake Formation nell'account del consumatore dati.
- Nel pannello di navigazione, scegli Database.
- Selezionare il database predefinito, verificare che l'ID dell'account proprietario sia l'account del consumatore dati (
111122223333
), e sul Azioni menù, scegliere Grant. - Nel Sezione Principi, selezionare Utenti e ruoli IAM.
- Nel Utenti e ruoli IAMscegli
sales-runtime-role
edhuman-resource-runtime-role
. - Nel Tag LF o risorse di catalogo, selezionare Risorse del catalogo dati con nome e scegli predefinito per Database.
- Nel Permessi del database sezione, per Permessi del databasescegli Descrivere.
- Scegli Grant.
Creare un collegamento alla risorsa per il database condiviso
Per accedere alle risorse del database e della tabella condivise dall'account AWS del produttore di dati, è necessario creare un file collegamento alla risorsa nell'account AWS del consumatore di dati. Un collegamento a una risorsa è un oggetto Data Catalog che rappresenta un collegamento a un database o una tabella locale o condivisa. Dopo aver creato un collegamento alla risorsa a un database o a una tabella, è possibile utilizzare il nome del collegamento alla risorsa ovunque si utilizzerebbe il nome del database o della tabella. In questo passaggio concedi l'autorizzazione sui collegamenti delle risorse ai principi del ruolo runtime. I ruoli runtime accederanno quindi ai dati nei database condivisi e nelle tabelle sottostanti tramite il collegamento alle risorse.
Per creare un collegamento a una risorsa, completare i seguenti passaggi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del consumatore dati.
- Nel pannello di navigazione, scegli Database.
- Seleziona il
company
database, verificare che l'ID dell'account proprietario sia l'account del produttore dei dati (123456789012
), e sul Azioni menù, scegliere Creare collegamenti alle risorse. - Nel Nome del collegamento alla risorsa, inserisci il nome del collegamento alla risorsa (ad esempio,
company-shared
). - Nel Regione del database condiviso, scegli la Regione del
company
Banca dati. - Nel Banca dati condivisa, scegli il database aziendale.
- Nel ID del proprietario del database condiviso, inserisci l'ID account dell'account del produttore di dati (
123456789012
). - Scegli Creare.
Concedere le autorizzazioni sul collegamento della risorsa al principio del ruolo di runtime
Concedi le autorizzazioni sul collegamento della risorsa al ruolo runtime vendite e al ruolo runtime risorse umane utilizzando i seguenti passaggi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del consumatore dati.
- Nel pannello di navigazione, scegli Database.
- Selezionare il collegamento alla risorsa (
company-shared
) e su Azioni menù, scegliere Grant. - Nel Principi sezione, selezionare Utenti e ruoli IAMe scegli
sales-runtime-role
edhuman-resource-runtime-role
. - Nel Tag LF o risorse di catalogo sezione, per Databasescegli
company-shared
. - Nel Autorizzazioni di collegamento alle risorse sezione, selezionare Descrivere.
Ciò consente ai ruoli runtime di descrivere il collegamento alla risorsa. Non effettuiamo alcuna selezione per le autorizzazioni concedibili perché i ruoli runtime non dovrebbero essere in grado di concedere autorizzazioni ad altri principi.
- Scegli Grant.
Concedere l'autorizzazione sulle tabelle al principio del ruolo di runtime
È necessario concedere le autorizzazioni sulle tabelle a sales-runtime-role
ed human-resource-runtime-role
per consentire l'accesso ai dati:
Human-resource-runtime-role
dovrebbe essere necessario descrivere e selezionare le autorizzazioni su tutte le colonne nel fileemployees
tabella e nessuna autorizzazione suproducts
tabella.Sales-runtime-role
dovrebbe avere autorizzazioni selezionate sulle colonneuid
,name
edepartment
nelemployees
tabella e descrivere e selezionare le autorizzazioni su tutte le colonne nel fileproducts
tabella.
Concedi l'autorizzazione sulla tabella dei dipendenti al ruolo runtime-risorse umane
Completa i seguenti passi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del consumatore dati.
- Nel pannello di navigazione, scegli Database.
- Selezionare il collegamento alla risorsa (
company-shared
) e su Azioni menù, scegliere Concessione sull'obiettivo. - Nel Sezione Principi, selezionare Utenti e ruoli IAM, Quindi scegliere
human-resource-runtime-role
. - Nel Tag LF o risorse di catalogo sezione, selezionare Risorse del catalogo dati con nome e specificare quanto segue:
- Nel Databasescegli
company
. - Nel tavoli¸ scegli
employees
.
- Nel Databasescegli
- Nel Autorizzazioni della tabella sezione, per Autorizzazioni della tabella, selezionare Descrivere ed Seleziona.
- Nel Autorizzazioni sui dati sezione, selezionare Tutti i dati di accesso.
- Scegli Grant.
Concedere l'autorizzazione sulla tabella dei dipendenti al ruolo runtime vendite
Completa i seguenti passi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del consumatore dati.
- Nel pannello di navigazione, scegli Database.
- Selezionare il collegamento alla risorsa (
company-shared
) e su Azioni menù, scegliere Concessione sull'obiettivo. - Nel Sezione Principi, selezionare Utenti e ruoli IAM, Quindi scegliere
sales-runtime-role
. - Nel Tag LF o risorse di catalogo sezione, selezionare Risorse del catalogo dati con nome e specificare quanto segue:
- Nel Databasescegli
company
. - Nel tavoliscegli
employees
.
- Nel Databasescegli
- Nel Autorizzazioni della tabella sezione, per Autorizzazioni della tabella, selezionare Seleziona.
- Nel Autorizzazioni sui dati sezione, selezionare Accesso basato su colonne.
- Seleziona Includi colonne e scegliere il
uid
,name
edepartment
colonne. - Scegli Grant.
Concedi l'autorizzazione sulla tabella dei prodotti al ruolo runtime vendite
Completa i seguenti passi:
- Apri la console Lake Formation con l'amministratore del data Lake Lake Formation nell'account del consumatore dati.
- Nel pannello di navigazione, scegli Database.
- Selezionare il collegamento alla risorsa (
company-shared
) e su Azioni menù, scegliere Concessione sull'obiettivo. - Nel Sezione Principi, selezionare Utenti e ruoli IAM, Quindi scegliere
sales-runtime-role
. - Nel Tag LF o risorse di catalogo sezione, selezionare Risorse del catalogo dati con nome e specificare quanto segue:
- Nel Databasescegli
company
. - Nel tavoliscegli
products
.
- Nel Databasescegli
- Nel Autorizzazioni della tabella sezione, per Autorizzazioni della tabella, selezionare Seleziona ed Descrivere.
- Nel Autorizzazioni sui dati sezione, selezionare Tutti i dati di accesso.
- Scegli Grant.
Accedi a EMR Studio e utilizza EMR Studio Workspace
Cambia il tuo ruolo a alice-role
or bob-role
sulla console utilizzando diversi browser Web per testare l'accesso. Apri il EMRStudioLink
URL dall'output dello stack CloudFormation per accedere a EMR Studio con ciascun ruolo, quindi completare i seguenti passaggi:
- Scegli Aree di lavoro nel riquadro di navigazione e scegli Crea spazio di lavoro.
- Immettere un nome e una descrizione per l'area di lavoro.
- Scegli Crea spazio di lavoro.
Una nuova scheda contenente JupyterLab si aprirà automaticamente quando l'area di lavoro sarà pronta. Abilita i popup nel tuo browser, se necessario.
- Scegli il Calcolare nel riquadro di navigazione per collegare EMR Studio Workspace a un motore di calcolo.
- Seleziona Cluster EMR su EC2 per Tipo di calcolo.
- Scegli l'ID del cluster EMR creato con AWS CloudFormation.
- Nel Ruolo di runtimescegli
sales-runtime-role
se hai effettuato l'accesso comealice-role
. Sceglierehuman-resource-runtime-role
se hai effettuato l'accesso comebob-role
. - Scegli allegare.
Esegui il codice nell'area di lavoro di EMR Studio e verifica l'accesso ai dati
Esegui il codice seguente nell'area di lavoro EMR Studio con un kernel PySpark dopo aver effettuato l'accesso con alice-role o bob-role:
Dovresti vedere risultati diversi quando utilizzi ruoli diversi.
Secondo la nostra configurazione di accesso ai dati in Lake Formation, Alice avrà pieno accesso ai dati per il products
tavolo. Può visualizzare tutte le colonne tranne quella relativa allo stipendio nel file employees
tabella.
Per Bob, secondo la nostra configurazione di accesso ai dati in Lake Formation, avrà pieno accesso ai dati a employees
tabella, ma non ha accesso al file products
tabella.
ripulire
Quando hai finito di sperimentare questa soluzione, ripulisci le tue risorse:
- Arresta ed elimina gli spazi di lavoro EMR Studio creati nell'account AWS del consumatore di dati.
- Elimina tutto il contenuto nel bucket S3
EMRS3Bucket
nell'account AWS del consumatore di dati. - Elimina lo stack CloudFormation nell'account AWS del consumatore di dati.
- Elimina tutto il contenuto nel bucket S3
DataLakeS3Bucket
nell'account AWS del produttore di dati. - Elimina lo stack CloudFormation nell'account AWS del produttore di dati.
Conclusione
Questo post ha mostrato come utilizzare i ruoli runtime per connettersi a un'area di lavoro EMR Studio con Amazon EMR per applicare il controllo granulare dell'accesso ai dati tra account con Lake Formation. Abbiamo anche dimostrato come più utenti EMR Studio possono connettersi allo stesso cluster EMR, ciascuno utilizzando un ruolo runtime con autorizzazioni corrispondenti al proprio livello individuale di accesso ai dati.
Per ulteriori informazioni sull'utilizzo degli spazi di lavoro EMR Studio con Lake Formation, fare riferimento a Esegui un'area di lavoro EMR Studio con un ruolo runtime. Ti invitiamo a provare questa nuova funzionalità e a connetterti con noi se hai domande o feedback!
Informazioni sugli autori
Ashley Zhou è un ingegnere di sviluppo software presso AWS. È interessata all'analisi dei dati e ai sistemi distribuiti.
Srividya Parthasarathy è Senior Big Data Architect nel team AWS Lake Formation. Le piace creare soluzioni di analisi e data mesh su AWS e condividerle con la community.
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- PlatoData.Network Generativo verticale Ai. Potenzia te stesso. Accedi qui.
- PlatoAiStream. Intelligenza Web3. Conoscenza amplificata. Accedi qui.
- PlatoneESG. Carbonio, Tecnologia pulita, Energia, Ambiente, Solare, Gestione dei rifiuti. Accedi qui.
- Platone Salute. Intelligence sulle biotecnologie e sulle sperimentazioni cliniche. Accedi qui.
- Fonte: https://aws.amazon.com/blogs/big-data/use-iam-runtime-roles-with-amazon-emr-studio-workspaces-and-aws-lake-formation-for-cross-account-fine-grained-access-control/
- :ha
- :È
- :non
- $ SU
- 100
- 107
- 11
- 20
- 7
- 8
- a
- capace
- WRI
- Accetta
- accesso
- Accesso ai dati
- accessibile
- accessibile
- Secondo
- Il mio account
- conti
- operanti in
- Dopo shavasana, sedersi in silenzio; saluti;
- alice
- Tutti
- consentire
- permesso
- consente
- già
- anche
- Amazon
- Amazon EC2
- Amazon EMR
- Amazon Web Services
- an
- .
- analitica
- ed
- in qualsiasi
- Apache
- Apache Spark
- Applicazioni
- applicazioni
- APPLICA
- architettura
- SONO
- AS
- At
- allegare
- autorizzare
- automaticamente
- AWS
- AWS CloudFormazione
- Colla AWS
- Formazione AWS Lake
- BE
- perché
- appartiene
- fra
- Big
- Big Data
- peso
- entrambi
- del browser
- browser
- Costruzione
- ma
- by
- Materiale
- catturare
- catalogo
- Categoria
- CD
- certificato
- il cambiamento
- dai un'occhiata
- scegliere
- Scegli
- cavedano
- Cluster
- codice
- colonne
- comunità
- azienda
- Società
- completamento di una
- completando
- Calcolare
- Configurazione
- Connettiti
- collega
- Prendere in considerazione
- consiste
- consolle
- Consumer
- contiene
- contenuto
- di controllo
- creare
- creato
- Creazione
- Credenziali
- Corrente
- dati
- l'accesso ai dati
- analisi dei dati
- Dati Analytics
- Lago di dati
- scienza dei dati
- scienziato di dati
- condivisione dei dati
- Banca Dati
- banche dati
- Predefinito
- definire
- dimostrare
- dimostrato
- Shirts Department
- schierare
- descrivere
- descrizione
- sviluppare
- Mercato
- differenze
- diverso
- direttamente
- distribuito
- sistemi distribuiti
- do
- non
- Dont
- giù
- ogni
- Dipendente
- dipendenti
- enable
- consentendo
- incoraggiare
- crittografia
- imporre
- motore
- ingegnere
- Ingegneria
- Ingegneri
- Motori
- entrare
- aziende
- Ambiente
- Etere (ETH)
- esempio
- Tranne
- Spiegare
- esterno
- Compila il
- File
- filtro
- Nome
- i seguenti
- segue
- Nel
- formazione
- da
- pieno
- completamente
- funzionalità
- dato
- Go
- governa
- concedere
- concesso
- Gruppo
- ha avuto
- contento
- Avere
- he
- aiuta
- Come
- Tutorial
- HTML
- http
- HTTPS
- umano
- RISORSE UMANE
- Risorse umane
- IAM
- ID
- Identità
- if
- illustra
- implementato
- in
- inclusi
- Compreso
- individuale
- informazioni
- Infrastruttura
- esempio
- istruzioni
- integrato
- integrazione
- interessato
- introdurre
- invito
- IT
- Offerte di lavoro
- jpg
- Discografica
- lago
- laghi
- grandi
- Grandi imprese
- lanciare
- IMPARARE
- Livello
- LIMITE
- LINK
- Collegamento
- locale
- località
- posizioni
- macchina
- make
- FA
- gestire
- gestito
- gestione
- gestisce
- molti
- corrispondenza
- meccanismo
- Menu
- maglia
- forza
- Scopri di più
- cambiano
- multiplo
- devono obbligatoriamente:
- Nome
- Detto
- Navigare
- Navigazione
- necessaria
- Bisogno
- di applicazione
- New
- GENERAZIONE
- no
- taccuino
- computer portatili
- adesso
- oggetto
- of
- di frequente
- on
- esclusivamente
- aprire
- operativa
- or
- Altro
- nostro
- su
- produzione
- proprietario
- vetro
- sentiero
- in attesa di
- autorizzazione
- permessi
- Platone
- Platone Data Intelligence
- PlatoneDati
- Termini e Condizioni
- Post
- energia
- prerequisiti
- precedente
- Direttore
- presidi
- principio
- principi
- produttore
- Prodotto
- Prodotti
- Profilo
- Profili
- fornire
- purché
- fornisce
- scopo
- Python
- query
- Domande
- R
- RAM
- Crudo
- dati grezzi
- pronto
- ridurre
- riferimento
- regione
- registro
- registrato
- registrazione
- rilasciare
- richiesta
- risorsa
- Risorse
- colpevole
- Risultati
- Ruolo
- ruoli
- Correre
- running
- stipendio
- vendite
- stesso
- Scala
- Scienze
- Scienziato
- scienziati
- copione
- Sezione
- sezioni
- vedere
- selezionato
- anziano
- separato
- server
- Servizi
- Sessione
- set
- regolazione
- impostazioni
- flessibile.
- Condividi
- condiviso
- azioni
- compartecipazione
- lei
- dovrebbero
- ha mostrato
- segno
- firmato
- firma
- Un'espansione
- singolo
- Software
- lo sviluppo del software
- venduto
- soluzione
- Soluzioni
- fonti
- Scintilla
- pila
- step
- Passi
- conservazione
- Tornare al suo account
- memorizzati
- negozi
- lineare
- studio
- presentata
- tale
- fornire
- supporti
- SISTEMI DI TRATTAMENTO
- tavolo
- TAG
- team
- modello
- temporaneo
- test
- che
- Il
- loro
- Li
- poi
- perciò
- questo
- quelli
- Attraverso
- time line
- a
- strumenti
- transito
- prova
- seconda
- Digitare
- tipicamente
- ui
- per
- sottostante
- Caricamento
- URL
- us
- uso
- utilizzato
- Utente
- utenti
- usa
- utilizzando
- APPREZZIAMO
- verificare
- versione
- via
- Visualizza
- visualizzare
- camminare
- we
- sito web
- Browser Web
- servizi web
- sono stati
- quando
- quale
- tutto
- volere
- con
- entro
- lavoro
- sarebbe
- scrivere
- scritto
- YAML
- Tu
- Trasferimento da aeroporto a Sharm
- zefiro
- Codice postale