Amazonas Athena er en interaktiv spørringstjeneste som gjør det enklere å analysere data direkte i Amazon enkel lagringstjeneste (Amazon S3) ved bruk av standard SQL. Cloud-driftsteam kan bruke AWS identitets- og tilgangsadministrasjon (IAM) federasjon for sentralt å administrere tilgang til Athena. Dette forenkler administrasjonen ved å la et styringsteam kontrollere brukertilgang til Athena-arbeidsgrupper fra en sentralt administrert Azure AD koblet til en lokal Active Directory. Dette oppsettet reduserer overheadopplevelsen for skyoperasjonsteam når de administrerer IAM-brukere. Athena støtter føderasjon med Active Directory Federation Service (ADFS), PingFederate, Okta og Microsoft Azure Active Directory (Azure AD) føderasjon.
Dette blogginnlegget illustrerer hvordan du setter opp AWS IAM-føderasjon med Azure AD koblet til lokal AD og konfigurerer tilgang på Athena-arbeidsgruppenivå for forskjellige brukere. Vi skal dekke to scenarier:
- Azure AD administrerte brukere og grupper, og lokal AD.
- Lokale Active Directory-administrerte brukere og grupper synkronisert til Azure AD.
Vi dekker ikke hvordan du setter opp synkronisering mellom lokal AD og Azure AD ved hjelp av Azure AD Connect. For mer informasjon om hvordan du integrerer Azure AD med en AWS Managed AD, se Aktiver Office 365 med AWS Managed Microsoft AD uten synkronisering av brukerpassord og hvordan du integrerer Azure AD med en lokal AD, se Microsoft-artikkel Tilpasset installasjon av Azure Active Directory Connect.
Løsningsoversikt
Denne løsningen hjelper deg med å konfigurere IAM-føderasjon med Azure AD koblet til lokal AD og konfigurere tilgang på Athena-arbeidsgruppenivå for brukere. Du kan kontrollere tilgangen til arbeidsgruppen med enten en lokal AD-gruppe eller Azure AD-gruppe. Løsningen består av fire deler:
- Konfigurer Azure AD som din identitetsleverandør (IdP):
- Konfigurer Azure AD som SAML IdP for en AWS enkeltkontoapp.
- Konfigurer Azure AD-appen med delegerte tillatelser.
- Sett opp IAM IdP og roller:
- Konfigurer en IdP-klarerer Azure AD.
- Sett opp en IAM-bruker med leserolletillatelse.
- Sett opp en IAM-rolle og retningslinjer for hver Athena-arbeidsgruppe.
- Konfigurer brukertilgang i Azure AD:
- Konfigurer automatisk IAM-rolleklargjøring.
- Sett opp brukertilgang til Athena-arbeidsgrupperollen.
- Få tilgang til Athena:
- Få tilgang til Athena ved å bruke nettbaserte Microsoft Mine apper-portalen.
- Få tilgang til Athena ved hjelp av SQL arbeidsbenk/J et gratis, DBMS-uavhengig SQL-spørringsverktøy på tvers av plattformer.
Følgende diagram illustrerer løsningenes arkitektur.
Løsningsarbeidsflyten inkluderer følgende trinn:
- Utviklerarbeidsstasjonen kobles til Azure AD via en SQL Workbench/j JDBC Athena-driver for å be om et SAML-token (to-trinns OAuth-prosess).
- Azure AD sender autentiseringstrafikk tilbake til lokale via en Azure AD-gjennomgangsagent eller ADFS.
- Azure AD-gjennomgangsagenten eller ADFS kobler til lokal DC og autentiserer brukeren.
- Gjennomføringsagenten eller ADFS sender et suksesstoken til Azure AD.
- Azure AD konstruerer et SAML-token som inneholder den tildelte IAM-rollen og sender den til klienten.
- Klienten kobler seg til AWS Security Token Service (AWS STS) og presenterer SAML-tokenet for å påta seg Athena-rollen og genererer midlertidig legitimasjon.
- AWS STS sender midlertidig legitimasjon til klienten.
- Klienten bruker den midlertidige legitimasjonen for å koble til Athena.
Forutsetninger
Du må oppfylle følgende krav før du konfigurerer løsningen:
- Fullfør følgende på Azure AD-siden:
- Konfigurer Azure AD Connect-serveren og synkroniser med lokal AD
- Konfigurer Azure AD-pass-through- eller Microsoft ADFS-føderasjonen mellom Azure AD og lokal AD
- Opprett tre brukere (
user1
,user2
,user3
) og tre grupper (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) for tre respektive Athena-arbeidsgrupper
- På Athena-siden oppretter du tre Athena-arbeidsgrupper:
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
For mer informasjon om bruk av eksempler på Athena-arbeidsgrupper, se En offentlig datainnsjø for analyse av COVID-19-data.
Konfigurer Azure AD
I denne delen vil vi dekke Azure AD-konfigurasjonsdetaljer for Athena i Microsoft Azure-abonnement. Hovedsakelig vil vi registrere en app, konfigurere føderasjon, delegere apptillatelse og generere apphemmeligheter.
Angi Azure AD som SAML IdP for en AWS enkeltkontoapp
For å konfigurere Azure AD som SAML IdP, fullfør følgende trinn:
- Logg deg på Azure Portal med Azure AD global administratorlegitimasjon.
- Velg Azure Active Directory.
- Velg Bedriftsprogrammer.
- Velg Ny søknad.
- Søk etter
Amazon
i søkefeltet. - Velg AWS enkeltkontotilgang.
- Til navn, skriv
Athena-App
. - Velg Skape.
- på Komme i gang delen, under Sett opp enkeltpålogging, velg KOM I GANG.
- Til Velg en metode for enkel pålogging, velg SAML.
- Til Grunnleggende SAML-konfigurasjon, velg Rediger.
- Til Identifikator (enhets-ID), Tast inn
https://signin.aws.amazon.com/saml#1
. - Velg Spar.
- Under SAML-signeringssertifikatFor Federation Metadata XML, velg Last ned.
Denne filen er nødvendig for å konfigurere IAM IdP i neste avsnitt. Lagre denne filen på din lokale maskin for å bruke senere når du konfigurerer IAM på AWS.
Konfigurer Azure AD-appen din med delegerte tillatelser
For å konfigurere Azure AD-appen, fullfør følgende trinn:
- Velg Azure Active Directory.
- Velg Appregistreringer og Alle Programmer.
- Søk etter og velg Athena-appen.
- Legg merke til verdiene for Søknad (klient) ID og Katalog (leietaker) ID.
Du trenger disse verdiene i JDBC-tilkoblingen når du kobler til Athena.
- Under API-tillatelser, velg Legg til en tillatelse.
- Velg Microsoft Graph og Delegerte tillatelser.
- Til Velg tillatelser, søk etter
user.read
. - Til Bruker, velg Bruker.Les.
- Velg Legg til tillatelse.
- Velg Gi administratorsamtykke og Ja.
- Velg Autentisering og Legg til en plattform.
- Velg Mobil- og skrivebordsapplikasjoner.
- Under Egendefinerte omdirigerings-URIer, Tast inn
http://localhost/athena
. - Velg Konfigurer.
- Velg Sertifikater og hemmeligheter og Ny klienthemmelighet.
- Skriv inn en beskrivelse.
- Til Utløper, velg 24 måneder.
- Kopier klientens hemmelige verdi som skal brukes når du konfigurerer JDBC-tilkoblingen.
Sett opp IAM IdP og roller
I denne delen vil vi dekke IAM-konfigurasjon i AWS-konto. Hovedsakelig vil vi lage en IAM-bruker, roller og retningslinjer.
Konfigurer en IdP-klarerer Azure AD
For å konfigurere IdP-trusting Azure AD, fullfør følgende trinn:
- Velg på IAM-konsollen Identitetsleverandører i navigasjonsruten.
- Velg Legg til leverandør.
- Til Tilbydertype, velg SAML.
- Til Navn på leverandør, Tast inn
AzureADAthenaProvider
. - Til Metadatadokument, last opp filen som er lastet ned fra Azure Portal.
- Velg Legg til leverandør.
Sett opp en IAM-bruker med leserolletillatelse
For å konfigurere IAM-brukeren, fullfør følgende trinn:
- Velg på IAM-konsollen brukere i navigasjonsruten.
- Velg Legg til bruker.
- Til brukernavn, Tast inn
ReadRoleUser
. - Til Tilgangstype, plukke ut Programmatisk tilgang.
- Velg Neste: Tillatelser.
- Til Angi tillatelser, velg Legg ved eksisterende retningslinjer direkte.
- Velg Opprett policy.
- Plukke ut JSON og skriv inn følgende policy, som gir lesetilgang til å oppgi roller i IAM:
- Velg Neste: Tagger.
- Velg Neste: Gjennomgang.
- Til Navn, Tast inn
readrolepolicy
. - Velg Opprett policy.
- På Add User fanen, søk etter og velg rollen
readrole
. - Velg Neste: tagger.
- Velg Neste: Gjennomgang.
- Velg Opprett bruker.
- Last ned .csv-filen som inneholder tilgangsnøkkel-ID og hemmelig tilgangsnøkkel.
Vi bruker disse når vi konfigurerer Azure AD automatisk klargjøring.
Sett opp en IAM-rolle og retningslinjer for hver Athena-arbeidsgruppe
For å sette opp IAM-roller og policyer for Athena-arbeidsgruppene dine, fullfør følgende trinn:
- Velg på IAM-konsollen Roller i navigasjonsruten.
- Velg Skape rolle.
- Til Velg type klarert enhet, velg SAML 2.0 forbund.
- Til SAML-leverandør, velg AzureADAthenaProvider.
- Velg Tillat tilgang til programmatisk og AWS Management Console.
- Under Betingelse, velg nøkkel.
- Plukke ut SAML:aud.
- Til Betingelse, plukke ut StringEquals.
- Til Verdi, Tast inn
http://localhost/athena
. - Velg Neste: Tillatelser.
- Velg Opprett policy.
- Velg JSON og angi følgende policy (oppgi ARN for arbeidsgruppen din):
Retningslinjene gir full tilgang til Athena-arbeidsgruppen. Det er basert på AWS administrert policy AmazonAthenaFullAccess
og arbeidsgruppeeksempler på retningslinjer.
- Velg Neste: Tagger.
- Velg Neste: Gjennomgang.
- Til Navn, Tast inn
athenaworkgroup1policy
. - Velg Opprett policy.
- På Skape rolle fanen, søk etter
athenaworkgroup1policy
og velg policyen. - Velg Neste: Tagger.
- Velg Neste: Gjennomgang.
- Velg Skape rolle.
- Til Navn, Tast inn
athenaworkgroup1role
. - Velg Skape rolle.
Konfigurer brukertilgang i Azure AD
I denne delen vil vi konfigurere automatisk klargjøring og tilordne brukere til app fra Microsoft Azure Portal.
Konfigurer automatisk IAM-rolleklargjøring
For å konfigurere automatisk IAM-rolleklargjøring, fullfør følgende trinn:
- Logg deg på Azure Portal med Azure AD global administratorlegitimasjon.
- Velg Azure Active Directory.
- Velg Bedriftsapplikasjoner Og velg Athena-appen.
- Velg Opprett brukerkontoer.
- på Provisioning delen velger KOM I GANG.
- Til Klargjøringsmodus, velg Automatisk.
- Expand Administratorlegitimasjon og befolke klienthemmelighet og Hemmelig token med tilgangsnøkkel-ID og hemmelig tilgangsnøkkel til
ReadRoleUser
Hhv. - Velg Test Connection og Spar.
- Velg Start klargjøring.
Den første syklusen kan ta litt tid å fullføre, hvoretter IAM-rollene fylles i Azure AD.
Sett opp brukertilgang til Athena-arbeidsgrupperollen
For å konfigurere brukertilgang til arbeidsgrupperollen, fullfør følgende trinn:
- Logg inn på Azure Portal med Azure AD global administratorlegitimasjon.
- Velg Azure Active Directory.
- Velg Bedriftsapplikasjoner Og velg Athena-appen.
- Velg Tildel brukere og grupper og Legg til bruker/gruppe.
- Under Brukere og grupper, velg gruppen du vil gi Athena-tillatelse til. For dette innlegget bruker vi
athena-admin-adgroup
; alternativt kan du velge bruker1. - Velg Plukke ut.
- Til Velg en rolle, velg rollen
athenaworkgroup1role
. - Velg Plukke ut.
- Velg Tildele.
Få tilgang til Athena
I denne delen vil vi demonstrere hvordan du får tilgang til Athena fra AWS-konsollen og utviklerverktøyet SQL Workbench/J
Få tilgang til Athena ved å bruke den nettbaserte Microsoft My Apps-portalen
For å bruke Microsoft My Apps-portalen for å få tilgang til Athena, fullfør følgende trinn:
- Logg inn på Azure Portal med Azure AD global administratorlegitimasjon.
- Velg Azure Active Directory
- Velg Bedriftsapplikasjoner Og velg Athena-appen.
- Velg
- Eiendommer.
- Kopier verdien for URL for brukertilgang.
- Åpne en nettleser og skriv inn URL-en.
Koblingen omdirigerer deg til en Azure-påloggingsside.
- Logg på med den lokale brukerlegitimasjonen.
Du blir omdirigert til AWS-administrasjonskonsoll.
Få tilgang til Athena ved hjelp av SQL Workbench/J
I svært regulerte organisasjoner har interne brukere ikke lov til å bruke konsollen for å få tilgang til Athena. I slike tilfeller kan du bruke SQL Workbench/J, et åpen kildekodeverktøy som muliggjør tilkobling til Athena ved hjelp av en JDBC-driver.
- Last ned det siste Driver for Athena JDBC (velg riktig driver basert på din Java-versjon).
- Last ned og installer SQL arbeidsbenk/J.
- Åpne SQL Workbench/J.
- På filet meny, velg Koble til vinduet.
- Velg Administrer drivere.
- Til Navn, skriv inn et navn for sjåføren din.
- Bla til mappeplasseringen der du lastet ned og pakket ut driveren.
- Velg OK.
Nå som vi konfigurerte Athena-driveren, er det på tide å koble til Athena. Du må fylle ut tilkoblings-URL, brukernavn og passord.
Bruk følgende tilkoblingsstreng for å koble til Athena med en brukerkonto uten MFA (oppgi verdiene samlet tidligere i innlegget):
For å koble til med en brukerkonto med MFA aktivert, bruk nettleseren Azure AD Credentials Provider. Du må konstruere tilkoblings-URLen og fylle ut brukernavnet Brukernavn og passord
Bruk følgende tilkoblingsstreng for å koble til Athena med en brukerkonto som har MFA aktivert (oppgi verdiene du samlet inn tidligere):
Erstatt tekst i rødt med detaljer samlet tidligere i artikkelen.
Når tilkoblingen er etablert, kan du kjøre spørringer mot Athena.
Proxy-konfigurasjon
Hvis du kobler til Athena via en proxy-server, sørg for at proxy-serveren tillater port 444. Resultatsettet for streaming API bruker port 444 på Athena-serveren for utgående kommunikasjon. Sett ProxyHost
egenskap til IP-adressen eller vertsnavnet til proxy-serveren. Sett ProxyPort
egenskap til nummeret på TCP-porten som proxy-serveren bruker for å lytte etter klienttilkoblinger. Se følgende kode:
Oppsummering
I dette innlegget konfigurerte vi IAM-føderasjon med Azure AD koblet til lokal AD og satte opp granulær tilgang til en Athena-arbeidsgruppe. Vi så også på hvordan du får tilgang til Athena gjennom konsollen ved å bruke Microsoft My Apps-nettportalen og SQL Workbench/J-verktøyet. Vi diskuterte også hvordan tilkoblingen fungerer over en proxy. Den samme føderasjonsinfrastrukturen kan også utnyttes for ODBC-driverkonfigurasjon. Du kan også bruke instruksjonene i dette innlegget for å sette opp SAML-basert Azure IdP for å aktivere forent tilgang til Athena Workgroups.
om forfatteren
Niraj Kumar er en Principal Technical Account Manager for finansielle tjenester hos AWS, hvor han hjelper kunder med å designe, bygge, bygge, drifte og støtte arbeidsbelastninger på AWS på en sikker og robust måte. Han har over 20 års mangfoldig IT-erfaring innen virksomhetsarkitektur, sky og virtualisering, sikkerhet, IAM, løsningsarkitektur og informasjonssystemer og teknologier. På fritiden liker han å veilede, coache, vandre, se dokumentarer med sønnen og lese noe annerledes hver dag.
- '
- &
- 100
- 11
- 420
- 7
- 9
- adgang
- Logg inn
- Handling
- aktiv
- Active Directory
- Ad
- admin
- Alle
- tillate
- Amazon
- analyse
- api
- app
- søknader
- apps
- arkitektur
- Artikkel
- Autentisering
- AWS
- Azure
- Blogg
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- bygge
- saker
- Cloud
- kode
- kommunikasjon
- tilkobling
- Tilkoblinger
- Tilkobling
- samtykke
- Covid-19
- Credentials
- plattform
- Kunder
- dato
- Data Lake
- dag
- dc
- utforming
- Utvikler
- dokumentarer
- sjåfør
- Enterprise
- erfaring
- Felt
- finansiell
- finansielle tjenester
- Gratis
- fullt
- Global
- tilskudd
- Gruppe
- Hvordan
- Hvordan
- HTTPS
- IAM
- Identitet
- informasjon
- Infrastruktur
- interaktiv
- IP
- IP-adresse
- IT
- Java
- nøkkel
- siste
- Nivå
- LINK
- lokal
- plassering
- så
- ledelse
- MFA
- Microsoft
- Mobil
- Navigasjon
- kontor 365
- organisasjoner
- Passord
- plugg inn
- Politikk
- politikk
- Portal
- Principal
- eiendom
- proxy
- offentlig
- Lesning
- omdirigere
- Krav
- ressurs
- Kjør
- Søk
- sikkerhet
- Tjenester
- sett
- Enkelt
- dens
- SQL
- Uttalelse
- lagring
- streaming
- abonnement
- suksess
- støtte
- Støtter
- Systemer
- Teknisk
- Technologies
- midlertidig
- tid
- token
- trafikk
- Brukere
- verdi
- web
- nettleser
- arbeidsflyt
- virker
- år