Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tutoriel : Configuration de l'accès fédéré à Athena pour les utilisateurs d'Okta à l'aide de Lake Formation et JDBC
Ce tutoriel vous montre comment configurer Okta, AWS Lake Formation, AWS Identity and Access Management autorisations et le JDBC pilote Athena pour permettre une utilisation fédérée SAML basée sur Athena. Lake Formation fournit un contrôle d'accès précis aux données disponibles dans Athena pour l'utilisateur basé. SAML Pour configurer cette configuration, le didacticiel utilise la console de développement Okta, AWS IAMet les consoles Lake Formation, ainsi que l'outil SQL Workbench/J.
Prérequis
Ce tutoriel suppose que vous avez effectué les opérations suivantes :
-
Création d'un compte Amazon Web Services. Pour créer un compte, visitez la page d'accueil d'Amazon Web Services
. -
Configuration d'un emplacement de résultats de requête pour Athena dans Simple Storage Service (Amazon S3).
-
Enregistrement d'un emplacement de compartiment de données Simple Storage Service (Amazon S3) dans Lake Formation.
-
Définition d'une base de données et de tables sur le AWS Glue Catalogue de données qui pointe vers vos données dans Amazon S3.
-
Si vous n'avez pas encore défini de table, exécutez un AWS Glue crawler ou utiliser Athena pour définir une base de données et une ou plusieurs tables pour les données auxquelles vous souhaitez accéder.
-
Ce didacticiel utilise un tableau basé sur l'ensemble de données sur les trajets en NYC taxi
disponible dans le Registre des données ouvertes sur AWS . Le didacticiel utilise le nom de la base de données tripdb
et le nom de la tablenyctaxi
.
-
Étapes du didacticiel
- Étape 1 : créer un compte Okta
- Étape 2 : Ajouter des utilisateurs et des groupes à Okta
- Étape 3 : configurer une application Okta pour l'authentification SAML
- Étape 4 : Création d'un AWS SAMLFournisseur d'identité et IAM rôle d'accès à Lake Formation
- Étape 5 : ajouter le IAM rôle et le fournisseur SAML d'identité à l'application Okta
- Étape 6 : Accorder des autorisations aux utilisateurs et aux groupes via AWS Lake Formation
- Étape 7 : vérifier l'accès via le client Athena JDBC
- Conclusion
- Ressources connexes
Étape 1 : créer un compte Okta
Ce didacticiel utilise Okta en tant que fournisseur d'identité SAML basé. Si vous n'avez pas encore de compte Okta, vous pouvez en créer un gratuitement. Un compte Okta est nécessaire pour créer une application Okta pour SAML l'authentification.
Création d'un compte
-
Pour utiliser Okta, rendez-vous sur la page d'inscription des développeurs Okta
et créez un compte d'essai Okta gratuit. Le service Developer Edition est gratuit dans les limites spécifiées par Okta à developer.okta.com/pricing . -
Lorsque vous recevez l'e-mail d'activation, activez votre compte.
Un nom de domaine Okta vous sera attribué. Notez le nom de domaine pour référence. Plus tard, vous utiliserez le nom de domaine (
<okta-idp-domain>
) dans la JDBC chaîne qui se connecte à Athéna.
Étape 2 : Ajouter des utilisateurs et des groupes à Okta
Dans cette étape, vous utilisez la console Okta pour effectuer les tâches suivantes :
-
Créer deux utilisateurs Okta.
-
Créer deux groupes Okta.
-
Ajouter un utilisateur Okta à chaque groupe Okta.
Ajout d'utilisateurs à Okta
-
Après avoir activé votre compte Okta, connectez-vous en tant qu'utilisateur administratif au domaine Okta attribué.
-
Dans le panneau de navigation de gauche, choisissez Directory (Répertoire), puis choisissez People (Personnes).
-
Choisissez Ajouter une personne pour ajouter un nouvel utilisateur qui accèdera à Athéna par le biais du JDBC chauffeur.
-
Dans la boîte de dialogue Add Person (Ajouter une personne), sasissez les informations requises.
-
Saisissez les valeurs pour First name (Prénom) et Last name (Nom de famille). Ce didacticiel utilise
athena-okta-user
. -
Saisissez un Username (Nom d'utilisateur) et un Primary email (E-mail principal). Ce didacticiel utilise
athena-okta-user@anycompany.com
. -
Pour Password (Mot de passe), choisissez Set by admin (Défini par l'administrateur), puis fournissez un mot de passe. Ce tutoriel désactive l'option User must change password on first login (L'utilisateur doit changer son mot de passe à la première connexion) ; vos exigences en matière de sécurité peuvent varier.
-
-
Choisissez Save and Add Another (Enregistrer et ajouter un autre type).
-
Saisissez les informations pour un autre utilisateur. Cet exemple ajoute l'utilisateur Business Analyst
athena-ba-user@anycompany.com
. -
Choisissez Save (Enregistrer).
Dans la procédure suivante, vous autorisez l'accès à deux groupes Okta via le driver JDBC Athena en ajoutant un groupe « Business Analysts » et un groupe « Developer ».
Ajout de groupes Okta
-
Dans le panneau de navigation de gauche, choisissez Directory (Répertoire), puis choisissez Groups (Groupes).
-
Sur la page Groups (Groupes), choisissez Add Group (Ajouter un groupe).
-
Dans la boîte de dialogue Add Group (Ajouter un groupe), saisissez les informations requises.
-
Dans le champ Nom, entrez
lf-business-analyst
. -
Pour la description du groupe, entrez
Business Analysts
.
-
-
Choisissez Add Group (Ajouter un groupe).
-
Sur la page Groups (Groupes), choisissez à nouveau Add Group (Ajouter un groupe). Cette fois, vous allez saisir les informations pour le groupe des développeurs.
-
Saisissez les informations requises.
-
Dans le champ Nom, entrez
lf-developer
. -
Pour la description du groupe, entrez
Developers
.
-
-
Choisissez Add Group (Ajouter un groupe).
Maintenant que vous avez deux utilisateurs et deux groupes, vous pouvez ajouter un utilisateur à chaque groupe.
Ajout d'utilisateurs à un groupe
-
Sur la page Groups (Groupes), choisissez le groupe lf-developer que vous venez de créer. Vous allez ajouter à ce groupe l'un des utilisateurs Okta que vous avez créé en tant que développeur.
-
Choisissez Manage People (Gérer personnes).
-
Dans la liste des non-membres, sélectionnez athena-okta-user.
L'entrée de l'utilisateur passe de la liste Not Members (Non membres), à gauche, à la liste Members (Membres), à droite.
-
Choisissez Save (Enregistrer).
-
Choisissez Back to Group (Retour au groupe), ou choisissez Directory (Répertoire), puis choisissez Groups (Groupes).
-
Choisissez le lf-business-analystgroupe.
-
Choisissez Manage People (Gérer personnes).
-
Ajoutez le athena-ba-userà la liste des membres du lf-business-analystgroupe, puis choisissez Enregistrer.
-
Choisissez Back to Group (Retour au groupe), ou choisissez Directory (Répertoire), Groups (Groupes).
La page Groups (Groupes) montre maintenant que chaque groupe a un utilisateur Okta.
Étape 3 : configurer une application Okta pour l'authentification SAML
Dans cette étape, vous utilisez la console du développeur Okta pour effectuer les tâches suivantes :
-
Ajoutez une SAML application à utiliser avec AWS.
-
Affecter l'application à l'utilisateur Okta.
-
Affecter l'application à un groupe Okta.
-
Téléchargez les métadonnées du fournisseur d'identité obtenues pour une utilisation ultérieure avec AWS.
Pour ajouter une application d'SAMLauthentification
-
Dans le volet de navigation Okta, choisissez Applications, Applications afin de pouvoir configurer une application Okta pour l'SAMLauthentification auprès d'Athena.
-
Cliquez sur Browse App Catalog (Parcourir le catalogue d'applications).
-
Dans la zone de recherche, saisissez
Redshift
. -
Choisissez Amazon Web Services Redshift. L'application Okta présentée dans ce didacticiel utilise l'SAMLintégration existante pour Amazon Redshift.
-
Sur la page Amazon Web Services Redshift, choisissez Ajouter pour créer une application SAML basée sur Amazon Redshift.
-
Pour Application label (Étiquette d'application), saisissez
Athena-LakeFormation-Okta
, puis Done (Terminé).
Maintenant que vous avez créé une application Okta, vous pouvez l'affecter aux utilisateurs et aux groupes que vous avez créés.
Affectation d'une application à des utilisateurs et des groupes
-
Sur la page Applications, choisissez l'application Athena- LakeFormation -Okta.
-
Dans l'onglet Assignments (Affectations), choisissez Assign (Affecter), Assign to People (Affecter à des personnes).
-
Dans la boîte de dialogue Attribuer Athena- LakeFormation -Okta à des personnes, recherchez l'athena-okta-userutilisateur que vous avez créé précédemment.
-
Choisissez Assign (Affecter) pour affecter l'utilisateur à l'application.
-
Choisissez Save and Go Back (Sauvegarder et revenir).
-
Sélectionnez Exécuté.
-
Dans l'onglet Attributions de l'application Athena- LakeFormation -Okta, choisissez Attribuer, Attribuer aux groupes.
-
Pour lf-business-analyst, choisissez Affecter pour attribuer l'application Athena- LakeFormation -Okta au lf-business-analystgroupe, puis cliquez sur Terminé.
Le groupe s'affiche dans la liste des groupes pour l'application.
Vous êtes maintenant prêt à télécharger les métadonnées de l'application du fournisseur d'identité à utiliser avec AWS.
Téléchargement des métadonnées de l'application
-
Choisissez l'onglet Sign On (Authentification) de l'application Okta, puis cliquez à droite sur Identity Provider metadata (Métadonnées du fournisseur d'identité).
-
Choisissez Enregistrer le lien sous pour enregistrer les métadonnées du fournisseur d'identité, qui sont XML au format, dans un fichier. Donnez-lui un nom que vous reconnaissez (par exemple,
Athena-LakeFormation-idp-metadata.xml
).
Étape 4 : Création d'un AWS SAMLFournisseur d'identité et IAM rôle d'accès à Lake Formation
Au cours de cette étape, vous utilisez le AWS Console Identity and Access Management (IAM) pour effectuer les tâches suivantes :
-
Créez un fournisseur d'identité pour AWS.
-
Créez un IAM rôle pour accéder à Lake Formation.
-
Ajoutez la politique AmazonAthenaFullAccess gérée au rôle.
-
Ajouter une politique pour Lake Formation et AWS Glue au rôle.
-
Ajouter une politique pour les résultats des requêtes Athena au rôle.
Pour créer un AWS Fournisseur d'identité SAML
-
Connectez-vous à la console du compte Amazon Web Services en tant qu'administrateur du compte Amazon Web Services et accédez à la IAMconsole (https://console.aws.amazon.com/iam/
). -
Dans le panneau de navigation, choisissez Identity providers (Fournisseurs d'identité), puis Add provider (Ajouter un fournisseur).
-
Sur l'écran Configure provider (Configurer le fournisseur), saisissez les informations suivantes :
-
Dans Type de fournisseur, sélectionnez SAML.
-
Pour Provider name (Nom du fournisseur), saisissez
AthenaLakeFormationOkta
. -
Pour le document de métadonnées, utilisez l'option Choisir un fichier pour télécharger le XML fichier de métadonnées du fournisseur d'identité (IdP) que vous avez téléchargé.
-
-
Choisissez Ajouter un fournisseur.
Ensuite, vous créez un IAM rôle pour AWS Lake Formation accès. Vous ajoutez deux politiques en ligne au rôle. Une politique fournit les autorisations d'accès à Lake Formation et au AWS Glue APIs. L'autre politique donne accès à Athena et à l'emplacement des résultats des requêtes Athena dans Simple Storage Service (Amazon S3).
Pour créer un IAM rôle pour AWS Lake Formation accès
-
Dans le volet de navigation de la IAM console, sélectionnez Rôles, puis sélectionnez Créer un rôle.
-
Sur la page Create role (Créer un rôle), suivez les étapes ci-dessous :
-
Pour Sélectionner le type d'entité de confiance, choisissez SAML2.0 Federation.
-
Pour SAMLle fournisseur, sélectionnez AthenaLakeFormationOkta.
-
Pour le SAMLfournisseur, sélectionnez l'option Autoriser la programmation et AWS Management Console accès.
-
Sélectionnez Next: Permissions (Étape suivante : autorisations).
-
-
Sur la page Attach Permissions policies (Attacher les politiques d'autorisations), pour Filter policies (Politiques de filtrage), saisissez
Athena
. -
Sélectionnez la politique AmazonAthenaFullAccessgérée, puis choisissez Next : Tags.
-
Sur la page Add tags (Ajouter des identifications), choisissez Next: Review (Suivant : Révision).
-
Sur la page Révision, dans Nom du rôle, entrez le nom du rôle (par exemple,
Athena-LakeFormation-OktaRole
), puis choisissez Create role.
Ensuite, vous ajoutez des politiques intégrées qui autorisent l'accès à Lake Formation, AWS Glue APIs, et les résultats de la requête Athena dans Amazon S3.
Chaque fois que vous utilisez des IAM politiques, assurez-vous de suivre les IAM meilleures pratiques. Pour plus d'informations, consultez la section Bonnes pratiques en matière de sécurité IAM dans le guide de IAM l'utilisateur.
Pour ajouter une politique intégrée au rôle de Lake Formation et AWS Glue
-
Dans la liste des rôles de la IAM console, sélectionnez le rôle nouvellement créé
Athena-LakeFormation-OktaRole
. -
Sur la page Summary (Résumé) du rôle, dans l'onglet Permissions (Autorisations), choisissez Add inline policy (Ajouter une politique en ligne).
-
Sur la page Créer une politique, sélectionnez JSON.
-
Ajoutez une politique intégrée comme la suivante qui donne accès à Lake Formation et au 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": "*" } }
-
Choisissez Review policy (Examiner une politique).
-
Dans le champ Name (Nom), saisissez un nom pour la politique (par exemple,
LakeFormationGlueInlinePolicy
). -
Choisissez Create Policy (Créer une politique).
Ajout d'une politique en ligne au rôle pour l'emplacement des résultats des requêtes Athena
-
Sur la page Summary (Résumé) du rôle
Athena-LakeFormation-OktaRole
, dans l'onglet Permissions (Autorisations), choisissez Add inline policy (Ajouter une politique en ligne). -
Sur la page Créer une politique, sélectionnez JSON.
-
Ajoutez une politique en ligne comme la suivante qui autorise le rôle à accéder à l'emplacement des résultats des requêtes Athena. Remplacez le
<athena-query-results-bucket>
des espaces réservés dans l'exemple avec le nom de votre compartiment 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>
/*" ] } ] } -
Choisissez Review policy (Examiner une politique).
-
Dans le champ Name (Nom), saisissez un nom pour la politique (par exemple,
AthenaQueryResultsInlinePolicy
). -
Choisissez Create Policy (Créer une politique).
Ensuite, vous copiez le rôle ARN d'accès à Lake Formation et le rôle ARN du SAML fournisseur que vous avez créé. Ils sont obligatoires lorsque vous configurez l'SAMLapplication Okta dans la section suivante du didacticiel.
Pour copier le rôle ARN et le fournisseur SAML d'identité ARN
-
Dans la IAM console, sur la page Résumé du
Athena-LakeFormation-OktaRole
rôle, cliquez sur l'icône Copier dans le presse-papiers à côté de Rôle ARN. Le format ARN est le suivant :arn:aws:iam::
<account-id>
:role/Athena-LakeFormation-OktaRole -
Enregistrez l'intégralité ARN en toute sécurité pour pouvoir vous y référer ultérieurement.
-
Dans le volet de navigation de la IAM console, choisissez Identity providers.
-
Choisissez le AthenaLakeFormationOktafournisseur.
-
Sur la page Résumé, cliquez sur l'icône Copier dans le presse-papiers à côté du fournisseur ARN. Cela ARN devrait ressembler à ce qui suit :
arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta -
Enregistrez l'intégralité ARN en toute sécurité pour pouvoir vous y référer ultérieurement.
Étape 5 : ajouter le IAM rôle et le fournisseur SAML d'identité à l'application Okta
Dans cette étape, vous revenez à la console du développeur Okta et effectuez les tâches suivantes :
-
Ajoutez les URL attributs Lake Formation d'utilisateur et de groupe à l'application Okta.
-
Ajoutez le ARN pour le fournisseur d'identité et le ARN pour le IAM rôle à l'application Okta.
-
Copier l'ID de l'application Okta. L'ID d'application Okta est requis dans le JDBC profil qui se connecte à Athena.
Pour ajouter des URL attributs d'utilisateur et de groupe Lake Formation à l'application Okta
-
Connectez-vous à la console de développement Okta.
-
Choisissez l'onglet Applications, puis choisissez l'application
Athena-LakeFormation-Okta
. -
Choisissez l'onglet Sign On (Authentification) de l'application, puis choisissez Edit (Modifier).
-
Choisissez Attributes (optional) (Attributs [facultatif]) pour les développer.
-
Pour Attribute Statements (optional) (Instructions d'attribut [facultatif]), ajoutez l'attribut suivant :
-
Pour Name (Nom), saisissez
https://lakeformation.amazon.com/SAML/Attributes/Username
. -
Pour le champ Value (Valeur), saisissez
user.login
.
-
-
Sous Group Attribute Statements (optional) (Instructions d'attribut de groupe [facultatif]), ajoutez l'attribut suivant :
-
Pour Name (Nom), saisissez
https://lakeformation.amazon.com/SAML/Attributes/Groups
. -
Pour Name format (Format du nom), saisissez
Basic
-
Pour Filter (Filtre), choisissez Matches regex (Correspond à regex), puis saisissez
.*
dans la zone de filtre.
-
-
Faites défiler la page jusqu'à la section Paramètres de connexion avancés, où vous ajouterez le fournisseur d'identité et le IAM rôle ARNs à l'application Okta.
Pour ajouter le ARNs fournisseur d'identité et le IAM rôle à l'application Okta
-
Pour Idp ARN et Role ARN, entrez AWS fournisseur d'identité ARN et rôle ARN sous forme de valeurs séparées par des virgules dans le format
<saml-arn>
,<role-arn>
. La chaîne combinée doit ressembler à ce qui suit :arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta,arn:aws:iam::<account-id>
:role/Athena-LakeFormation-OktaRole -
Choisissez Save (Enregistrer).
Ensuite, copiez l'ID de l'application Okta. Vous en aurez besoin plus tard pour la JDBC chaîne qui se connecte à Athéna.
Recherche et copie de l'ID de l'application Okta
-
Choisissez l'onglet General (Général) de l'application Okta.
-
Faites défiler la page jusqu'à la section App Embed Link (Intégrer lien d'application).
-
Depuis Embed Link, copiez et enregistrez en toute sécurité la partie identifiant d'application Okta du. URL L'ID d'application Okta est la partie qui URL suit
amazon_aws_redshift/
mais qui précède la barre oblique suivante. Par exemple, si le URL contientamazon_aws_redshift/aaa/bbb
, l'ID de l'application estaaa
.
Note
Le lien intégré ne peut pas être utilisé dans le but de se connecter directement à la console Athena pour afficher les bases de données. Les autorisations de Lake Formation accordées aux SAML utilisateurs et aux groupes ne sont reconnues que lorsque vous utilisez le ODBC pilote JDBC or pour envoyer des requêtes à Athéna. Pour consulter les bases de données, vous pouvez utiliser l'outil SQL Workbench/J, qui utilise le JDBC pilote pour se connecter à Athena. L'outil SQL Workbench/J est décrit dans. Étape 7 : vérifier l'accès via le client Athena JDBC
Étape 6 : Accorder des autorisations aux utilisateurs et aux groupes via AWS Lake Formation
Au cours de cette étape, vous utilisez la console Lake Formation pour accorder des autorisations sur une table à l'SAMLutilisateur et au groupe. Vous devez effectuer les tâches suivantes :
-
Spécifiez ARN l'SAMLutilisateur Okta et les autorisations utilisateur associées dans le tableau.
-
Spécifiez ARN le SAML groupe Okta et les autorisations de groupe associées dans le tableau.
-
Vérifiez les autorisations que vous avez accordées.
Octroi d'autorisations dans Lake Formation à l'utilisateur Okta
-
Connectez-vous en tant qu'administrateur du lac de données au AWS Management Console.
Ouvrez la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/
. -
Dans le panneau de navigation, choisissez Tables, puis sélectionnez la table pour laquelle vous souhaitez accorder des autorisations. Ce tutoriel utilise la table
nyctaxi
de la base de donnéestripdb
. -
Dans Actions, choisissez Grant (Accorder).
-
Dans la boîte de dialogue Grant permissions (Accorder des autorisations), saisissez les informations suivantes :
-
Sous QuickSight Utilisateurs SAML et groupes Amazon, entrez l'SAMLutilisateur Okta ARN au format suivant :
arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta:user/<athena-okta-user>
@<anycompany.com>
-
Pour Columns (Colonnes), pour Choose filter type (Choisir un type de filtre), choisissez Include columns (Inclure des colonnes) ou Exclude columns (Exclure des colonnes).
-
Utilisez la liste déroulante Choose one or more columns (Choisir une ou plusieurs colonnes) sous le filtre pour spécifier les colonnes que vous voulez inclure ou exclure pour ou de l'utilisateur.
-
Pour Table permissions (Autorisations de table), choisissez Select (Sélectionner). Ce tutoriel n'accorde que l'autorisation
SELECT
; vos besoins peuvent varier.
-
-
Choisissez Grant (Accorder).
Vous devez maintenant effectuer des étapes similaires pour le groupe Okta.
Octroi d'autorisations dans Lake Formation au groupe Okta
-
Sur la page Tables de la console Lake Formation, assurez-vous que la table nyctaxi est toujours sélectionnée.
-
Dans Actions, choisissez Grant (Accorder).
-
Dans la boîte de dialogue Grant permissions (Accorder des autorisations), saisissez les informations suivantes :
-
Sous QuickSight Utilisateurs SAML et groupes Amazon, entrez le SAML groupe Okta ARN au format suivant :
arn:aws:iam::
<account-id>
:saml-provider/AthenaLakeFormationOkta:group/lf-business-analyst -
Pour Columns (Colonnes), Choose filter type (Choisir un type de filtre), choisissez Include columns (Inclure des colonnes).
-
Pour Choose one or more columns (Choisir une ou plusieurs colonnes), choisissez les trois premières colonnes de la table.
-
Pour Table permissions (Autorisations de table), choisissez les autorisations d'accès spécifiques à accorder. Ce tutoriel n'accorde que l'autorisation
SELECT
; vos besoins peuvent varier.
-
-
Choisissez Grant (Accorder).
-
Pour vérifier les autorisations que vous avez accordées, choisissez Actions, View permissions (Afficher les autorisations).
La page Autorisations relatives aux données du
nyctaxi
tableau indique les autorisations pour athena-okta-useret le lf-business-analystgroupe.
Étape 7 : vérifier l'accès via le client Athena JDBC
Vous êtes maintenant prêt à utiliser un JDBC client pour tester la connexion à Athena en tant qu'utilisateur SAML Okta.
Dans cette section, vous effectuez les tâches suivantes :
-
Préparez le client de test : téléchargez le JDBC pilote Athena, installez SQL Workbench et ajoutez-le à Workbench. Ce didacticiel utilise SQL Workbench pour accéder à Athena via l'authentification Okta et pour vérifier les autorisations de Lake Formation.
-
Dans SQL Workbench :
-
Créez une connexion pour l'utilisateur Okta Athena.
-
Exécutez des requêtes de test en tant qu'utilisateur Okta Athena.
-
Créez et testez une connexion pour l'utilisateur analyste commercial.
-
-
Dans la console Okta, ajoutez l'utilisateur analyste commercial au groupe développeur.
-
Dans la console Lake Formation, configurez les autorisations de table pour le groupe développeur.
-
Dans SQL Workbench, exécutez des requêtes de test en tant qu'utilisateur Business Analyst et vérifiez l'impact de la modification des autorisations sur les résultats.
Préparation du client de test
-
Téléchargez et extrayez le JDBC pilote Athena compatible avec Lake Formation (version 2.0.14 ou ultérieure) à partir de. Connectez-vous à Amazon Athena avec JDBC
-
Téléchargez et installez l'outil de SQL requête SQLWorkbench/J
gratuit, disponible sous une licence Apache 2.0 modifiée. -
Dans SQL Workbench, choisissez Fichier, puis Manage Drivers.
-
Dans la boîte de dialogue Manage Drivers (Gérer les pilotes), effectuez les étapes suivantes :
-
Choisissez l'icône du nouveau pilote.
-
Pour Name (Nom), saisissez
Athena
. -
Dans Bibliothèque, recherchez et choisissez le fichier Simba JDBC
.jar
Athena que vous venez de télécharger. -
Choisissez OK.
-
Vous pouvez maintenant créer et tester une connexion pour l'utilisateur Okta Athena.
Création d'une connexion pour l'utilisateur Okta Athena
-
Choisissez File (Fichier), Connect window (Fenêtre de connexion).
-
Dans la boîte de dialogue Connection profile (Profil de connexion), créez une connexion en saisissant les informations suivantes :
-
Dans le champ du nom, saisissez
Athena_Okta_User_Connection
. -
Pour Driver, choisissez le pilote Simba JDBC Athena.
-
Pour URL, effectuez l'une des opérations suivantes :
-
Pour utiliser une connexionURL, entrez une chaîne de connexion unipolaire. L'exemple suivant ajoute des sauts de ligne pour plus de lisibilité.
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; -
Pour utiliser un AWS en fonction du profilURL, effectuez les opérations suivantes :
-
Configurez un AWS profil doté d'un AWS fichier d'informations d'identification comme dans l'exemple suivant.
[
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
-
Pour URL, entrez une chaîne de connexion unipolaire comme dans l'exemple suivant. L'exemple ajoute des sauts de ligne pour plus de lisibilité.
jdbc:awsathena://AwsRegion=
region-id
; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; profile=athena_lf_dev
; SSL_Insecure=true; LakeFormationEnabled=true;
-
Notez que ces exemples sont des représentations de base de ce qui URL est nécessaire pour se connecter à Athéna. Pour obtenir la liste complète des paramètres pris en charge dans leURL, reportez-vous à la JDBCdocumentation.
-
L'image suivante montre un profil de connexion SQL Workbench qui utilise une connexionURL.
-
Maintenant que vous avez établi une connexion pour l'utilisateur Okta, vous pouvez la tester en récupérant certaines données.
Test de la connexion de l'utilisateur Okta
-
Choisissez Test, puis vérifiez que la connexion réussit.
-
Dans la fenêtre SQL Workbench Statement, exécutez la SQL
DESCRIBE
commande suivante. Vérifiez que toutes les colonnes sont affichées.DESCRIBE "tripdb"."nyctaxi"
-
Dans la fenêtre SQL Workbench Statement, exécutez la SQL
SELECT
commande suivante. Vérifiez que toutes les colonnes sont affichées.SELECT * FROM tripdb.nyctaxi LIMIT 5
Ensuite, vous devez vérifier qu'en tant que membre du lf-business-analystgroupe, il n'a accès qu'aux trois premières colonnes du tableau que vous avez spécifié précédemment dans Lake Formation. athena-ba-user
Pour vérifier l'accès au athena-ba-user
-
Dans SQL Workbench, dans la boîte de dialogue Profil de connexion, créez un autre profil de connexion.
-
Pour le nom du profil de connexion, saisissez
Athena_Okta_Group_Connection
. -
Pour Driver, choisissez le pilote Simba JDBC Athena.
-
Pour URL, effectuez l'une des opérations suivantes :
-
Pour utiliser une connexionURL, entrez une chaîne de connexion unipolaire. L'exemple suivant ajoute des sauts de ligne pour plus de lisibilité.
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; -
Pour utiliser un AWS en fonction du profilURL, effectuez les opérations suivantes :
-
Configurez un AWS profil contenant un fichier d'informations d'identification comme dans l'exemple suivant.
[
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
-
Pour URL, entrez une chaîne de connexion unipolaire comme suit. L'exemple ajoute des sauts de ligne pour plus de lisibilité.
jdbc:awsathena://AwsRegion=
region-id
; S3OutputLocation=s3://amzn-s3-demo-bucket/athena_results; profile=athena_lf_ba
; SSL_Insecure=true; LakeFormationEnabled=true;
-
-
-
-
Choisissez Test pour confirmer que la connexion est réussie.
-
SQLDans la fenêtre Statement, exécutez les mêmes
DESCRIBE
SELECT
SQL commandes que vous avez utilisées auparavant et examinez les résultats.Comme athena-ba-useril est membre du lf-business-analystgroupe, seules les trois premières colonnes que vous avez spécifiées dans la console Lake Formation sont renvoyées.
Revenez ensuite à la console Okta pour ajouter l'utilisateur athena-ba-user
au groupe Okta lf-developer
.
Pour ajouter le athena-ba-user au groupe lf-developer
-
Connectez-vous à la console Okta en tant qu'utilisateur administratif du domaine Okta attribué.
-
Choisissez Directory (Répertoire), puis choisissez Groups (Groupes).
-
Sur la page Groups (Groupes), choisissez le groupe lf-developer.
-
Choisissez Manage People (Gérer personnes).
-
Dans la liste des non-membres, choisissez le athena-ba-userpour l'ajouter au groupe lf-developer.
-
Choisissez Save (Enregistrer).
Revenez maintenant à la console Lake Formation pour configurer les autorisations de table pour le groupe lf-developer.
Pour configurer les autorisations de table pour lf-developer-group
-
Connectez-vous à la console Lake Formation en tant qu'administrateur de lac de données.
-
Dans le volet de navigation, choisissez Tables.
-
Sélectionnez la table nyctaxi.
-
Choisissez Actions, Grant (Accorder).
-
Dans la boîte de dialogue Grant permissions (Accorder des autorisations), saisissez les informations suivantes :
-
Pour les QuickSight utilisateurs SAML et les groupes Amazon, entrez le groupe Okta SAML lf-developer ARN au format suivant :
-
Pour Columns (Colonnes), Choose filter type (Choisir un type de filtre), choisissez Include columns (Inclure des colonnes).
-
Choisissez la colonne trip_type.
-
Pour Autorisations relatives aux tables, sélectionnez SELECT.
-
-
Choisissez Grant (Accorder).
Vous pouvez désormais utiliser SQL Workbench pour vérifier la modification des autorisations pour le groupe lf-developer. Le changement devrait se refléter dans les données disponibles pour athena-ba-user, qui est désormais membre du groupe lf-developer.
Pour vérifier la modification des autorisations pour athena-ba-user
-
Fermez le programme SQL Workbench, puis rouvrez-le.
-
Connectez-vous au profil pour athena-ba-user.
-
Dans la fenêtre Relevé, émettez les mêmes SQL instructions que celles que vous avez exécutées précédemment :
Cette fois, la colonne trip_type s'affiche.
Étant donné qu'athena-ba-useril est désormais membre à la fois du lf-developer et lf-business-analystdes groupes, la combinaison des autorisations Lake Formation pour ces groupes détermine les colonnes renvoyées.
Conclusion
Dans ce didacticiel, vous avez configuré l'intégration d'Athena avec AWS Lake Formation en utilisant Okta comme SAML fournisseur. Vous avez utilisé Lake Formation IAM pour contrôler les ressources mises à la disposition de l'SAMLutilisateur dans votre lac de données AWS Glue Catalogue de données.
Ressources connexes
Pour plus d'informations, consultez les ressources suivantes.
-
Octroi et révocation des autorisations relatives au catalogue de données dans le AWS Lake Formation Guide du développeur.
-
Fournisseurs d'identité et fédération dans le guide de IAM l'utilisateur.
-
Création de fournisseurs IAM SAML d'identité dans le guide de IAM l'utilisateur.
-
Permettre à la fédération de AWS à l'aide de Windows Active Directory et de la SAML version 2.0
sur le ADFS AWS Blog sur la sécurité.