Amazonas Athena är en interaktiv frågetjänst som gör det enklare att analysera data direkt i Amazon enkel lagringstjänst (Amazon S3) med standard SQL. Molndriftsteam kan använda AWS identitets- och åtkomsthantering (IAM) federation för att centralt hantera åtkomst till Athena. Detta förenklar administrationen genom att tillåta ett styrande team att kontrollera användaråtkomst till Athena-arbetsgrupper från en centralt hanterad Azure AD ansluten till en lokal Active Directory. Den här inställningen minskar den overheadupplevelsen för molndriftsteam när de hanterar IAM-användare. Athena stöder federation med Active Directory Federation Service (ADFS), PingFederate, Okta och Microsoft Azure Active Directory (Azure AD)-federation.
Det här blogginlägget illustrerar hur du konfigurerar AWS IAM-federation med Azure AD ansluten till lokal AD och konfigurerar åtkomst på arbetsgruppsnivå för Athena för olika användare. Vi kommer att täcka två scenarier:
- Azure AD-hanterade användare och grupper, och lokal AD.
- Lokala Active Directory-hanterade användare och grupper synkroniserade till Azure AD.
Vi täcker inte hur man ställer in synkronisering mellan lokal AD och Azure AD med hjälp av Azure AD connect. Mer information om hur du integrerar Azure AD med en AWS-hanterad AD finns i Aktivera Office 365 med AWS Managed Microsoft AD utan synkronisering av användarlösenord och hur du integrerar Azure AD med en lokal AD, se Microsoft-artikeln Anpassad installation av Azure Active Directory Connect.
Lösningsöversikt
Den här lösningen hjälper dig att konfigurera IAM-federation med Azure AD ansluten till lokal AD och konfigurera åtkomst på arbetsgruppsnivå för Athena för användare. Du kan styra åtkomsten till arbetsgruppen med antingen en lokal AD-grupp eller Azure AD-grupp. Lösningen består av fyra delar:
- Konfigurera Azure AD som din identitetsleverantör (IdP):
- Konfigurera Azure AD som din SAML IdP för en AWS-app för ett enskilt konto.
- Konfigurera Azure AD-appen med delegerade behörigheter.
- Ställ in din IAM IdP och roller:
- Konfigurera en IdP-tillförlitlig Azure AD.
- Konfigurera en IAM-användare med läsbehörighet.
- Skapa en IAM-roll och policyer för varje Athena-arbetsgrupp.
- Konfigurera användaråtkomst i Azure AD:
- Ställ in automatisk IAM-rolladministration.
- Ställ in användaråtkomst till Athena-arbetsgruppsrollen.
- Tillgång till Athena:
- Få åtkomst till Athena med det webbaserade Microsoft Mina appar-portalen.
- Gå till Athena med hjälp av SQL Workbench/J ett gratis, DBMS-oberoende, plattformsoberoende SQL-frågeverktyg.
Följande diagram illustrerar lösningens arkitektur.
Lösningsarbetsflödet inkluderar följande steg:
- Utvecklararbetsstationen ansluter till Azure AD via en SQL Workbench/j JDBC Athena-drivrutin för att begära en SAML-token (tvåstegs OAuth-process).
- Azure AD skickar autentiseringstrafik tillbaka till lokalt via en Azure AD-genomföringsagent eller ADFS.
- Azure AD pass-through-agenten eller ADFS ansluter till lokal DC och autentiserar användaren.
- Genomkopplingsagenten eller ADFS skickar en framgångstoken till Azure AD.
- Azure AD konstruerar en SAML-token som innehåller den tilldelade IAM-rollen och skickar den till klienten.
- Klienten ansluter till AWS Security Token Service (AWS STS) och presenterar SAML-token för att ta på sig Athena-rollen och genererar tillfälliga referenser.
- AWS STS skickar tillfälliga referenser till klienten.
- Klienten använder de tillfälliga referenserna för att ansluta till Athena.
Förutsättningar
Du måste uppfylla följande krav innan du konfigurerar lösningen:
- På Azure AD-sidan gör du följande:
- Konfigurera Azure AD Connect-servern och synkronisera med lokal AD
- Konfigurera Azure AD-pass-through eller Microsoft ADFS-federation mellan Azure AD och lokal AD
- Skapa tre användare (
user1
,user2
,user3
) och tre grupper (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) för tre respektive Athena-arbetsgrupper
- På Athena-sidan skapar du tre Athena-arbetsgrupper:
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
För mer information om hur du använder exempel på Athena-arbetsgrupper, se En offentlig datasjö för analys av covid-19-data.
Konfigurera Azure AD
I det här avsnittet kommer vi att täcka Azure AD-konfigurationsdetaljer för Athena i Microsoft Azure-prenumeration. Vi kommer främst att registrera en app, konfigurera federation, delegera appbehörighet och generera apphemlighet.
Ställ in Azure AD som SAML IdP för en AWS-app för ett enskilt konto
För att konfigurera Azure AD som din SAML IdP, slutför följande steg:
- Logga in på Azure portal med globala administratörsuppgifter för Azure AD.
- Välja Azure Active Directory.
- Välja Enterprise-applikationer.
- Välja Ny ansökan.
- Sök efter
Amazon
i sökfältet. - Välja AWS-åtkomst för ett konto.
- För name, Till New Earth
Athena-App
. - Välja Skapa.
- I Komma igång avsnitt, under Konfigurera enkel inloggningväljer KOM IGÅNG.
- För Välj en metod för enkel inloggningväljer SAML.
- För Grundläggande SAML-konfigurationväljer Edit.
- För Identifierare (Enhets-ID), stiga på
https://signin.aws.amazon.com/saml#1
. - Välja Save.
- Enligt SAML-signeringscertifikat, För Federation Metadata XMLväljer Download.
Den här filen krävs för att konfigurera din IAM IdP i nästa avsnitt. Spara den här filen på din lokala dator för att använda senare när du konfigurerar IAM på AWS.
Konfigurera din Azure AD-app med delegerade behörigheter
För att konfigurera din Azure AD-app, slutför följande steg:
- Välja Azure Active Directory.
- Välja Appregistreringar och alla program.
- Sök efter och välj Athena-appen.
- Notera värdena för Program (klient) ID och Katalog-ID (hyresgäst).
Du behöver dessa värden i JDBC-anslutningen när du ansluter till Athena.
- Enligt API-behörigheterväljer Lägg till en behörighet.
- Välja Microsoft Graph och Delegerade behörigheter.
- För Välj behörigheter, söka efter
user.read
. - För Användareväljer Användare.Läs.
- Välja Lägg till rättighet.
- Välja Ge administratörens samtycke och Ja.
- Välja Autentisering och Lägg till en plattform.
- Välja Mobila och stationära applikationer.
- Enligt Anpassade omdirigerings-URI:er, stiga på
http://localhost/athena
. - Välja Inställd.
- Välja Certifikat & hemligheter och Ny kundhemlighet.
- Ange en beskrivning.
- För Utgårväljer 24 månader.
- Kopiera klientens hemliga värde som ska användas när du konfigurerar JDBC-anslutningen.
Ställ in IAM IdP och roller
I det här avsnittet kommer vi att täcka IAM-konfiguration i AWS-konto. Vi kommer främst att skapa en IAM-användare, roller och policyer.
Konfigurera en IdP-tillförlitlig Azure AD
För att konfigurera din IdP-tillförlitliga Azure AD, slutför följande steg:
- Välj på IAM-konsolen Identitetsleverantörer i navigeringsfönstret.
- Välja Lägg till leverantör.
- För Leverantörstypväljer SAML.
- För Leverantörens namn, stiga på
AzureADAthenaProvider
. - För Metadatadokument, ladda upp filen som hämtats från Azure Portal.
- Välja Lägg till leverantör.
Konfigurera en IAM-användare med läsbehörighet
Utför följande steg för att konfigurera din IAM-användare:
- Välj på IAM-konsolen användare i navigeringsfönstret.
- Välja Lägg till användare.
- För Användarnamn, stiga på
ReadRoleUser
. - För Åtkomsttyp, Välj Programmatisk åtkomst.
- Välja Nästa: Behörigheter.
- För Ställ in behörigheterväljer Bifoga befintliga policyer direkt.
- Välja Skapa policy.
- Välja JSON och ange följande policy, som ger läsbehörighet för att räkna upp roller i IAM:
- Välja Nästa: Taggar.
- Välja Nästa: Granska.
- För Namn , stiga på
readrolepolicy
. - Välja Skapa policy.
- På Lägg till användare flik, sök efter och välj rollen
readrole
. - Välja Nästa: taggar.
- Välja Nästa: Granska.
- Välja Skapa användare.
- Ladda ner .csv-filen som innehåller åtkomstnyckel-ID och hemlig åtkomstnyckel.
Vi använder dessa när vi konfigurerar Azure AD automatisk provisionering.
Skapa en IAM-roll och policyer för varje Athena-arbetsgrupp
För att ställa in IAM-roller och policyer för dina Athena-arbetsgrupper, utför följande steg:
- Välj på IAM-konsolen roller i navigeringsfönstret.
- Välja Skapa roll.
- För Välj typ av betrodd enhetväljer SAML 2.0 federation.
- För SAML-leverantörväljer AzureADAthenaProvider.
- Välja Tillåt åtkomst till programmatisk och AWS Management Console.
- Enligt Skickväljer Nyckel.
- Välja SAML:aud.
- För Skick, Välj StringEquals.
- För Värde, stiga på
http://localhost/athena
. - Välja Nästa: Behörigheter.
- Välja Skapa policy.
- Välja JSON och ange följande policy (ange ARN för din arbetsgrupp):
Policyn ger full tillgång till Athenas arbetsgrupp. Det är baserat på AWS-hanterad policy AmazonAthenaFullAccess
och exempel på arbetsgruppspolicyer.
- Välja Nästa: Taggar.
- Välja Nästa: Granska.
- För Namn , stiga på
athenaworkgroup1policy
. - Välja Skapa policy.
- På Skapa roll fliken, sök efter
athenaworkgroup1policy
och välj policyn. - Välja Nästa: Taggar.
- Välja Nästa: Granska.
- Välja Skapa roll.
- För Namn , stiga på
athenaworkgroup1role
. - Välja Skapa roll.
Konfigurera användaråtkomst i Azure AD
I det här avsnittet kommer vi att ställa in automatisk provisionering och tilldela användare till app från Microsoft Azure Portal.
Ställ in automatisk IAM-rolladministration
För att ställa in automatisk IAM-rolladministration, slutför följande steg:
- Logga in på Azure portal med globala administratörsuppgifter för Azure AD.
- Välja Azure Active Directory.
- Välja Enterprise-applikationer Och välj Athena-appen.
- Välja Tillhandahålla användarkonton.
- I Provisioning avsnitt väljer KOM IGÅNG.
- För Provisioneringslägeväljer Automat.
- Bygga ut Administratörsuppgifter och befolka klienthemlighet och Hemlig token med åtkomstnyckel-ID och hemlig åtkomstnyckel för
ReadRoleUser
, Respektive. - Välja Testa anslutning och Save.
- Välja Börja provisionering.
Den initiala cykeln kan ta lite tid att slutföra, varefter IAM-rollerna fylls i Azure AD.
Ställ in användaråtkomst till Athena-arbetsgruppsrollen
Utför följande steg för att konfigurera användaråtkomst till arbetsgruppsrollen:
- Logga in Azure portal med globala administratörsuppgifter för Azure AD.
- Välja Azure Active Directory.
- Välja Enterprise-applikationer Och välj Athena-appen.
- Välja Tilldela användare och grupper och Lägg till användare/grupp.
- Enligt Användare och grupper, välj den grupp som du vill tilldela Athena-behörighet till. För det här inlägget använder vi
athena-admin-adgroup
; alternativt kan du välja användare1. - Välja Välja.
- För Välj en roll, välj rollen
athenaworkgroup1role
. - Välja Välja.
- Välja Tilldela.
Gå till Athena
I det här avsnittet kommer vi att visa hur du får åtkomst till Athena från AWS-konsolen och utvecklarverktyget SQL Workbench/J
Få åtkomst till Athena med den webbaserade Microsoft My Apps-portalen
För att använda Microsoft My Apps-portalen för att komma åt Athena, utför följande steg:
- Logga in Azure portal med globala administratörsuppgifter för Azure AD.
- Välja Azure Active Directory
- Välja Enterprise-applikationer Och välj Athena-appen.
- Välja
- Våra Bostäder.
- Kopiera värdet för Användaråtkomst-URL.
- Öppna en webbläsare och ange URL:en.
Länken omdirigerar dig till en Azure-inloggningssida.
- Logga in med användaruppgifterna på plats.
Du omdirigeras till AWS Management Console.
Få åtkomst till Athena med SQL Workbench/J
I starkt reglerade organisationer får inte interna användare använda konsolen för att komma åt Athena. I sådana fall kan du använda SQL Workbench/J, ett verktyg med öppen källkod som möjliggör anslutning till Athena med en JDBC-drivrutin.
- Ladda ner det senaste Athena JDBC-drivrutinen (välj lämplig drivrutin baserat på din Java-version).
- Ladda ned och installera SQL Workbench/J.
- Öppna SQL Workbench/J.
- På Fil meny, välj Anslut fönster.
- Välja Hantera drivrutiner.
- För Namn , ange ett namn för din förare.
- Bläddra till mappplatsen där du laddade ner och packade upp drivrutinen.
- Välja OK.
Nu när vi har konfigurerat Athena-drivrutinen är det dags att ansluta till Athena. Du måste fylla i anslutnings-URL, användarnamn och lösenord.
Använd följande anslutningssträng för att ansluta till Athena med ett användarkonto utan MFA (ange värdena som samlades in tidigare i inlägget):
För att ansluta med ett användarkonto med MFA aktiverat, använd webbläsaren Azure AD Credentials Provider. Du måste konstruera anslutnings-URL och fylla i användarnamnet Användarnamn och lösenord
Använd följande anslutningssträng för att ansluta till Athena med ett användarkonto som har MFA aktiverat (ange de värden du samlade in tidigare):
Ersätt text i rött med detaljer som samlats in tidigare i artikeln.
När anslutningen är upprättad kan du köra frågor mot Athena.
Proxykonfiguration
Om du ansluter till Athena via en proxyserver, se till att proxyservern tillåter port 444. Resultatuppsättningen för streaming API använder port 444 på Athena-servern för utgående kommunikation. Ställ in ProxyHost
egenskap till IP-adressen eller värdnamnet för din proxyserver. Ställ in ProxyPort
egenskapen till numret på den TCP-port som proxyservern använder för att lyssna efter klientanslutningar. Se följande kod:
Sammanfattning
I det här inlägget konfigurerade vi IAM-federation med Azure AD ansluten till lokal AD och konfigurerade granulär åtkomst till en Athena-arbetsgrupp. Vi tittade också på hur man får åtkomst till Athena via konsolen med hjälp av webbportalen Microsoft My Apps och verktyget SQL Workbench/J. Vi diskuterade också hur anslutningen fungerar över en proxy. Samma federationsinfrastruktur kan också utnyttjas för konfiguration av ODBC-drivrutiner. Du kan också använda instruktionerna i det här inlägget för att konfigurera SAML-baserade Azure IdP för att aktivera federerad åtkomst till Athena Workgroups.
Om författaren
Niraj Kumar är en Principal Technical Account Manager för finansiella tjänster på AWS, där han hjälper kunder att designa, designa, bygga, driva och stödja arbetsbelastningar på AWS på ett säkert och robust sätt. Han har över 20 års mångsidig IT-erfarenhet inom områdena företagsarkitektur, moln och virtualisering, säkerhet, IAM, lösningsarkitektur och informationssystem och teknologier. På fritiden tycker han om att vara mentorskap, coacha, vandra, titta på dokumentärer med sin son och läsa något annat varje dag.
- '
- &
- 100
- 11
- 420
- 7
- 9
- tillgång
- Konto
- Handling
- aktiv
- Active Directory
- Ad
- administration
- Alla
- tillåta
- amason
- analys
- api
- app
- tillämpningar
- appar
- arkitektur
- Artikeln
- Autentisering
- AWS
- Azure
- Blogg
- webbläsare
- SLUTRESULTAT
- fall
- cloud
- koda
- Trygghet i vårdförloppet
- anslutning
- Anslutningar
- Anslutningar
- samtycke
- Covid-19
- referenser
- plattformsoberoende
- Kunder
- datum
- datasjö
- dag
- dc
- Designa
- Utvecklare
- dokumentärer
- chaufför
- Företag
- erfarenhet
- Fält
- finansiella
- finansiella tjänster
- Fri
- full
- Välgörenhet
- bidrag
- Grupp
- Hur ser din drömresa ut
- How To
- HTTPS
- IAM
- Identitet
- informationen
- Infrastruktur
- interaktiva
- IP
- IP-adress
- IT
- java
- Nyckel
- senaste
- Nivå
- LINK
- lokal
- läge
- såg
- ledning
- UD
- Microsoft
- Mobil
- Navigering
- office 365
- organisationer
- Lösenord
- plugin
- Strategier
- policy
- Portal
- Principal
- egenskapen
- ombud
- allmän
- Läsning
- dirigera om
- Krav
- resurs
- Körning
- Sök
- säkerhet
- Tjänster
- in
- Enkelt
- dess
- SQL
- .
- förvaring
- streaming
- prenumeration
- framgång
- stödja
- Stöder
- System
- Teknisk
- Tekniken
- temporär
- tid
- token
- trafik
- användare
- värde
- webb
- webbläsare
- arbetsflöde
- fungerar
- år