Configuration des autorisations pour les formats de stockage de tables ouvertes dans Lake Formation - AWS Lake Formation

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.

Configuration des autorisations pour les formats de stockage de tables ouvertes dans Lake Formation

AWS Lake Formation prend en charge la gestion des autorisations d'accès pour les formats Open Table (OTFs) tels qu'Apache Iceberg, Apache Hudi et la fondation Linux Delta Lake. Dans ce didacticiel, vous allez apprendre à créer Iceberg, Hudi et Delta Lake à l'aide de tables manifestes de liens symboliques AWS Glue, à configurer des autorisations détaillées à l' AWS Glue Data Catalog aide de Lake Formation et à interroger des données à l'aide d'Amazon Athena.

Note

AWS les services d'analyse ne prennent pas en charge tous les formats de tables transactionnels. Pour de plus amples informations, veuillez consulter Collaboration avec d'autres AWS services. Ce didacticiel couvre la création manuelle d'une nouvelle base de données et d'une table dans le catalogue de données à l'aide de AWS Glue tâches uniquement.

Ce didacticiel inclut un AWS CloudFormation modèle pour une configuration rapide. Vous pouvez le consulter et le personnaliser en fonction de vos besoins.

Public visé

Ce didacticiel est destiné IAM aux administrateurs, aux administrateurs de lacs de données et aux analystes commerciaux. Le tableau suivant répertorie les rôles utilisés dans ce didacticiel pour créer une table gouvernée à l'aide de Lake Formation.

Rôle Description
IAMAdministrateur Un utilisateur capable de créer des IAM utilisateurs, des rôles et des compartiments Amazon S3. Possède la politique AdministratorAccess AWS gérée.
Administrateur du lac de données Un utilisateur qui peut accéder au catalogue de données, créer des bases de données et accorder des autorisations Lake Formation à d'autres utilisateurs. Dispose de moins d'IAMautorisations que l'IAMadministrateur, mais suffisamment pour administrer le lac de données.
Analyste commercial Un utilisateur qui peut exécuter des requêtes sur le lac de données. Dispose des autorisations nécessaires pour exécuter des requêtes.

Prérequis

Avant de commencer ce didacticiel, vous devez disposer d'un Compte AWS identifiant auquel vous pouvez vous connecter en tant qu'utilisateur avec les autorisations appropriées. Pour plus d’informations, consultez Inscrivez-vous pour un Compte AWS et Création d'un utilisateur doté d'un accès administratif.

Le didacticiel part du principe que vous connaissez les IAM rôles et les politiques. Pour plus d'informationsIAM, consultez le guide de IAM l'utilisateur.

Vous devez configurer les AWS ressources suivantes pour suivre ce didacticiel :

  • Utilisateur administrateur du lac de données

  • Données sur la formation des lacs et paramètres des lacs

  • Version 3 du moteur Amazon Athena

Pour créer un administrateur de lac de données
  1. Connectez-vous à la console Lake Formation en https://console.aws.amazon.com/lakeformation/tant qu'utilisateur administrateur. Vous allez créer des ressources dans la région USA Est (Virginie du Nord) pour ce didacticiel.

  2. Sur la console Lake Formation, dans le volet de navigation, sous Autorisations, sélectionnez Administrative roles and tasks.

  3. Sélectionnez Choisir les administrateurs sous Administrateurs du lac de données.

  4. Dans la fenêtre contextuelle, Gérer les administrateurs des lacs de données, sous IAMUtilisateurs et rôles, sélectionnez Utilisateur IAM administrateur.

  5. Choisissez Save (Enregistrer).

Pour activer les paramètres du lac de données
  1. Ouvrez la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/. Dans le volet de navigation, sous Catalogue de données, sélectionnez Paramètres. Décochez les cases suivantes :

    • Utilisez uniquement le contrôle IAM d'accès pour les nouvelles bases de données.

    • Utilisez uniquement le contrôle IAM d'accès pour les nouvelles tables dans les nouvelles bases de données.

  2. Dans les paramètres des versions multi-comptes, choisissez la version 3 comme version multi-comptes.

  3. Choisissez Save (Enregistrer).

Pour mettre à niveau le moteur Amazon Athena vers la version 3
  1. Ouvrez la console Athena à l'adresse. https://console.aws.amazon.com/athena/

  2. Sélectionnez le groupe de travail, puis le groupe de travail principal.

  3. Assurez-vous que le groupe de travail dispose d'une version minimale de 3. Si ce n'est pas le cas, modifiez le groupe de travail, choisissez Manual for Upgrade query engine, puis sélectionnez la version 3.

  4. Sélectionnez Enregistrer les modifications.

Étape 1 : Approvisionnez vos ressources

Cette section explique comment configurer les AWS ressources à l'aide d'un AWS CloudFormation modèle.

Pour créer vos ressources à l'aide d' AWS CloudFormation un modèle
  1. Connectez-vous à la AWS CloudFormation console à l'adresse https://console.aws.amazon.com/cloudformation en tant qu'IAMadministrateur dans la région USA Est (Virginie du Nord).

  2. Choisissez Launch Stack.

  3. Choisissez Next sur l'écran de création d'une pile.

  4. Entrez un nom de pile.

  5. Choisissez Suivant.

  6. Sur la page suivante, choisissez Next.

  7. Passez en revue les informations sur la dernière page et sélectionnez Je reconnais que cela AWS CloudFormation pourrait créer IAM des ressources.

  8. Sélectionnez Create (Créer).

    La création de la pile peut prendre jusqu'à deux minutes.

Le lancement de la pile de formation dans le cloud crée les ressources suivantes :

  • lf-otf-datalake-123456789012 — Compartiment Amazon S3 pour stocker des données

    Note

    L'identifiant de compte ajouté au nom du compartiment Amazon S3 est remplacé par votre identifiant de compte.

  • lf-otf-tutorial-123456789012 — Compartiment Amazon S3 pour stocker les résultats des requêtes et les scripts de travail AWS Glue

  • lficebergdb — Base de données Iceberg AWS Glue

  • lfhudidb — Base de données Hudi AWS Glue

  • lfdeltadb — Base de données Delta AWS Glue

  • native-iceberg-create — AWS Glue tâche qui crée une table Iceberg dans le catalogue de données

  • native-hudi-create — AWS Glue tâche qui crée une table Hudi dans le catalogue de données

  • native-delta-create — AWS Glue tâche qui crée une table Delta dans le catalogue de données

  • LF- OTF - GlueServiceRole — IAM rôle auquel vous passez AWS Glue pour exécuter les tâches. Ce rôle est associé aux politiques requises pour accéder aux ressources telles que le catalogue de données, le compartiment Amazon S3, etc.

  • LF- OTF - RegisterRole — IAM rôle permettant d'enregistrer le site Amazon S3 auprès de Lake Formation. Ce rôle est LF-Data-Lake-Storage-Policy rattaché au rôle.

  • lf-consumer-analystuser — IAM utilisateur pour interroger les données à l'aide d'Athena

  • lf-consumer-analystuser-credentials — Mot de passe de l'utilisateur de l'analyste de données enregistré dans AWS Secrets Manager

Une fois les créations de piles terminées, accédez à l'onglet de sortie et notez les valeurs pour :

  • AthenaQueryResultLocation — Emplacement Amazon S3 pour la sortie de requête Athena

  • BusinessAnalystUserCredentials — Mot de passe de l'utilisateur de l'analyste de données

    Pour récupérer la valeur du mot de passe :

    1. Choisissez la lf-consumer-analystuser-credentials valeur en accédant à la console Secrets Manager.

    2. Dans la section Secret value (Valeur du secret), choisissez Retrieve secret value (Récupérer la valeur du secret).

    3. Notez la valeur secrète du mot de passe.

Étape 2 : configurer les autorisations pour une table Iceberg

Dans cette section, vous allez apprendre à créer une table Iceberg dans Amazon Athena AWS Glue Data Catalog, à configurer des autorisations de données et à interroger des données à AWS Lake Formation l'aide d'Amazon Athena.

Pour créer une table Iceberg

Au cours de cette étape, vous allez exécuter une AWS Glue tâche qui crée une table transactionnelle Iceberg dans le catalogue de données.

  1. Ouvrez le fichier AWS Glue console https://console.aws.amazon.com/glue/dans la région USA Est (Virginie du Nord) en tant qu'utilisateur administrateur du lac de données.

  2. Choisissez des tâches dans le volet de navigation de gauche.

  3. Sélectionnez native-iceberg-create.

    L'image est une capture d'écran de la page de AWS Glue travail dans la console.
  4. Sous Actions, sélectionnez Modifier la tâche.

  5. Sous Détails du job, développez les propriétés avancées et cochez la case à côté de Utiliser AWS Glue Data Catalog comme métastore Hive pour ajouter les métadonnées de la table dans le. AWS Glue Data Catalog Cela permet de AWS Glue Data Catalog définir le métastore pour les ressources du catalogue de données utilisées dans le cadre de la tâche et permet d'appliquer les autorisations de Lake Formation ultérieurement aux ressources du catalogue.

  6. Choisissez Save (Enregistrer).

  7. Cliquez sur Exécuter. Vous pouvez consulter le statut de la tâche pendant son exécution.

    Pour plus d'informations sur les AWS Glue tâches, consultez la section Utilisation des tâches sur la AWS Glue console dans le Guide du AWS Glue développeur.

    Cette tâche crée une table Iceberg nommée product dans la lficebergdb base de données. Vérifiez le tableau des produits dans la console Lake Formation.

Pour enregistrer l'emplacement des données auprès de Lake Formation

Enregistrez ensuite le chemin Amazon S3 comme emplacement de votre lac de données.

  1. Ouvrez la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/en tant qu'utilisateur administrateur du lac de données.

  2. Dans le volet de navigation, sous Enregistrer et ingérer, choisissez Emplacement des données.

  3. Dans le coin supérieur droit de la console, choisissez Enregistrer l'emplacement.

  4. Sur la page Enregistrer l'emplacement, entrez les informations suivantes :

    • Chemin Amazon S3 : choisissez Browse et sélectionnezlf-otf-datalake-123456789012. Cliquez sur la flèche droite (>) à côté de l'emplacement racine d'Amazon S3 pour accéder à cet s3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-iceberg emplacement.

    • IAMrôle — Choisissez LF-OTF-RegisterRole comme IAM rôle.

    • Choisissez Enregistrer l'emplacement.

    L'image est une capture d'écran de la page de localisation du Lake Formation Register dans la console.

    Pour plus d'informations sur l'enregistrement d'un emplacement de données auprès de Lake Formation, consultezAjouter un emplacement Amazon S3 à votre lac de données.

Pour accorder des autorisations à Lake Formation sur la table Iceberg

Au cours de cette étape, nous accorderons des autorisations de lac de données à l'utilisateur Business Analyst.

  1. Sous Autorisations du lac de données, choisissez Grant.

  2. Sur l'écran Accorder les autorisations relatives aux données, sélectionnez IAMUtilisateurs et rôles.

  3. lf-consumer-analystuserChoisissez dans le menu déroulant.

    L'image est une capture d'écran de la page des autorisations de Lake Formation dans la console.
  4. Choisissez Ressource de catalogue de données nommée.

  5. Pour les bases de données, choisissezlficebergdb.

  6. Pour Tables, sélectionnezproduct.

    L'image est une capture d'écran de la page des autorisations de Lake Formation dans la console.
  7. Vous pouvez ensuite accorder un accès basé sur les colonnes en spécifiant des colonnes.

    1. Sous Autorisations relatives aux tables, choisissez Sélectionner.

    2. Sous Autorisations relatives aux données, choisissez Accès basé sur les colonnes, choisissez Inclure les colonnes.

    3. Choisissez product_nameprice, et category colonnes.

    4. Choisissez Grant (Accorder).

      L'image est une capture d'écran de la page des autorisations de Lake Formation dans la console.
Pour interroger la table Iceberg à l'aide d'Athena

Vous pouvez maintenant commencer à interroger la table Iceberg que vous avez créée avec Athena. Si c'est la première fois que vous exécutez des requêtes dans Athena, vous devez configurer l'emplacement des résultats des requêtes. Pour plus d'informations, consultez la section Spécification de l'emplacement des résultats d'une requête.

  1. Déconnectez-vous en tant qu'administrateur du lac de données et connectez-vous comme lf-consumer-analystuser dans la région USA Est (Virginie du Nord) en utilisant le mot de passe indiqué précédemment dans le AWS CloudFormation résultat.

  2. Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/.

  3. Choisissez Paramètres, puis sélectionnez Gérer.

  4. Dans le champ Emplacement du résultat de la requête, entrez le chemin d'accès au compartiment que vous avez créé dans AWS CloudFormation les sorties. Copiez la valeur de AthenaQueryResultLocation (s3 ://lf-otf-tutorial-123456789012/athena-results/) et choisissez Enregistrer.

  5. Exécutez la requête suivante pour prévisualiser 10 enregistrements stockés dans la table Iceberg :

    select * from lficebergdb.product limit 10;

    Pour plus d'informations sur l'interrogation de tables Iceberg à l'aide d'Athena, consultez la section Interrogation de tables Iceberg dans le guide de l'utilisateur d'Amazon Athena.

Étape 3 : configurer les autorisations pour une table Hudi

Dans cette section, vous allez apprendre à créer une table Hudi dans le AWS Glue Data Catalog, à configurer les autorisations de données et à interroger des données à AWS Lake Formation l'aide d'Amazon Athena.

Pour créer une table Hudi

Au cours de cette étape, vous allez exécuter une AWS Glue tâche qui crée une table transactionnelle Hudi dans le catalogue de données.

  1. Connectez-vous au AWS Glue console https://console.aws.amazon.com/glue/dans la région USA Est (Virginie du Nord)

    en tant qu'utilisateur administrateur du lac de données.

  2. Choisissez des tâches dans le volet de navigation de gauche.

  3. Sélectionnez native-hudi-create.

  4. Sous Actions, sélectionnez Modifier la tâche.

  5. Sous Détails du job, développez les propriétés avancées et cochez la case à côté de Utiliser AWS Glue Data Catalog comme métastore Hive pour ajouter les métadonnées de la table dans le. AWS Glue Data Catalog Cela permet de AWS Glue Data Catalog définir le métastore pour les ressources du catalogue de données utilisées dans le cadre de la tâche et permet d'appliquer les autorisations de Lake Formation ultérieurement aux ressources du catalogue.

  6. Choisissez Save (Enregistrer).

  7. Cliquez sur Exécuter. Vous pouvez consulter le statut de la tâche pendant son exécution.

    Pour plus d'informations sur les AWS Glue tâches, consultez la section Utilisation des tâches sur la AWS Glue console dans le Guide du AWS Glue développeur.

    Cette tâche crée une table Hudi (cow) dans la base de données : lfhudidb. Vérifiez le product tableau dans la console Lake Formation.

Pour enregistrer l'emplacement des données auprès de Lake Formation

Enregistrez ensuite un chemin Amazon S3 comme emplacement racine de votre lac de données.

  1. Connectez-vous à la console Lake Formation en https://console.aws.amazon.com/lakeformation/tant qu'utilisateur administrateur du lac de données.

  2. Dans le volet de navigation, sous Enregistrer et ingérer, choisissez Emplacement des données.

  3. Dans le coin supérieur droit de la console, choisissez Enregistrer l'emplacement.

  4. Sur la page Enregistrer l'emplacement, entrez les informations suivantes :

    • Chemin Amazon S3 : choisissez Browse et sélectionnezlf-otf-datalake-123456789012. Cliquez sur la flèche droite (>) à côté de l'emplacement racine d'Amazon S3 pour accéder à cet s3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-hudi emplacement.

    • IAMrôle — Choisissez LF-OTF-RegisterRole comme IAM rôle.

    • Choisissez Enregistrer l'emplacement.

Pour accorder des autorisations de data lake sur la table Hudi

Au cours de cette étape, nous accorderons des autorisations de lac de données à l'utilisateur Business Analyst.

  1. Sous Autorisations du lac de données, choisissez Grant.

  2. Sur l'écran Accorder les autorisations relatives aux données, sélectionnez IAMUtilisateurs et rôles.

  3. lf-consumer-analystuserdepuis le menu déroulant.

  4. Choisissez Ressource de catalogue de données nommée.

  5. Pour les bases de données, choisissezlfhudidb.

  6. Pour Tables, sélectionnezproduct.

  7. Vous pouvez ensuite accorder un accès basé sur les colonnes en spécifiant des colonnes.

    1. Sous Autorisations relatives aux tables, choisissez Sélectionner.

    2. Sous Autorisations relatives aux données, choisissez Accès basé sur les colonnes, choisissez Inclure les colonnes.

    3. Choisissez product_nameprice, et category colonnes.

    4. Choisissez Grant (Accorder).

Pour interroger la table Hudi à l'aide d'Athena

Commencez maintenant à interroger la table Hudi que vous avez créée avec Athena. Si c'est la première fois que vous exécutez des requêtes dans Athena, vous devez configurer l'emplacement des résultats des requêtes. Pour plus d'informations, consultez la section Spécification de l'emplacement des résultats d'une requête.

  1. Déconnectez-vous en tant qu'administrateur du lac de données et connectez-vous comme lf-consumer-analystuser dans la région USA Est (Virginie du Nord) en utilisant le mot de passe indiqué précédemment dans le AWS CloudFormation résultat.

  2. Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/.

  3. Choisissez Paramètres, puis sélectionnez Gérer.

  4. Dans le champ Emplacement du résultat de la requête, entrez le chemin d'accès au compartiment que vous avez créé dans AWS CloudFormation les sorties. Copiez la valeur de AthenaQueryResultLocation (s3 ://lf-otf-tutorial-123456789012/athena-results/) et enregistrez.

  5. Exécutez la requête suivante pour prévisualiser 10 enregistrements stockés dans la table Hudi :

    select * from lfhudidb.product limit 10;

    Pour plus d'informations sur l'interrogation des tables Hudi, consultez la section Interrogation des tables Hudi du guide de l'utilisateur d'Amazon Athena.

Étape 4 : Configuration des autorisations pour une table Delta Lake

Dans cette section, vous allez apprendre à créer une table Delta Lake contenant un fichier manifeste de liens symboliques AWS Glue Data Catalog, à configurer les autorisations de données AWS Lake Formation et à interroger des données à l'aide d'Amazon Athena.

Pour créer une table Delta Lake

Au cours de cette étape, vous allez exécuter une AWS Glue tâche qui crée une table transactionnelle Delta Lake dans le catalogue de données.

  1. Connectez-vous au AWS Glue console https://console.aws.amazon.com/glue/dans la région USA Est (Virginie du Nord)

    en tant qu'utilisateur administrateur du lac de données.

  2. Choisissez des tâches dans le volet de navigation de gauche.

  3. Sélectionnez native-delta-create.

  4. Sous Actions, sélectionnez Modifier la tâche.

  5. Sous Détails du job, développez les propriétés avancées et cochez la case à côté de Utiliser AWS Glue Data Catalog comme métastore Hive pour ajouter les métadonnées de la table dans le. AWS Glue Data Catalog Cela permet de AWS Glue Data Catalog définir le métastore pour les ressources du catalogue de données utilisées dans le cadre de la tâche et permet d'appliquer les autorisations de Lake Formation ultérieurement aux ressources du catalogue.

  6. Choisissez Save (Enregistrer).

  7. Choisissez Exécuter sous Actions.

    Cette tâche crée une table Delta Lake nommée product dans la lfdeltadb base de données. Vérifiez le product tableau dans la console Lake Formation.

Pour enregistrer l'emplacement des données auprès de Lake Formation

Enregistrez ensuite le chemin Amazon S3 comme emplacement racine de votre lac de données.

  1. Ouvrez la console Lake Formation chez https://console.aws.amazon.com/lakeformation/l'utilisateur administrateur du lac de données.

  2. Dans le volet de navigation, sous Enregistrer et ingérer, choisissez Emplacement des données.

  3. Dans le coin supérieur droit de la console, choisissez Enregistrer l'emplacement.

  4. Sur la page Enregistrer l'emplacement, entrez les informations suivantes :

    • Chemin Amazon S3 : choisissez Browse et sélectionnezlf-otf-datalake-123456789012. Cliquez sur la flèche droite (>) à côté de l'emplacement racine d'Amazon S3 pour accéder à cet s3/buckets/lf-otf-datalake-123456789012/transactionaldata/native-delta emplacement.

    • IAMrôle — Choisissez LF-OTF-RegisterRole comme IAM rôle.

    • Choisissez Enregistrer l'emplacement.

Pour accorder des autorisations de data lake sur la table Delta Lake

Au cours de cette étape, nous accorderons des autorisations de lac de données à l'utilisateur Business Analyst.

  1. Sous Autorisations du lac de données, choisissez Grant.

  2. Sur l'écran Accorder les autorisations relatives aux données, sélectionnez IAMUtilisateurs et rôles.

  3. lf-consumer-analystuserdepuis le menu déroulant.

  4. Choisissez Ressource de catalogue de données nommée.

  5. Pour les bases de données, choisissezlfdeltadb.

  6. Pour Tables, sélectionnezproduct.

  7. Vous pouvez ensuite accorder un accès basé sur les colonnes en spécifiant des colonnes.

    1. Sous Autorisations relatives aux tables, choisissez Sélectionner.

    2. Sous Autorisations relatives aux données, choisissez Accès basé sur les colonnes, choisissez Inclure les colonnes.

    3. Choisissez product_nameprice, et category colonnes.

    4. Choisissez Grant (Accorder).

Pour interroger la table Delta Lake à l'aide d'Athena

Commencez maintenant à interroger la table Delta Lake que vous avez créée avec Athena. Si c'est la première fois que vous exécutez des requêtes dans Athena, vous devez configurer l'emplacement des résultats des requêtes. Pour plus d'informations, consultez la section Spécification de l'emplacement des résultats d'une requête.

  1. Déconnectez-vous en tant qu'administrateur du lac de données et connectez-vous BusinessAnalystUser en tant qu'utilisateur dans la région USA Est (Virginie du Nord) en utilisant le mot de passe indiqué précédemment dans le AWS CloudFormation résultat.

  2. Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/.

  3. Choisissez Paramètres, puis sélectionnez Gérer.

  4. Dans le champ Emplacement du résultat de la requête, entrez le chemin d'accès au compartiment que vous avez créé dans AWS CloudFormation les sorties. Copiez la valeur de AthenaQueryResultLocation (s3 ://lf-otf-tutorial-123456789012/athena-results/) et enregistrez.

  5. Exécutez la requête suivante pour prévisualiser 10 enregistrements stockés dans la table Delta Lake :

    select * from lfdeltadb.product limit 10;

    Pour plus d'informations sur l'interrogation des tables Delta Lake, consultez la section Interrogation des tables Delta Lake du guide de l'utilisateur Amazon Athena.

Étape 5 : Nettoyer les AWS ressources

Pour nettoyer des ressources

Pour éviter que des frais supplémentaires ne vous soient facturés Compte AWS, supprimez les AWS ressources que vous avez utilisées pour ce didacticiel.

  1. Connectez-vous à la AWS CloudFormation console sur https://console.aws.amazon.com/cloudformation en tant qu'administrateur. IAM

  2. Supprimez la pile de formation des nuages. Les tables que vous avez créées sont automatiquement supprimées avec la pile.