Amazone Athéna est un service de requête interactif qui facilite l'analyse des données directement dans Service de stockage simple Amazon (Amazon S3) à l'aide de SQL standard. Les équipes d'exploitation du cloud peuvent utiliser Gestion des identités et des accès AWS (IAM) pour gérer de manière centralisée l'accès à Athena. Cela simplifie l'administration en permettant à une équipe dirigeante de contrôler l'accès des utilisateurs aux groupes de travail Athena à partir d'un Azure AD géré de manière centralisée et connecté à un Active Directory sur site. Cette configuration réduit l'expérience des équipes d'exploitation cloud lors de la gestion des utilisateurs IAM. Athena prend en charge la fédération avec Active Directory Federation Service (ADFS), PingFederate, Okta et la fédération Microsoft Azure Active Directory (Azure AD).
Ce billet de blog montre comment configurer la fédération AWS IAM avec Azure AD connecté à AD sur site et configurer l'accès au niveau du groupe de travail Athena pour différents utilisateurs. Nous allons couvrir deux scénarios :
- Utilisateurs et groupes gérés par Azure AD, et AD local.
- Utilisateurs et groupes gérés par Active Directory sur site synchronisés avec Azure AD.
Nous n'expliquons pas comment configurer la synchronisation entre AD local et Azure AD à l'aide d'Azure AD Connect. Pour plus d'informations sur l'intégration d'Azure AD avec AWS Managed AD , consultez Activer Office 365 avec AWS Managed Microsoft AD sans synchronisation des mots de passe utilisateur et comment intégrer Azure AD avec un AD local, voir l'article Microsoft Installation personnalisée d'Azure Active Directory Connect.
Vue d'ensemble de la solution
Cette solution vous aide à configurer la fédération IAM avec Azure AD connecté à AD local et à configurer l'accès au niveau du groupe de travail Athena pour les utilisateurs. Vous pouvez contrôler l'accès au groupe de travail par un groupe AD local ou un groupe Azure AD. La solution se compose de quatre sections :
- Configurez Azure AD en tant que fournisseur d'identité (IdP) :
- Configurez Azure AD comme votre IdP SAML pour une application à compte unique AWS.
- Configurez l'application Azure AD avec des autorisations déléguées.
- Configurez votre IdP IAM et vos rôles :
- Configurez un IdP faisant confiance à Azure AD.
- Configurez un utilisateur IAM avec une autorisation de rôle de lecture.
- Configurez un rôle et des stratégies IAM pour chaque groupe de travail Athena.
- Configurer l'accès utilisateur dans Azure AD :
- Configurez le provisionnement automatique des rôles IAM.
- Configurez l'accès des utilisateurs au rôle de groupe de travail Athena.
- Accéder à Athéna :
- Accédez à Athena à l'aide de Microsoft basé sur le Web Mon portail d'applications.
- Accédez à Athena en utilisant Atelier SQL/J un outil de requête SQL gratuit, indépendant du SGBD et multiplateforme.
Le diagramme suivant illustre l'architecture de la solution.
Le workflow de la solution comprend les étapes suivantes :
- Le poste de travail du développeur se connecte à Azure AD via un pilote SQL Workbench/j JDBC Athena pour demander un jeton SAML (processus OAuth en deux étapes).
- Azure AD renvoie le trafic d'authentification sur site via un agent pass-through Azure AD ou ADFS.
- L'agent direct Azure AD ou ADFS se connecte au contrôleur de domaine local et authentifie l'utilisateur.
- L'agent pass-through ou ADFS envoie un jeton de réussite à Azure AD.
- Azure AD construit un jeton SAML contenant le rôle IAM attribué et l'envoie au client.
- Le client se connecte à Service de jeton de sécurité AWS (AWS STS) et présente le jeton SAML pour assumer le rôle Athena et génère des informations d'identification temporaires.
- AWS STS envoie des informations d'identification temporaires au client.
- Le client utilise les informations d'identification temporaires pour se connecter à Athena.
Pré-requis
Vous devez remplir les conditions suivantes avant de configurer la solution :
- Côté Azure AD, procédez comme suit :
- Configurer le serveur Azure AD Connect et synchroniser avec AD local
- Configurer l'intercommunication Azure AD ou la fédération Microsoft ADFS entre Azure AD et l'AD sur site
- Créez trois utilisateurs (
user1
,user2
,user3
) et trois groupes (athena-admin-adgroup
,athena-datascience-adgroup
,athena-developer-adgroup
) pour trois groupes de travail Athena respectifs
- Côté Athena, créez trois groupes de travail Athena :
athena-admin-workgroup
,athena-datascience-workgroup
,athena-developer-workgroup
Pour plus d'informations sur l'utilisation des exemples de groupes de travail Athena, consultez Un lac de données public pour l'analyse des données COVID-19.
Configurer Azure AD
Dans cette section, nous couvrirons les détails de configuration d'Azure AD pour Athena dans l'abonnement Microsoft Azure. Principalement, nous allons enregistrer une application, configurer la fédération, déléguer l'autorisation de l'application et générer le secret de l'application.
Définir Azure AD comme IdP SAML pour une application à compte unique AWS
Pour configurer Azure AD comme votre IdP SAML, procédez comme suit :
- Connectez-vous à la Portail Azure avec les informations d'identification d'administrateur global Azure AD.
- Selectionnez Azure Active Directory.
- Selectionnez Applications de l'entreprise.
- Selectionnez Nouvelle application.
- Rechercher
Amazon
dans la barre de recherche. - Selectionnez Accès à compte unique AWS.
- Pour Nom, entrer
Athena-App
. - Selectionnez Créer.
- Dans le Pour commencer section, sous Configurer l'authentification unique, choisissez Commencez.
- Pour Sélectionnez une méthode de connexion unique, choisissez SAML.
- Pour Configuration SAML de base, choisissez Modifier.
- Pour Identifiant (ID d'entité), Entrer
https://signin.aws.amazon.com/saml#1
. - Selectionnez Épargnez.
- Sous Certificat de signature SAML, Pour XML de métadonnées de fédération, choisissez Télécharger.
Ce fichier est requis pour configurer votre IdP IAM dans la section suivante. Enregistrez ce fichier sur votre ordinateur local pour l'utiliser ultérieurement lors de la configuration d'IAM sur AWS.
Configurer votre application Azure AD avec des autorisations déléguées
Pour configurer votre application Azure AD, procédez comme suit :
- Selectionnez Azure Active Directory.
- Selectionnez Inscriptions d'applications ainsi que Toutes les applications.
- Rechercher et choisir Application Athena.
- Notez les valeurs de ID de l'application (client) ainsi que ID de l'annuaire (locataire).
Vous avez besoin de ces valeurs dans la connexion JDBC lorsque vous vous connectez à Athena.
- Sous Autorisations d'API, choisissez Ajouter une autorisation.
- Selectionnez Microsoft Graph ainsi que Autorisations déléguées.
- Pour Sélectionnez les autorisations, rechercher
user.read
. - Pour Utilisateur, choisissez Utilisateur.Lire.
- Selectionnez Ajouter une autorisation.
- Selectionnez Accorder le consentement de l'administrateur ainsi que Oui.
- Selectionnez Authentification ainsi que Ajouter une plateforme.
- Selectionnez Applications mobiles et de bureau.
- Sous URI de redirection personnalisés, Entrer
http://localhost/athena
. - Selectionnez Configurer.
- Selectionnez Certificats et secrets ainsi que Nouveau secret client.
- Entrez une description.
- Pour Expire le, choisissez 24 mois.
- Copiez la valeur secrète du client à utiliser lors de la configuration de la connexion JDBC.
Configurer l'IdP et les rôles IAM
Dans cette section, nous couvrirons la configuration IAM dans le compte AWS. Nous allons principalement créer un utilisateur IAM, des rôles et des politiques.
Configurer un IdP faisant confiance à Azure AD
Pour configurer votre IdP faisant confiance à Azure AD, procédez comme suit :
- Sur la console IAM, choisissez Fournisseurs d'identité dans le volet de navigation.
- Selectionnez Ajouter un fournisseur.
- Pour Type de fournisseur, choisissez SAML.
- Pour Nom du fournisseur, Entrer
AzureADAthenaProvider
. - Pour Document de métadonnées, chargez le fichier téléchargé à partir du portail Azure.
- Selectionnez Ajouter un fournisseur.
Configurer un utilisateur IAM avec une autorisation de rôle de lecture
Pour configurer votre utilisateur IAM, procédez comme suit :
- Sur la console IAM, choisissez Utilisateurs dans le volet de navigation.
- Selectionnez Ajouter un utilisateur.
- Pour nom d'utilisateur, Entrer
ReadRoleUser
. - Pour Type d'accès, sélectionnez Accès programmatique.
- Selectionnez Suivant: Autorisations.
- Pour Définir les autorisations, choisissez Joindre directement les politiques existantes.
- Selectionnez Créer une politique.
- Sélectionnez JSON et entrez la stratégie suivante, qui donne un accès en lecture pour énumérer les rôles dans IAM :
- Selectionnez Suivant: Tags.
- Selectionnez Suivant: Examen.
- Pour Nom, Entrer
readrolepolicy
. - Selectionnez Créer une politique.
- Sur le Ajouter un utilisateur onglet, recherchez et choisissez le rôle
readrole
. - Selectionnez Suivant: tags.
- Selectionnez Suivant: Examen.
- Selectionnez Créer un utilisateur.
- Téléchargez le fichier .csv contenant l'ID de clé d'accès et la clé d'accès secrète.
Nous les utilisons lors de la configuration du provisionnement automatique Azure AD.
Configurer un rôle et des stratégies IAM pour chaque groupe de travail Athena
Pour configurer des rôles et des stratégies IAM pour vos groupes de travail Athena, procédez comme suit :
- Sur la console IAM, choisissez Rôles dans le volet de navigation.
- Selectionnez Créer un rôle.
- Pour Sélectionnez le type d'entité de confiance, choisissez Fédération SAML 2.0.
- Pour Fournisseur SAML, choisissez AzureADAthenaProviderAzureADAthenaProvider.
- Selectionnez Autoriser l'accès programmatique et AWS Management Console.
- Sous État, choisissez clés / KEY :.
- Sélectionnez SAML : aud.
- Pour État, sélectionnez StringEquals.
- Pour Valeur, Entrer
http://localhost/athena
. - Selectionnez Suivant: Autorisations.
- Selectionnez Créer une politique.
- Selectionnez JSON et entrez la stratégie suivante (fournissez l'ARN de votre groupe de travail) :
La politique accorde un accès complet au groupe de travail Athena. Il est basé sur le Politique gérée par AWS AmazonAthenaFullAccess
ainsi que exemples de stratégies de groupe de travail.
- Selectionnez Suivant: Tags.
- Selectionnez Suivant: Examen.
- Pour Nom, Entrer
athenaworkgroup1policy
. - Selectionnez Créer une politique.
- Sur le Créer un rôle onglet, recherchez
athenaworkgroup1policy
et sélectionnez la politique. - Selectionnez Suivant: Tags.
- Selectionnez Suivant: Examen.
- Selectionnez Créer un rôle.
- Pour Nom, Entrer
athenaworkgroup1role
. - Selectionnez Créer un rôle.
Configurer l'accès des utilisateurs dans Azure AD
Dans cette section, nous allons configurer le provisionnement automatique et affecter les utilisateurs à l'application à partir du portail Microsoft Azure.
Configurer le provisionnement automatique des rôles IAM
Pour configurer le provisionnement automatique des rôles IAM, procédez comme suit :
- Connectez-vous à la Portail Azure avec les informations d'identification d'administrateur global Azure AD.
- Selectionnez Azure Active Directory.
- Selectionnez Applications de l'entreprise et choisissez Application Athena.
- Selectionnez Provisionner des comptes d'utilisateurs.
- Dans le Provisioning section, choisissez Commencez.
- Pour Mode d'approvisionnement, choisissez Automatique.
- Développer vous Identifiants administrateur et peupler secret client ainsi que Jeton secret avec l'ID de clé d'accès et la clé d'accès secrète de
ReadRoleUser
, Respectivement. - Selectionnez Test de connexion ainsi que Épargnez.
- Selectionnez Commencer l'approvisionnement.
Le cycle initial peut prendre un certain temps, après quoi les rôles IAM sont remplis dans Azure AD.
Configurer l'accès des utilisateurs au rôle de groupe de travail Athena
Pour configurer l'accès des utilisateurs au rôle de groupe de travail, procédez comme suit :
- Connectez-vous à Portail Azure avec les informations d'identification d'administrateur global Azure AD.
- Selectionnez Azure Active Directory.
- Selectionnez Applications de l'entreprise et choisissez Application Athena.
- Selectionnez Attribuer des utilisateurs et des groupes ainsi que Ajouter un utilisateur/groupe.
- Sous Utilisateurs et groupes, sélectionnez le groupe auquel vous souhaitez attribuer l'autorisation Athena. Pour ce poste, nous utilisons
athena-admin-adgroup
; vous pouvez également sélectionner user1. - Selectionnez Sélectionnez.
- Pour Sélectionnez un rôle, sélectionnez le rôle
athenaworkgroup1role
. - Selectionnez Sélectionnez.
- Selectionnez Attribuer.
Accéder à Athéna
Dans cette section, nous montrerons comment accéder à Athena à partir de la console AWS et de l'outil de développement SQL Workbench/J
Accédez à Athena à l'aide du portail Web Microsoft My Apps
Pour utiliser le portail Microsoft My Apps pour accéder à Athena, procédez comme suit :
- Connectez-vous à Portail Azure avec les informations d'identification d'administrateur global Azure AD.
- Selectionnez Azure Active Directory
- Selectionnez Applications de l'entreprise et choisissez Application Athena.
- Selectionnez
- biens.
- Copiez la valeur de URL d'accès utilisateur.
- Ouvrez un navigateur Web et entrez l'URL.
Le lien vous redirige vers une page de connexion Azure.
- Connectez-vous avec les informations d'identification de l'utilisateur sur site.
Vous êtes redirigé vers le Console de gestion AWS.
Accéder à Athena à l'aide de SQL Workbench/J
Dans les organisations hautement réglementées, les utilisateurs internes ne sont pas autorisés à utiliser la console pour accéder à Athena. Dans de tels cas, vous pouvez utiliser SQL Workbench/J, un outil open source qui permet la connectivité à Athena à l'aide d'un pilote JDBC.
- Téléchargez le dernier Pilote Athena JDBC (choisissez le pilote approprié en fonction de votre version Java).
- Téléchargez et installez Atelier SQL/J.
- Ouvrez SQL Workbench/J.
- Sur le Déposez votre dernière attestation menu, choisissez Fenêtre de connexion.
- Selectionnez Gérer les pilotes.
- Pour Nom, saisissez un nom pour votre pilote.
- Accédez à l'emplacement du dossier où vous avez téléchargé et décompressé le pilote.
- Selectionnez OK.
Maintenant que nous avons configuré le pilote Athena, il est temps de se connecter à Athena. Vous devez remplir l'URL de connexion, le nom d'utilisateur et le mot de passe.
Utilisez la chaîne de connexion suivante pour vous connecter à Athena avec un compte utilisateur sans MFA (fournissez les valeurs collectées plus tôt dans la publication) :
Pour vous connecter à l'aide d'un compte d'utilisateur avec MFA activé, utilisez le navigateur Azure AD Credentials Provider. Vous devez construire l'URL de connexion et remplir le nom d'utilisateur Nom d'utilisateur et mot de passe
Utilisez la chaîne de connexion suivante pour vous connecter à Athena avec un compte d'utilisateur sur lequel MFA est activé (fournissez les valeurs que vous avez collectées précédemment) :
Remplacez le texte en rouge par les détails collectés plus tôt dans l'article.
Une fois la connexion établie, vous pouvez exécuter des requêtes sur Athena.
Configuration du proxy
Si vous vous connectez à Athena via un serveur proxy, assurez-vous que le serveur proxy autorise le port 444. L'API de streaming de l'ensemble de résultats utilise le port 444 sur le serveur Athena pour les communications sortantes. Met le ProxyHost
propriété à l'adresse IP ou au nom d'hôte de votre serveur proxy. Met le ProxyPort
propriété au numéro du port TCP que le serveur proxy utilise pour écouter les connexions client. Voir le code suivant :
Résumé
Dans cet article, nous avons configuré la fédération IAM avec Azure AD connecté à AD local et configuré un accès granulaire à un groupe de travail Athena. Nous avons également examiné comment accéder à Athena via la console à l'aide du portail Web Microsoft My Apps et de l'outil SQL Workbench/J. Nous avons également discuté du fonctionnement de la connexion via un proxy. La même infrastructure de fédération peut également être exploitée pour la configuration du pilote ODBC. Vous pouvez également utiliser les instructions de cet article pour configurer Azure IdP basé sur SAML afin d'activer l'accès fédéré aux groupes de travail Athena.
À propos de l’auteur
Niraj Kumar est un gestionnaire de compte technique principal pour les services financiers chez AWS, où il aide les clients à concevoir, concevoir, créer, exploiter et prendre en charge des charges de travail sur AWS de manière sécurisée et robuste. Il possède plus de 20 ans d'expérience informatique diversifiée dans les domaines de l'architecture d'entreprise, du cloud et de la virtualisation, de la sécurité, de l'IAM, de l'architecture de solution et des systèmes et technologies d'information. Dans son temps libre, il aime le mentorat, le coaching, la randonnée, regarder des documentaires avec son fils et lire quelque chose de différent chaque jour.
- '
- &
- 100
- 11
- 420
- 7
- 9
- accès
- Compte
- Action
- infection
- active Directory
- Ad
- admin
- Tous
- Permettre
- Amazon
- selon une analyse de l’Université de Princeton
- api
- appli
- applications
- applications
- architecture
- article
- Authentification
- AWS
- Azure
- Blog
- navigateur
- construire
- cas
- le cloud
- code
- Les communications
- connexion
- Connexions
- Connectivité
- consentement
- COVID-19
- Lettres de créance
- multiplate-forme
- Clients
- données
- Lac de données
- journée
- dc
- Conception
- Développeur
- documentaires
- driver
- Entreprise
- Découvrez
- Des champs
- la traduction de documents financiers
- services financiers
- Test d'anglais
- plein
- Global
- subventions
- Réservation de groupe
- Comment
- How To
- HTTPS
- IAM
- Active
- d'information
- Infrastructure
- Interactif
- IP
- IP dédiée
- IT
- Java
- clés / KEY :
- Nouveautés
- Niveau
- LINK
- locales
- emplacement
- regardé
- gestion
- MFA
- Microsoft
- Breeze Mobile
- Navigation
- Office 365
- organisations
- Mot de Passe
- plug-in
- politiques
- politique
- Portail
- Directeur
- propriété
- procuration
- public
- en cours
- réorienter
- Exigences
- ressource
- Courir
- Rechercher
- sécurité
- Services
- set
- étapes
- sont
- SQL
- Déclaration
- storage
- streaming
- abonnement
- succès
- Support
- Les soutiens
- Système
- Technique
- Les technologies
- temporaire
- fiable
- jeton
- circulation
- utilisateurs
- Plus-value
- web
- navigateur web
- workflow
- vos contrats
- années