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à.
Questo tutorial mostra come configurare Okta AWS Lake Formation, le AWS Identity and Access Management autorizzazioni e il driver JDBC Athena per abilitare l'uso federato di Athena basato su SAML. Lake Formation fornisce un controllo di accesso dettagliato sui dati disponibili in Athena per l'utente basato su SAML. Per configurare questa configurazione, il tutorial utilizza la console per sviluppatori Okta, le console AWS IAM e Lake Formation e lo strumento SQL Workbench/J.
Prerequisiti
Questo tutorial presuppone che tu abbia eseguito quanto segue:
-
Creazione di un account Amazon Web Services. Per creare un account, visita la homepage di Amazon Web Services
. -
Impostare una posizione dei risultati delle query per Athena in Amazon S3.
-
Registrazione di una posizione del bucket dati Amazon S3 con Lake Formation
-
Definizione di un database e di tabelle nel Catalogo dati AWS Glue che puntano ai tuoi dati in Amazon S3.
-
Se non hai ancora definito una tabella, esegui un AWS Glue crawler o usa Athena per definire un database e una o più tabelle per i dati a cui desideri accedere.
-
Questo tutorial utilizza una tabella basata sul set di dati sui viaggi di NYC Taxi
disponibile nel Registro di Open Data in AWS . Il tutorial utilizza il nome del database tripdb
e il nome della tabellanyctaxi
.
-
Fasi del tutorial
Fase 3: configurazione di un'applicazione Okta per l'autenticazione SAML
Fase 4: Creare un AWS SAML Identity Provider e un ruolo IAM di accesso a Lake Formation
Passaggio 5: aggiungere il ruolo IAM e il provider di identità SAML all'applicazione Okta
Passaggio 6: Concedi le autorizzazioni a utenti e gruppi tramite AWS Lake Formation
Passaggio 7: Verificare l'accesso tramite il client Athena JDBC
Fase 1: creare un account Okta
Questo tutorial utilizza Okta come provider di identità basato su SAML. Se non hai già un account Okta, puoi crearne uno gratuito. È necessario un account Okta per poter creare un'applicazione Okta per l'autenticazione SAML.
Per creare un account Okta
-
Per utilizzare Okta, andare alla pagina di iscrizione per sviluppatori Okta
e creare un account di prova Okta gratuito. Il servizio Developer Edition è gratuito fino ai limiti specificati da Okta all'indirizzo developer.okta.com/pricing . -
Quando ricevi l'e-mail di attivazione, attiva il tuo account.
Ti verrà assegnato un nome di dominio Okta. Salva il nome di dominio come riferimento. Successivamente, si utilizza il nome di dominio (
<okta-idp-domain>
) nella stringa JDBC che si connette ad Athena.
Fase 2: aggiungere gli utenti e i gruppi a Okta
In questo passaggio utilizzi la console Okta per i seguenti processi:
-
Creare due utenti Okta.
-
Creare due gruppi Okta.
-
Aggiungere un utente Okta a ciascun gruppo Okta.
Per aggiungere utenti a Okta
-
Dopo aver attivato l'account Okta, accedere come utente amministrativo al dominio Okta assegnato.
-
Nel pannello di navigazione a sinistra selezionare Directory e poi Persone.
-
Scegliere Aggiungi persona per aggiungere un nuovo utente che accederà ad Athena tramite il driver JDBC.
-
Nella finestra di dialogo Aggiungi persona, inserire le informazioni richieste.
-
Inserisci i valori per Nome e Cognome. In questo tutorial si utilizza
athena-okta-user
. -
Specificare un Nome utente e un'indirizzo email principale. In questo tutorial si utilizza
athena-okta-user@anycompany.com
. -
Per Password, scegli Impostato dall'amministratore e quindi fornisci una password. Questo tutorial cancella l'opzione per L'utente deve cambiare la password al primo accesso; i requisiti di sicurezza possono variare.
-
-
Scegliere Salva e aggiungi un altro.
-
Inserisci le informazioni per un altro utente. Questo esempio aggiunge l'utente business analyst.
athena-ba-user@anycompany.com
-
Seleziona Salva.
Nella procedura seguente, fornisci l'accesso a due gruppi Okta tramite il driver Athena JDBC aggiungendo un gruppo "Business Analysts" e un gruppo "Developer".
Per aggiungere gruppi Okta
-
Nel pannello di navigazione a sinistra scegli Directory e poi Persone.
-
Nella pagina Gruppi, scegli Aggiungi gruppo.
-
Nella finestra di dialogo Aggiungi gruppo, inserisci le informazioni richieste.
-
Per Nome, immetti
lf-business-analyst
. -
Per Descrizione del gruppo, immettere
Business Analysts
.
-
-
Scegli Add Group (Aggiungi gruppo).
-
Nella pagina Gruppi, scegliere di nuovo Aggiungi gruppo. Questa volta inserirai le informazioni per il gruppo Sviluppatori.
-
Inserisci le informazioni richieste.
-
Per Nome, immetti
lf-developer
. -
Per Descrizione del gruppo, immettere
Developers
.
-
-
Scegli Add Group (Aggiungi gruppo).
Ora che sono disponibili due utenti e due gruppi, è possibile aggiungere un utente a ciascun gruppo.
Per aggiungere utenti ai gruppi
-
Nella pagina Gruppi scegli il gruppo lf-developer appena creato. Aggiungerai a questo gruppo uno degli utenti Okta che hai creato come sviluppatore.
-
Scegli Gestisci persone.
-
Dall'elenco Non membri, scegli athena-okta-user.
La voce per l'utente si sposta dall'elenco di sinistra Non membri all'elenco di destra Membri.
-
Seleziona Salva.
-
Scegli Torna al gruppo, oppure scegli Directory, quindi scegli Gruppi.
-
Scegli il lf-business-analystgruppo.
-
Scegli Gestisci persone.
-
Aggiungilo athena-ba-userall'elenco dei membri del lf-business-analystgruppo, quindi scegli Salva.
-
Scegli Torna al gruppo, oppure scegli Directory, Gruppi.
La pagina Gruppi mostra ora che ogni gruppo ha un utente Okta.
Fase 3: configurazione di un'applicazione Okta per l'autenticazione SAML
In questo passaggio utilizzi la console degli sviluppatori Okta per i seguenti processi:
-
Aggiungi un'applicazione SAML da utilizzare con AWS.
-
Assegnare l'applicazione all'utente Okta.
-
Assegnare l'applicazione a un gruppo Okta.
-
Scaricare i metadati del provider di identità risultanti per un utilizzo successivo con AWS.
Per aggiungere un'applicazione per l'autenticazione SAML
-
Nel pannello di navigazione Okta, selezionare Applicazioni, Applications in modo da poter configurare un'applicazione Okta per l'autenticazione SAML su Athena.
-
Fare clic su Sfoglia catalogo delle app.
-
Nella casella di ricerca immetti
Redshift
. -
Scegliere Amazon Web Services Redshift. L'applicazione Okta in questo tutorial utilizza l'integrazione SAML esistente per Amazon Redshift.
-
Sulla pagina Amazon Web Services Redshift, scegliere Aggiungi per creare un'applicazione basata su SAML per Amazon Redshift.
-
Per Etichetta dell'applicazione, inserire
Athena-LakeFormation-Okta
, quindi scegliere Fine.
Dopo aver creato un'applicazione Okta, è possibile assegnarla agli utenti e ai gruppi creati.
Per assegnare l'applicazione a utenti e gruppi
-
Nella pagina Applicazioni, scegli l'applicazione Athena- LakeFormation -Okta.
-
Nella tab Assegnazioni, scegliere Assegna,Assegna alle persone.
-
Nella finestra di dialogo Assegna Athena-LakeFormation-Okta a persone, individuate l'athena-okta-userutente che avete creato in precedenza.
-
Scegliere Assegna per assegnare l'utente all'applicazione.
-
Scegliere Salva e torna indietro.
-
Seleziona Fatto.
-
Nella scheda Assegnazioni dell'applicazione Athena LakeFormation - -Okta, scegliete Assegna, Assegna a gruppi.
-
Per lf-business-analyst, scegli Assegna per assegnare l'applicazione Athena- LakeFormation -Okta al lf-business-analystgruppo, quindi scegli Fine.
Il gruppo viene visualizzato nell'elenco dei gruppi per l'applicazione.
Ora puoi scaricare i metadati dell'applicazione del provider di identità per l'utilizzo con AWS.
Per scaricare i metadati dell'applicazione
-
Scegliere la tab dell'applicazione Okta Accesso e quindi fare clic con il pulsante destro su Metadati del provider di identità.
-
Scegliere Salva link con nome per salvare i metadati del provider di identità, che sono in formato XML, in un file. Assegnare un nome che si riconosce (ad esempio,
Athena-LakeFormation-idp-metadata.xml
).
Fase 4: Creare un AWS SAML Identity Provider e un ruolo IAM di accesso a Lake Formation
In questo passaggio, si utilizza la console AWS Identity and Access Management (IAM) per eseguire le seguenti attività:
-
Creare un provider di identità per AWS.
-
Creare un ruolo IAM per l'accesso a Lake Formation.
-
Aggiungi la policy AmazonAthenaFullAccess gestita al ruolo.
-
Aggiungi una politica per Lake Formation e AWS Glue al ruolo.
-
Aggiungere una policy per i risultati delle query Athena al ruolo.
Per creare un provider di identità AWS SAML
-
Accedi alla console dell'account Amazon Web Services come amministratore dell'account Amazon Web Services e accedi alla console IAM (https://console.aws.amazon.com/iam/
). -
Nel pannello di navigazione, scegli Provider di identità, quindi clicca su Aggiungi provider.
-
Nella schermata Configura provider, inserisci le seguenti informazioni:
-
Per Tipo di provider, scegliere SAML.
-
Per Nome provider, inserire
AthenaLakeFormationOkta
. -
Per Documento dei metadati, utilizzare l'opzione Scegli file per caricare il file XML dei metadati del provider di identità (IdP) scaricato.
-
-
Scegli Aggiungi provider.
Successivamente, crei un ruolo IAM per AWS Lake Formation l'accesso. Aggiungere due policy in linea al ruolo. Una politica fornisce le autorizzazioni per accedere a Lake Formation e al AWS Glue APIs. L'altra policy fornisce l'accesso ad Athena e alla posizione dei risultati della query Athena in Amazon S3.
Per creare un ruolo IAM per l'accesso AWS Lake Formation
-
Nel pannello di navigazione della console IAM, scegliere Ruoli e quindi Crea ruolo.
-
Nella pagina Crea ruolo, procedere nel seguente modo:
-
Per Seleziona tipo di entità attendibile, scegliere SAML 2.0 Federation.
-
Per il provider SAML, seleziona AthenaLakeFormationOkta.
-
Per il provider SAML, seleziona l'opzione Consenti accesso e programmazione. AWS Management Console
-
Scegli Successivo: autorizzazioni.
-
-
Sulla pagina Allegare policy autorizzazioni, per Filtra policy inserire
Athena
. -
Seleziona la politica AmazonAthenaFullAccessgestita, quindi scegli Avanti: tag.
-
Nella pagina Add tags (Aggiungi tag), scegliere Next: Review (Successivo: rivedi).
-
Nella pagina Revisione, in Nome ruolo, inserisci un nome per il ruolo (ad esempio,
Athena-LakeFormation-OktaRole
), quindi scegli Crea ruolo.
Successivamente, aggiungi policy in linea che consentono l'accesso ai risultati delle query di Lake Formation e Athena in Amazon S3. AWS Glue APIs
Ogni volta che si utilizzano le policy IAM, assicurati di seguire le best practice IAM. Per ulteriori informazioni, consulta Best Practice di sicurezza in IAM nella Guida per l'utente di IAM.
Per aggiungere una politica in linea al ruolo di Lake Formation e AWS Glue
-
Nell'elenco dei ruoli nella console IAM, scegliere il
Athena-LakeFormation-OktaRole
appena creato. -
Nella pagina Riepilogo per il ruolo, nella tab Autorizzazioni scegli Aggiungi policy in linea.
-
Nella pagina Create policy (Crea policy), scegli JSON.
-
Aggiungi una politica in linea come la seguente che fornisce l'accesso a Lake Formation e al AWS Glue APIs.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:GetDatabase", "glue:GetDatabases", "glue:CreateDatabase", "glue:GetUserDefinedFunction", "glue:GetUserDefinedFunctions" ], "Resource": "*" } }
-
Scegli Verifica policy.
-
Per Nome, inserire un nome per la policy, ad esempio
LakeFormationGlueInlinePolicy
. -
Scegli Create Policy (Crea policy).
Per aggiungere una policy in linea al ruolo per la posizione dei risultati delle query Athena
-
Nella pagina Riepilogo per il ruolo
Athena-LakeFormation-OktaRole
, nella tab Autorizzazioni scegli Aggiungi policy in linea. -
Nella pagina Create policy (Crea policy), scegli JSON.
-
Aggiungi una policy in linea come la seguente, che consente al ruolo di accedere alla posizione dei risultati delle query Athena. Sostituisci i
<athena-query-results-bucket>
segnaposto nell'esempio con il nome del tuo bucket Amazon S3.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AthenaQueryResultsPermissionsForS3", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": [ "arn:aws:s3:::
<athena-query-results-bucket>
", "arn:aws:s3:::<athena-query-results-bucket>
/*" ] } ] } -
Scegli Verifica policy.
-
Per Nome, inserire un nome per la policy, ad esempio
AthenaQueryResultsInlinePolicy
. -
Scegli Create Policy (Crea policy).
Successivamente, copia l'ARN del ruolo di accesso Lake Formation e l'ARN del provider SAML creato. Questi sono necessari quando configuri l'applicazione Okta SAML nella sezione successiva dell'esercitazione.
Per copiare l'ARN del ruolo e l'ARN del provider di identità SAML
-
Dalla console IAM, nella pagina Riepilogo per il ruolo
Athena-LakeFormation-OktaRole
, scegli l'icona Copia negli appunti accanto ad ARN ruolo. L'ARN ha il formato seguente:arn:aws:iam::
<account-id>
:role/Athena-LakeFormation-OktaRole -
Salvare l'ARN completo in modo sicuro per riferimento futuro.
-
Nel pannello di navigazione della console IAM, seleziona Provider di identità.
-
Scegli il provider. AthenaLakeFormationOkta
-
Nella pagina Riepilogo, scegli l'icona Copia negli appunti accanto ad ARN fornitore. L'ARN avrà un aspetto simile al seguente:
arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta -
Salvare l'ARN completo in modo sicuro per riferimento futuro.
Passaggio 5: aggiungere il ruolo IAM e il provider di identità SAML all'applicazione Okta
In questo passaggio, si torna alla console di sviluppo Okta ed eseguire le seguenti attività:
-
Aggiungere attributi URL utente e gruppo Lake Formation all'applicazione Okta.
-
Aggiungere l'ARN per il provider di identità e l'ARN per il ruolo IAM all'applicazione Okta.
-
Copiare l'ID dell'applicazione Okta. L'ID dell'applicazione Okta è obbligatorio nel profilo JDBC che si connette ad Athena.
Per aggiungere attributi URL utente e gruppo Lake Formation all'applicazione Okta
-
Accedere alla console degli sviluppatori Okta.
-
Scegli la tab Applicazioni, quindi scegli l'applicazione
Athena-LakeFormation-Okta
. -
Scegliere nella tab Accedi per l'applicazione, quindi scegli Modifica.
-
Scegli Attributi (opzionali) per espanderla.
-
Per Istruzioni degli attributi (opzionali), aggiungi il seguente attributo:
-
Per Nome, immetti
https://lakeformation.amazon.com/SAML/Attributes/Username
. -
In Valore, inserire
user.login
.
-
-
Sotto Istruzioni degli attributi per i gruppi (opzionali), aggiungi il seguente attributo:
-
Per Nome, immetti
https://lakeformation.amazon.com/SAML/Attributes/Groups
. -
Per Formato nome, inserisci
Basic
-
Per Filtro, scegli Corrisponde alla regex, quindi inserisci
.*
nella casella filtro.
-
-
Scorri verso il basso fino alla sezione Impostazioni di accesso avanzate, dove aggiungerai il provider di identità e il ruolo IAM ARNs all'applicazione Okta.
Per aggiungere il ruolo ARNs for the identity provider e IAM all'applicazione Okta
-
Per Idp ARN e Role ARN, immettere l'ARN del provider di AWS identità e il ruolo ARN come valori separati da virgole nel formato,.
<saml-arn>
<role-arn>
La stringa combinata dovrebbe essere simile alla seguente:arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta,arn:aws:iam::<account-id>
:role/Athena-LakeFormation-OktaRole -
Seleziona Salva.
Successivamente, copiare l'ID dell'applicazione Okta. Ne avrai bisogno più tardi per la stringa JDBC che si connette ad Athena.
Per trovare e copiare l'ID dell'applicazione Okta
-
Selezionare la tab Generale dell'applicazione Okta.
-
Scorri in basso fino alla sezione Link per l'incorporamento dell'app.
-
Da Incorpora link, copia e salva in modo sicuro la porzione dell'ID dell'applicazione Okta dell'URL. L'ID dell'applicazione Okta è la parte dell'URL dopo
amazon_aws_redshift/
ma prima della barra in avanti successiva. Ad esempio, se l'URL contieneamazon_aws_redshift/aaa/bbb
, l'ID dell'applicazione èaaa
.
Nota
Il link per l'incorporamento non può essere utilizzato per accedere direttamente alla console Athena per visualizzare i database. Le autorizzazioni Lake Formation per utenti e gruppi SAML vengono riconosciute solo quando si utilizza il driver JDBC oppure ODBC per inviare query ad Athena. Per visualizzare i database, è possibile utilizzare lo strumento SQL Workbench/J tool, which uses the JDBC driver to connect to Athena. The SQL Workbench/J in cui è incluso. Passaggio 7: Verificare l'accesso tramite il client Athena JDBC
Passaggio 6: Concedi le autorizzazioni a utenti e gruppi tramite AWS Lake Formation
In questo passaggio, utilizzi la console Lake Formation per concedere autorizzazioni per una tabella all'utente e al gruppo SAML. Si possono eseguire queste attività:
-
Specificare l'ARN dell'utente Okta SAML e le autorizzazioni utente associate nella tabella.
-
Specificare l'ARN del gruppo Okta SAML e le autorizzazioni gruppo associate nella tabella.
-
Verificare le autorizzazioni concesse.
Per concedere autorizzazioni in Lake Formation per l'utente Okta
-
Accedi come amministratore data lake alla AWS Management Console.
Apri la console Lake Formation all'indirizzo https://console.aws.amazon.com/lakeformation/
. -
Dal pannello di navigazione, seleziona Tabelle, quindi seleziona la tabella per la quale desideri concedere le autorizzazioni. Questo tutorial utilizza la tabella
nyctaxi
dal databasetripdb
. -
Da Operazioni, scegliere Concessione.
-
Nella finestra di dialogo Concedi autorizzazioni inserisci le seguenti informazioni:
-
In QuickSight Utenti e gruppi SAML e Amazon, inserisci l'ARN dell'utente SAML Okta nel seguente formato:
arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta:user/<athena-okta-user>
@<anycompany.com>
-
Per Colonne, per Scegli il tipo di filtro e, facoltativamente, scegli Includi colonne o Escludi colonne.
-
Usa il menu a discesa Scegli una o più colonne sotto il filtro per specificare le colonne che desideri includere o escludere per o dall'utente.
-
Per Autorizzazioni tabella, scegli Seleziona. Questa esercitazione concede solo l'autorizzazione
SELECT
; i requisiti possono variare.
-
-
Scegli Concessione.
Ora eseguire passaggi simili per il gruppo Okta.
Per concedere autorizzazioni in Lake Formation per il gruppo Okta
-
Sulla pagina Tabelle della console Lake Formation, assicurarsi che la tabella nyctaxi sia ancora selezionata.
-
Da Operazioni, scegliere Concessione.
-
Nella finestra di dialogo Concedi autorizzazioni inserisci le seguenti informazioni:
-
In QuickSight Utenti e gruppi SAML e Amazon, inserisci l'ARN del gruppo Okta SAML nel seguente formato:
arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta:group/lf-business-analyst -
PerColonne,scegli il tipo di filtro, scegli Includi colonne.
-
Per Scegli una o più colonne, scegliere le prime tre colonne della tabella.
-
Per Autorizzazioni tabella, scegli le autorizzazioni di accesso specifiche da concedere. Questa esercitazione concede solo l'autorizzazione
SELECT
; i requisiti possono variare.
-
-
Scegli Concessione.
-
Per verificare le autorizzazioni concesse, scegli Azioni, Visualizza autorizzazioni.
La pagina delle autorizzazioni relative ai dati della
nyctaxi
tabella mostra le autorizzazioni per e il gruppo. athena-okta-userlf-business-analyst
Passaggio 7: Verificare l'accesso tramite il client Athena JDBC
Ora puoi utilizzare un client JDBC per eseguire una connessione di prova ad Athena come utente Okta SAML.
In questa sezione esegui le seguenti attività:
-
Prepara il client test: scarica il driver Athena JDBC, installa SQL Workbench e aggiungi il driver a Workbench. Questo tutorial utilizza SQL Workbench per accedere ad Athena tramite l'autenticazione Okta e per verificare le autorizzazioni Lake Formation.
-
In SQL Workbench:
-
Creare una connessione per l'utente Athena Okta.
-
Eseguire query di test come utente Athena Okta.
-
Creare e testare una connessione per l'utente business analyst.
-
-
Nella console Okta, aggiungere l'utente business analyst al gruppo di sviluppatori.
-
Nella console Lake Formation, configurare le autorizzazioni di tabella per il gruppo di sviluppatori.
-
In SQL Workbench, esegui query di test come utente business analyst e verifica in che modo la modifica delle autorizzazioni influisce sui risultati.
Per preparare il client di test
-
Scaricare ed estrarre il driver Athena JDBC compatibile con Lake Formation (2.0.14 o versione successiva) da Connect ad Amazon Athena con JDBC.
-
Scaricare e installare lo strumento di query SQL gratuito SQL Workbench/J
disponibile con una licenza Apache 2.0 modificata. -
In SQL Workbench, scegliere File, quindi scegliere Gestisci driver.
-
Nella finestra di dialogo Gestisci driver completare la seguente procedura:
-
Scegliere l'icona del nuovo driver.
-
Per Nome, immetti
Athena
. -
Per Libreria, scegliere il file
.jar
Simba Athena JDBC appena scaricato. -
Scegli OK.
-
Ora puoi creare e testare una connessione per l'utente Athena Okta.
Per creare una connessione per l'utente Okta
-
Scegliere File, Finestra Connect.
-
Nella finestra di dialogo Profilo di connessione creare una connessione inserendo le informazioni seguenti:
-
Nella casella Nome, inserire
Athena_Okta_User_Connection
. -
Per Driver, scegliere il driver JDBC Simba Athena.
-
Per l'URL, esegui una delle seguenti operazioni:
-
Per utilizzare un URL di connessione, inserire una stringa di connessione a riga singola. L'esempio seguente aggiunge interruzioni di riga per migliorare la leggibilità.
jdbc:awsathena://AwsRegion=
region-id
; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider; user=athena-okta-user
@anycompany.com
; password=password
; idp_host=okta-idp-domain
; App_ID=okta-app-id
; SSL_Insecure=true; LakeFormationEnabled=true; -
Per utilizzare un URL AWS basato sul profilo, procedi nel seguente modo:
-
Configura un AWS profilo con un file di AWS credenziali come nell'esempio seguente.
[
athena_lf_dev
] plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider idp_host=okta-idp-domain
app_id=okta-app-id
uid=athena-okta-user
@anycompany.com
pwd=password
-
Per URL, inserisci una stringa di connessione a riga singola come nel seguente esempio. L'esempio aggiunge interruzioni di riga per migliorare la leggibilità.
jdbc:awsathena://AwsRegion=
region-id
; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; profile=athena_lf_dev
; SSL_Insecure=true; LakeFormationEnabled=true;
-
Questi esempi sono rappresentazioni di base dell'URL necessario per connettersi ad Athena. Per l'elenco completo dei parametri supportati nell'URL, consulta la documentazione JDBC.
-
L'immagine seguente mostra un profilo di connessione SQL Workbench che utilizza un URL di connessione.
-
Dopo aver stabilito una connessione per l'utente Okta, è possibile testarla recuperando alcuni dati.
Per testare la connessione per l'utente Okta
-
Scegli Test e quindi verifica che la connessione abbia esito positivo.
-
Dalla finestra Istruzione di SQL Workbench, eseguire il comando SQL
DESCRIBE
seguente. Verificare che siano mostrate tutte le colonne.DESCRIBE "tripdb"."nyctaxi"
-
Dalla finestra Istruzione di SQL Workbench, eseguire il comando SQL
SELECT
seguente. Verificare che siano mostrate tutte le colonne.SELECT * FROM tripdb.nyctaxi LIMIT 5
Successivamente, verifichi che athena-ba-user, come membro del lf-business-analystgruppo, abbia accesso solo alle prime tre colonne della tabella specificata in precedenza in Lake Formation.
Per verificare l'accesso per athena-ba-user
-
In SQL Workbench, nella finestra di dialogo Profilo di connessione creare un altro profilo di connessione.
-
Per il nome del profilo di connessione, inserire
Athena_Okta_Group_Connection
. -
Per Driver, scegliere il driver JDBC Simba Athena.
-
Per l'URL, esegui una delle seguenti operazioni:
-
Per utilizzare un URL di connessione, inserire una stringa di connessione a riga singola. L'esempio seguente aggiunge interruzioni di riga per migliorare la leggibilità.
jdbc:awsathena://AwsRegion=
region-id
; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; AwsCredentialsProviderClass=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider; user=athena-ba-user
@anycompany.com
; password=password
; idp_host=okta-idp-domain
; App_ID=okta-application-id
; SSL_Insecure=true; LakeFormationEnabled=true; -
Per utilizzare un URL AWS basato sul profilo, effettuate le seguenti operazioni:
-
Configura un AWS profilo con un file di credenziali come nell'esempio seguente.
[
athena_lf_ba
] plugin_name=com.simba.athena.iamsupport.plugin.OktaCredentialsProvider idp_host=okta-idp-domain
app_id=okta-application-id
uid=athena-ba-user
@anycompany.com
pwd=password
-
Per URL, inserire una stringa di connessione a riga singola come la seguente. L'esempio aggiunge interruzioni di riga per migliorare la leggibilità.
jdbc:awsathena://AwsRegion=
region-id
; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; profile=athena_lf_ba
; SSL_Insecure=true; LakeFormationEnabled=true;
-
-
-
-
Scegli Test per confermare che la connessione funzioni.
-
Dalla finestra Istruzione SQL, eseguire gli stessi comandi SQL
DESCRIBE
eSELECT
eseguiti in precedenza ed esaminare i risultati.Poiché athena-ba-userè un membro del lf-business-analystgruppo, vengono restituite solo le prime tre colonne specificate nella console Lake Formation.
Successivamente, si torna alla console Okta per aggiungere athena-ba-user
al gruppo Okta lf-developer
.
Per aggiungere il athena-ba-user al gruppo lf-developer
-
Accedi alla console Okta come utente amministratore del dominio Okta assegnato.
-
Scegli Directory e quindi scegli Gruppi.
-
Nella pagina Gruppi scegli il gruppo lf-developer.
-
Scegli Gestisci persone.
-
Dall'elenco Non membri, scegli di aggiungerlo athena-ba-useral gruppo lf-developer.
-
Seleziona Salva.
Ora torna alla console Lake Formation per configurare le autorizzazioni di tabella per il gruppo lf-developer.
Per configurare i permessi delle tabelle per lf-developer-group
-
Accedi alla console Lake Formation come amministratore Data Lake.
-
Nel pannello di navigazione, seleziona Tabelle.
-
Seleziona la tabella nyctaxi.
-
Scegli Operazioni, Concessione.
-
Nella finestra di dialogo Concessione di autorizzazioni inserire le informazioni riportate di seguito:
-
Per QuickSight utenti e gruppi SAML e Amazon, inserisci l'ARN del gruppo di sviluppatori Okta SAML lf-developer nel seguente formato:
-
PerColonne,scegli il tipo di filtro, scegli Includi colonne.
-
Seleziona la colonna trip_type.
-
Per Autorizzazioni tabella, scegli SELEZIONA.
-
-
Scegli Concessione.
Ora è possibile utilizzare SQL Workbench per verificare la modifica delle autorizzazioni per il gruppo lf-developer. La modifica dovrebbe riflettersi nei dati a disposizione di athena-ba-user, che ora è membro del gruppo lf-developer.
Per verificare la modifica delle autorizzazioni per athena-ba-user
-
Chiudere il programma SQL Workbench e quindi riaprirlo.
-
Connect al profilo per athena-ba-user.
-
Dalla finestra Istruzione, emettere le stesse istruzioni SQL eseguite in precedenza:
Questa volta, viene mostrata la colonna trip_type.
Poiché ora athena-ba-userè membro sia di lf-developer che dei lf-business-analystgruppi, la combinazione dei permessi di Lake Formation per quei gruppi determina le colonne che vengono restituite.
Conclusioni
In questo tutorial hai configurato l'integrazione di Athena con l' AWS Lake Formation utilizzo di Okta come provider SAML. Hai utilizzato Lake Formation e IAM per controllare le risorse disponibili per l'utente SAML nel tuo data lake AWS Glue Data Catalog.
Risorse correlate
Per informazioni correlate, consulta le seguenti risorse.
-
Concessione e revoca delle autorizzazioni del catalogo dati nella Guida per gli sviluppatori di AWS Lake Formation .
-
Provider di identità e federazione nella Guida per l'utente di IAM.
-
Creazione di provider di identità SAML IAM nella Guida per l'utente di IAM.
-
Abilitazione della federazione all' AWS utilizzo di Windows Active Directory, ADFS e SAML 2.0
sul Security Blog.AWS