Amazzone Atena è un servizio di query interattivo che semplifica l'analisi dei dati direttamente in Servizio di archiviazione semplice Amazon (Amazon S3) utilizzando SQL standard. I team operativi cloud possono utilizzare Gestione dell'identità e dell'accesso di AWS (IAM) per gestire centralmente l'accesso ad Athena. Ciò semplifica l'amministrazione consentendo a un team dirigente di controllare l'accesso degli utenti ai gruppi di lavoro Athena da un Azure AD gestito centralmente connesso a una Active Directory locale. Questa configurazione riduce il sovraccarico dei team operativi cloud durante la gestione degli utenti IAM. Athena supporta la federazione con Active Directory Federation Service (ADFS), PingFederate, Okta e la federazione Microsoft Azure Active Directory (Azure AD).
Questo post del blog illustra come impostare la federazione AWS IAM con Azure AD connesso ad AD locale e configurare l'accesso a livello di gruppo di lavoro Athena per diversi utenti. Tratteremo due scenari:
- Utenti e gruppi gestiti di Azure AD e AD locale.
- Utenti e gruppi gestiti da Active Directory in locale sincronizzati con Azure AD.
Non viene illustrato come configurare la sincronizzazione tra AD locale e Azure AD con l'aiuto di Azure AD Connect. Per ulteriori informazioni su come integrare Azure AD con AWS Managed AD, consulta Abilita Office 365 con AWS Managed Microsoft AD senza sincronizzazione delle password degli utenti e come integrare Azure AD con un AD locale, vedere l'articolo di Microsoft Installazione personalizzata di Azure Active Directory Connect.
Panoramica della soluzione
Questa soluzione ti aiuta a configurare la federazione IAM con Azure AD connesso ad AD locale e a configurare l'accesso a livello di gruppo di lavoro Athena per gli utenti. È possibile controllare l'accesso al gruppo di lavoro da un gruppo AD locale o da un gruppo Azure AD. La soluzione è composta da quattro sezioni:
- Configura Azure AD come provider di identità (IdP):
- Configura Azure AD come IdP SAML per un'app AWS con account singolo.
- Configurare l'app Azure AD con autorizzazioni delegate.
- Configura il tuo IdP IAM e i tuoi ruoli:
- Configurare un IdP che considera attendibile Azure AD.
- Configura un utente IAM con autorizzazione del ruolo di lettura.
- Configura un ruolo e policy IAM per ciascun gruppo di lavoro Athena.
- Configura l'accesso utente in Azure AD:
- Configura il provisioning automatico dei ruoli IAM.
- Configura l'accesso utente al ruolo del gruppo di lavoro Athena.
- Accedi ad Atena:
- Accedi ad Athena utilizzando Microsoft Portale Le mie app.
- Accedi ad Atena utilizzando SQL Workbench/J uno strumento di query SQL multipiattaforma gratuito, indipendente dal DBMS.
Il diagramma seguente illustra l'architettura della soluzione.
Il flusso di lavoro della soluzione include i seguenti passaggi:
- La workstation dello sviluppatore si connette ad Azure AD tramite un driver JDBC Athena SQL Workbench/j per richiedere un token SAML (processo OAuth in due passaggi).
- Azure AD invia il traffico di autenticazione in locale tramite un agente pass-through di Azure AD o ADFS.
- L'agente pass-through di Azure AD o ADFS si connette al controller di dominio locale e autentica l'utente.
- L'agente pass-through o ADFS invia un token di successo ad Azure AD.
- Azure AD costruisce un token SAML contenente il ruolo IAM assegnato e lo invia al client.
- Il client si connette a Servizio token di sicurezza AWS (AWS STS) e presenta il token SAML per assumere il ruolo Athena e genera credenziali temporanee.
- AWS STS invia credenziali temporanee al client.
- Il client utilizza le credenziali temporanee per connettersi ad Athena.
Prerequisiti
È necessario soddisfare i seguenti requisiti prima di configurare la soluzione:
- Sul lato Azure AD, completare quanto segue:
- Configura il server Azure AD Connect e sincronizzalo con AD locale
- Configurare il pass-through di Azure AD o la federazione di Microsoft ADFS tra Azure AD e AD locale
- Crea tre utenti (
user1
,user2
,user3
) e tre gruppi (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) per tre rispettivi gruppi di lavoro Athena
- Sul lato Athena, crea tre gruppi di lavoro Athena:
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
Per ulteriori informazioni sull'utilizzo dei gruppi di lavoro Athena di esempio, vedere Un data lake pubblico per l'analisi dei dati COVID-19.
Configurare Azure AD
In questa sezione tratteremo i dettagli di configurazione di Azure AD per Athena nella sottoscrizione di Microsoft Azure. Principalmente registreremo un'app, configureremo la federazione, delegheremo l'autorizzazione dell'app e genereremo il segreto dell'app.
Imposta Azure AD come IdP SAML per un'app AWS con account singolo
Per configurare Azure AD come IdP SAML, completare i passaggi seguenti:
- Accedi al Portale di Azure con le credenziali di amministratore globale di Azure AD.
- Scegli Directory attiva di Azure.
- Scegli Applicazioni aziendali.
- Scegli Nuova applicazione.
- Cercare
Amazon
nella barra di ricerca. - Scegli Accesso ad account singolo AWS.
- Nel nome, entrare
Athena-App
. - Scegli Creare.
- Nel Iniziamo sezione, sotto Configura il Single Sign-Onscegli Inizia.
- Nel Seleziona un metodo di accesso singoloscegli SAML.
- Nel Configurazione SAML di basescegli Modifica.
- Nel Identificatore (ID entità), accedere
https://signin.aws.amazon.com/saml#1
. - Scegli Risparmi.
- Sotto Certificato di firma SAML, Per XML dei metadati della federazionescegli Scaricare.
Questo file è necessario per configurare il tuo IdP IAM nella sezione successiva. Salva questo file sul tuo computer locale per utilizzarlo in seguito durante la configurazione di IAM su AWS.
Configura la tua app Azure AD con autorizzazioni delegate
Per configurare l'app Azure AD, completare i passaggi seguenti:
- Scegli Directory attiva di Azure.
- Scegli Registrazioni di app ed tutte le applicazioni.
- Cerca e scegli App Athena.
- Annotare i valori per ID dell'applicazione (client) ed ID directory (tenant).
Questi valori sono necessari nella connessione JDBC quando ti connetti ad Athena.
- Sotto Autorizzazioni APIscegli Aggiungi un permesso.
- Scegli Microsoft Graph ed Autorizzazioni delegate.
- Nel Seleziona le autorizzazioni, Cercare
user.read
. - Nel Utentescegli Utente.Leggi.
- Scegli Aggiungi autorizzazione.
- Scegli Concedi il consenso dell'amministratore ed Sì.
- Scegli Autenticazione ed Aggiungi una piattaforma.
- Scegli Applicazioni mobili e desktop.
- Sotto URI di reindirizzamento personalizzati, accedere
http://localhost/athena
. - Scegli Configurazione.
- Scegli Certificati e segreti ed Nuovo segreto del cliente.
- Immettere una descrizione.
- Nel Scadescegli 24 mesi.
- Copia il valore del segreto client da utilizzare durante la configurazione della connessione JDBC.
Configura l'IdP e i ruoli IAM
In questa sezione tratteremo la configurazione IAM nell'account AWS. Principalmente creeremo un utente IAM, ruoli e policy.
Configurare un IdP che considera attendibile Azure AD
Per configurare il tuo IdP che considera attendibile Azure AD, completa i seguenti passaggi:
- Sulla console IAM, scegli Provider di identità nel pannello di navigazione.
- Scegli Aggiungi fornitore.
- Nel Tipo di providerscegli SAML.
- Nel Nome del provider, accedere
AzureADAthenaProvider
. - Nel Documento metadati, caricare il file scaricato dal portale di Azure.
- Scegli Aggiungi fornitore.
Configura un utente IAM con autorizzazione del ruolo di lettura
Per configurare il tuo utente IAM, completa i seguenti passaggi:
- Sulla console IAM, scegli Utenti nel pannello di navigazione.
- Scegli Aggiungi utente.
- Nel nome utente, accedere
ReadRoleUser
. - Nel Tipo di accesso, selezionare Accesso programmatico.
- Scegli Avanti: Autorizzazioni.
- Nel Imposta autorizzazioniscegli Allegare direttamente le politiche esistenti.
- Scegli Crea politica.
- Seleziona JSON e inserisci la seguente policy, che fornisce l'accesso in lettura per enumerare i ruoli in IAM:
- Scegli Avanti: Tag.
- Scegli Avanti: Revisione.
- Nel Nome, accedere
readrolepolicy
. - Scegli Crea politica.
- Sulla Aggiungi utente scheda, cercare e scegliere il ruolo
readrole
. - Scegli Avanti: tag.
- Scegli Avanti: Revisione.
- Scegli Creare un utente.
- Scarica il file .csv contenente l'ID della chiave di accesso e la chiave di accesso segreta.
Li usiamo durante la configurazione del provisioning automatico di Azure AD.
Configura un ruolo e policy IAM per ciascun gruppo di lavoro Athena
Per configurare ruoli e policy IAM per i tuoi gruppi di lavoro Athena, completa i seguenti passaggi:
- Sulla console IAM, scegli Ruoli nel pannello di navigazione.
- Scegli Crea ruolo.
- Nel Seleziona il tipo di entità fidatascegli Federazione SAML 2.0.
- Nel Fornitore SAMLscegli AzureADAthenaProvider.
- Scegli Consenti accesso programmatico e alla Console di gestione AWS.
- Sotto Condizionescegli Le.
- Seleziona SAML: aud.
- Nel Condizione, selezionare StringEquals.
- Nel Valore, accedere
http://localhost/athena
. - Scegli Avanti: Autorizzazioni.
- Scegli Crea politica.
- Scegli JSON e inserisci la seguente policy (fornisci l'ARN del tuo gruppo di lavoro):
La policy garantisce l'accesso completo al gruppo di lavoro Athena. Si basa su Policy gestita da AWS AmazonAthenaFullAccess
ed politiche di esempio del gruppo di lavoro.
- Scegli Avanti: Tag.
- Scegli Avanti: Revisione.
- Nel Nome, accedere
athenaworkgroup1policy
. - Scegli Crea politica.
- Sulla Crea ruolo scheda, cerca
athenaworkgroup1policy
e seleziona la polizza. - Scegli Avanti: Tag.
- Scegli Avanti: Revisione.
- Scegli Crea ruolo.
- Nel Nome, accedere
athenaworkgroup1role
. - Scegli Crea ruolo.
Configurare l'accesso utente in Azure AD
In questa sezione configureremo il provisioning automatico e assegneremo gli utenti all'app dal portale Microsoft Azure.
Configura il provisioning automatico dei ruoli IAM
Per configurare il provisioning automatico dei ruoli IAM, completa i seguenti passaggi:
- Accedi al Portale di Azure con le credenziali di amministratore globale di Azure AD.
- Scegli Directory attiva di Azure.
- Scegli Applicazioni aziendali e scegli App Athena.
- Scegli Fornitura di account utente.
- Nel vettovagliamento sezione, scegliere Inizia.
- Nel Modalità di approvvigionamentoscegli Automatico.
- Espandere Credenziali di amministratore e popolare clientsecret ed Gettone Segreto con l'ID della chiave di accesso e la chiave di accesso segreta di
ReadRoleUser
, Rispettivamente. - Scegli Test di connessione ed Risparmi.
- Scegli Avvia il provisioning.
Il completamento del ciclo iniziale può richiedere del tempo, dopodiché i ruoli IAM vengono popolati in Azure AD.
Configura l'accesso utente al ruolo del gruppo di lavoro Athena
Per configurare l'accesso utente al ruolo del gruppo di lavoro, completare i seguenti passaggi:
- Accedi a Portale di Azure con le credenziali di amministratore globale di Azure AD.
- Scegli Directory attiva di Azure.
- Scegli Applicazioni aziendali e scegli App Athena.
- Scegli Assegna utenti e gruppi ed Aggiungi utente/gruppo.
- Sotto Utenti e gruppi, seleziona il gruppo a cui desideri assegnare l'autorizzazione Athena. Per questo post utilizziamo
athena-admin-adgroup
; in alternativa è possibile selezionare utente1. - Scegli Seleziona.
- Nel Seleziona un ruolo, seleziona il ruolo
athenaworkgroup1role
. - Scegli Seleziona.
- Scegli Assegna.
Accedi ad Atena
In questa sezione dimostreremo come accedere ad Athena dalla console AWS e dallo strumento di sviluppo SQL Workbench/J
Accedi ad Athena utilizzando il portale Microsoft My Apps basato sul Web
Per utilizzare il portale Microsoft My Apps per accedere ad Athena, completare i seguenti passaggi:
- Accedi a Portale di Azure con le credenziali di amministratore globale di Azure AD.
- Scegli Directory attiva di Azure
- Scegli Applicazioni aziendali e scegli App Athena.
- Scegli
- Properties.
- Copia il valore per URL di accesso dell'utente.
- Aprire un browser Web e immettere l'URL.
Il collegamento reindirizza a una pagina di accesso di Azure.
- Accedi con le credenziali dell'utente locale.
Sei reindirizzato al Console di gestione AWS.
Accedi ad Athena utilizzando SQL Workbench/J
Nelle organizzazioni altamente regolamentate, agli utenti interni non è consentito utilizzare la console per accedere ad Athena. In questi casi, puoi utilizzare SQL Workbench/J, uno strumento open source che consente la connettività ad Athena utilizzando un driver JDBC.
- Scarica l'ultima Autista Athena JDBC (scegli il driver appropriato in base alla tua versione Java).
- Scarica e installa SQL Workbench/J.
- Apri SQL Workbench/J.
- Sulla Compila il menù, scegliere Connetti finestra.
- Scegli Gestisci i conducenti.
- Nel Nome, inserisci un nome per il tuo autista.
- Passare al percorso della cartella in cui è stato scaricato e decompresso il driver.
- Scegli OK.
Ora che abbiamo configurato il driver Athena, è il momento di connettersi ad Athena. È necessario compilare l'URL di connessione, il nome utente e la password.
Utilizza la seguente stringa di connessione per connetterti ad Athena con un account utente senza MFA (fornisci i valori raccolti in precedenza nel post):
Per connettersi utilizzando un account utente con MFA abilitato, utilizzare il provider di credenziali Azure AD del browser. È necessario costruire l'URL di connessione e compilare il nome utente Nome utente e password
Utilizza la seguente stringa di connessione per connetterti ad Athena con un account utente con MFA abilitato (fornisci i valori raccolti in precedenza):
Sostituisci il testo in rosso con i dettagli raccolti in precedenza nell'articolo.
Una volta stabilita la connessione, puoi eseguire query su Athena.
Configurazione proxy
Se ti connetti ad Athena tramite un server proxy, assicurati che il server proxy consenta la porta 444. L'API di streaming del set di risultati utilizza la porta 444 sul server Athena per le comunicazioni in uscita. Impostare il ProxyHost
proprietà all'indirizzo IP o al nome host del server proxy. Impostare il ProxyPort
proprietà al numero della porta TCP utilizzata dal server proxy per ascoltare le connessioni client. Vedere il seguente codice:
Sommario
In questo post abbiamo configurato la federazione IAM con Azure AD connesso ad AD locale e configurato l'accesso granulare a un gruppo di lavoro Athena. Abbiamo anche esaminato come accedere ad Athena tramite la console utilizzando il portale Web Microsoft My Apps e lo strumento SQL Workbench/J. Abbiamo anche discusso di come funziona la connessione tramite proxy. La stessa infrastruttura federativa può essere sfruttata anche per la configurazione del driver ODBC. Puoi anche utilizzare le istruzioni contenute in questo post per configurare l'IdP di Azure basato su SAML per abilitare l'accesso federato ad Athena Workgroups.
L'autore
Niraj Kumar è Principal Technical Account Manager per i servizi finanziari presso AWS, dove aiuta i clienti a progettare, progettare, costruire, gestire e supportare carichi di lavoro su AWS in modo sicuro e robusto. Vanta oltre 20 anni di esperienza IT diversificata nei settori dell'architettura aziendale, del cloud e della virtualizzazione, della sicurezza, dell'IAM, dell'architettura delle soluzioni e dei sistemi e delle tecnologie informatiche. Nel tempo libero gli piace fare da mentore, fare coaching, fare trekking, guardare documentari con suo figlio e leggere qualcosa di diverso ogni giorno.
- '
- &
- 100
- 11
- 420
- 7
- 9
- accesso
- Il mio account
- Action
- attivo
- Active Directory
- Ad
- Admin
- Tutti
- Consentire
- Amazon
- .
- api
- App
- applicazioni
- applicazioni
- architettura
- articolo
- Autenticazione
- AWS
- azzurro
- Blog
- del browser
- costruire
- casi
- Cloud
- codice
- Comunicazioni
- veloce
- Connessioni
- Connettività
- consenso
- COVID-19
- Credenziali
- cross-platform
- Clienti
- dati
- Lago di dati
- giorno
- dc
- Design
- Costruttori
- documentari
- autista
- Impresa
- esperienza
- campi
- finanziario
- servizi finanziari
- Gratis
- pieno
- globali
- borse di studio
- Gruppo
- Come
- Tutorial
- HTTPS
- IAM
- Identità
- informazioni
- Infrastruttura
- interattivo
- IP
- Indirizzo IP
- IT
- Java
- Le
- con i più recenti
- Livello
- LINK
- locale
- località
- guardò
- gestione
- AMF
- Microsoft
- Mobile
- Navigazione
- Ufficio 365
- organizzazioni
- Password
- plug-in
- Termini e Condizioni
- politica
- Portale
- Direttore
- proprietà
- delega
- la percezione
- Lettura
- reindirizzare
- Requisiti
- risorsa
- Correre
- Cerca
- problemi di
- Servizi
- set
- Un'espansione
- è composta da
- SQL
- dichiarazione
- conservazione
- Streaming
- sottoscrizione
- il successo
- supporto
- supporti
- SISTEMI DI TRATTAMENTO
- Consulenza
- Tecnologie
- temporaneo
- tempo
- token
- traffico
- utenti
- APPREZZIAMO
- sito web
- browser web
- flusso di lavoro
- lavori
- anni