Création d'un lac de données à partir d'une AWS CloudTrail source - 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.

Création d'un lac de données à partir d'une AWS CloudTrail source

Ce didacticiel vous explique les actions à effectuer sur la console Lake Formation pour créer et charger votre premier lac de données à partir d'une AWS CloudTrail source.

Étapes de haut niveau pour créer un lac de données
  1. Enregistrez un chemin Amazon Simple Storage Service (Amazon S3) en tant que lac de données.

  2. Accordez à Lake Formation l'autorisation d'écrire dans le catalogue de données et dans les emplacements Amazon S3 du lac de données.

  3. Créez une base de données pour organiser les tables de métadonnées dans le catalogue de données.

  4. Utilisez un plan pour créer un flux de travail. Exécutez le flux de travail pour ingérer les données d'une source de données.

  5. Configurez vos autorisations Lake Formation pour permettre à d'autres personnes de gérer les données du catalogue de données et du lac de données.

  6. Configurez Amazon Athena pour interroger les données que vous avez importées dans votre lac de données Amazon S3.

  7. Pour certains types de banques de données, configurez Amazon Redshift Spectrum pour interroger les données que vous avez importées dans votre lac de données Amazon S3.

Public visé

Le tableau suivant répertorie les rôles utilisés dans ce didacticiel pour créer un lac de données.

Public visé
Rôle Description
IAMAdministrateur Possède la politique AWS gérée :AdministratorAccess. Peut créer IAM des rôles et des compartiments Amazon S3.
Administrateur du lac de données Utilisateur autorisé à 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 des données Utilisateur capable d'exécuter des requêtes sur le lac de données. Dispose uniquement des autorisations suffisantes pour exécuter des requêtes.
Rôle du flux de travail Rôle doté des IAM politiques requises pour exécuter un flux de travail. Pour de plus amples informations, veuillez consulter (Facultatif) Créez un IAM rôle pour les flux de travail.

Prérequis

Avant de commencer :

  • Assurez-vous d'avoir terminé les tâches dansConfigurez AWS Lake Formation.

  • Connaissez l'emplacement de vos CloudTrail journaux.

  • Athena a besoin du personnage d'analyste de données pour créer un compartiment Amazon S3 pour stocker les résultats des requêtes avant d'utiliser Athena.

La connaissance de AWS Identity and Access Management (IAM) est supposée. Pour plus d'informationsIAM, consultez le guide de IAM l'utilisateur.

Étape 1 : créer un utilisateur d'analyste de données

Cet utilisateur dispose du minimum d'autorisations pour interroger le lac de données.

  1. Ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam. Connectez-vous en tant qu'utilisateur administrateur que vous avez créé Création d'un utilisateur doté d'un accès administratif ou en tant qu'utilisateur avec la politique AdministratorAccess AWS gérée.

  2. Créez un utilisateur nommé datalake_user avec les paramètres suivants :

    • Activez AWS Management Console l'accès.

    • Définissez un mot de passe et n'exigez pas de réinitialisation du mot de passe.

    • Joignez la politique AmazonAthenaFullAccess AWS gérée.

    • Joignez la politique intégrée suivante. Nommez la stratégie DatalakeUserBasic.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lakeformation:GetDataAccess", "glue:GetTable", "glue:GetTables", "glue:SearchTables", "glue:GetDatabase", "glue:GetDatabases", "glue:GetPartitions", "lakeformation:GetResourceLFTags", "lakeformation:ListLFTags", "lakeformation:GetLFTag", "lakeformation:SearchTablesByLFTags", "lakeformation:SearchDatabasesByLFTags" ], "Resource": "*" } ] }

Étape 2 : ajouter des autorisations pour lire les AWS CloudTrail journaux au rôle de flux de travail

  1. Associez la politique intégrée suivante au rôleLakeFormationWorkflowRole. La politique autorise la lecture de vos AWS CloudTrail journaux. Nommez la stratégie DatalakeGetCloudTrail.

    Pour créer le rôle LakeFormationWorkflowRole, consultez (Facultatif) Créez un IAM rôle pour les flux de travail.

    Important

    Remplacez <your-s3-cloudtrail-bucket> avec l'emplacement de vos CloudTrail données sur Amazon S3.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": ["arn:aws:s3:::<your-s3-cloudtrail-bucket>/*"] } ] }
  2. Vérifiez que trois politiques sont associées au rôle.

Étape 3 : créer un compartiment Amazon S3 pour le lac de données

Créez le compartiment Amazon S3 qui doit être l'emplacement racine de votre lac de données.

  1. Ouvrez la console Amazon S3 à https://console.aws.amazon.com/s3/et connectez-vous en tant qu'utilisateur administrateur dans lequel vous l'avez crééeCréation d'un utilisateur doté d'un accès administratif.

  2. Choisissez Create bucket, puis passez par l'assistant pour créer un bucket nommé<yourName>-datalake-cloudtrail, où <yourName> est votre prénom et votre nom de famille. olpPar exemple : jdoe-datalake-cloudtrail.

    Pour obtenir des instructions détaillées sur la création d'un compartiment Amazon S3, consultez Création d'un compartiment.

Étape 4 : enregistrer un chemin Amazon S3

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

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

  2. Dans le volet de navigation, sous Enregistrer et ingérer, sélectionnez Data lake locations.

  3. Choisissez Enregistrer l'emplacement, puis Parcourir.

  4. Sélectionnez le <yourName>-datalake-cloudtrail bucket que vous avez créé précédemment, acceptez le IAM rôle par défautAWSServiceRoleForLakeFormationDataAccess, puis choisissez Enregistrer l'emplacement.

    Pour plus d'informations sur l'enregistrement des points de vente, consultezAjouter un emplacement Amazon S3 à votre lac de données.

Étape 5 : accorder des autorisations de localisation des données

Les principaux doivent disposer d'autorisations de localisation des données sur l'emplacement d'un lac de données pour créer des tables de catalogue de données ou des bases de données pointant vers cet emplacement. Vous devez accorder des autorisations de localisation des données au IAM rôle pour les flux de travail afin que le flux de travail puisse écrire sur la destination d'ingestion des données.

  1. Dans le volet de navigation, sous Autorisations, sélectionnez Emplacements des données.

  2. Choisissez Grant, puis dans la boîte de dialogue Accorder les autorisations, effectuez les sélections suivantes :

    1. Pour IAMl'utilisateur et les rôles, sélectionnezLakeFormationWorkflowRole.

    2. Pour les emplacements de stockage, choisissez votre <yourName>-datalake-cloudtrail compartiment.

  3. Choisissez Grant (Accorder).

Pour plus d'informations sur les autorisations de localisation des données, consultezUnderlying data access control.

Étape 6 : Création d'une base de données dans le catalogue de données

Les tables de métadonnées du Lake Formation Data Catalog sont stockées dans une base de données.

  1. Dans le volet de navigation, sous Catalogue de données, sélectionnez Bases de données.

  2. Choisissez Créer une base de données, puis entrez le nom sous Détails de la base de donnéeslakeformation_cloudtrail.

  3. Laissez les autres champs vides, puis choisissez Créer une base de données.

Étape 7 : Accorder des autorisations de données

Vous devez accorder des autorisations pour créer des tables de métadonnées dans le catalogue de données. Étant donné que le flux de travail sera exécuté avec le rôleLakeFormationWorkflowRole, vous devez accorder ces autorisations au rôle.

  1. Dans la console Lake Formation, dans le volet de navigation, sous Catalogue de données, sélectionnez Databases.

  2. Choisissez la lakeformation_cloudtrail base de données, puis, dans la liste déroulante Actions, choisissez Grant sous le titre Permissions.

  3. Dans la boîte de dialogue Accorder les autorisations relatives aux données, effectuez les sélections suivantes :

    1. Sous Principaux, pour IAMl'utilisateur et les rôles, sélectionnezLakeFormationWorkflowRole.

    2. Sous Balises LF ou ressources de catalogue, sélectionnez Ressources de catalogue de données nommées.

    3. Pour les bases de données, vous devriez voir que la lakeformation_cloudtrail base de données est déjà ajoutée.

    4. Sous Autorisations de base de données, sélectionnez Créer une table, Modifier et Supprimer, puis désélectionnez Super si cette option est sélectionnée.

    Votre boîte de dialogue d'autorisation des données d'octroi devrait maintenant ressembler à cette capture d'écran.

    La boîte de dialogue Accorder les autorisations relatives aux données présente les sélections décrites dans le texte. La boîte de dialogue est divisée en 3 sections, disposées verticalement : Principaux, balises LF ou ressources du catalogue, et autorisations de base de données.
  4. Choisissez Grant (Accorder).

Pour plus d'informations sur l'octroi des autorisations de Lake Formation, consultezGestion des autorisations relatives à Lake Formation.

Étape 8 : Utiliser un plan pour créer un flux de travail

Afin de lire les CloudTrail journaux, de comprendre leur structure, de créer les tables appropriées dans le catalogue de données, nous devons configurer un flux de travail composé d'un AWS Glue robots d'exploration, tâches, déclencheurs et flux de travail. Les plans de Lake Formation simplifient ce processus.

Le flux de travail génère les tâches, les robots d'exploration et les déclencheurs qui découvrent et ingèrent les données dans votre lac de données. Vous créez un flux de travail basé sur l'un des plans prédéfinis de Lake Formation.

  1. Dans la console Lake Formation, dans le volet de navigation, choisissez Blueprints, puis Use Blueprint.

  2. Sur la page Utiliser un plan, sous Type de plan, sélectionnez. AWS CloudTrail

  3. Sous Importer la source, choisissez une CloudTrail source et une date de début.

  4. Sous Cible d'importation, spécifiez les paramètres suivants :

    Base de données cible lakeformation_cloudtrail
    Emplacement de stockage cible s3://<yourName>-datalake-cloudtrail
    Format de données Parquet
  5. Pour la fréquence d'importation, choisissez Exécuter à la demande.

  6. Sous Options d'importation, spécifiez les paramètres suivants :

    Nom du flux de travail lakeformationcloudtrailtest
    IAMrôle LakeFormationWorkflowRole
    Préfixe de table cloudtrailtest
    Note

    Doit être en minuscules.

  7. Choisissez Créer et attendez que la console indique que le flux de travail a été créé avec succès.

    Astuce

    Avez-vous reçu le message d'erreur suivant ?

    User: arn:aws:iam::<account-id>:user/<datalake_administrator_user> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/LakeFormationWorkflowRole...

    Si c'est le cas, vérifiez que vous avez remplacé <account-id> dans la politique en ligne pour l'utilisateur administrateur du lac de données disposant d'un numéro de AWS compte valide.

Étape 9 : Exécuter le flux de travail

Comme vous avez indiqué que le flux de travail est le cas run-on-demand, vous devez le démarrer manuellement.

  • Sur la page Blueprints, sélectionnez le flux de travaillakeformationcloudtrailtest, puis dans le menu Actions, sélectionnez Démarrer.

    Au fur et à mesure que le flux de travail s'exécute, vous pouvez voir sa progression dans la colonne État de la dernière exécution. Cliquez sur le bouton d'actualisation de temps en temps.

    Le statut passe de RUNNING, à Découvrir, à Importer, à COMPLETED.

    Lorsque le flux de travail est terminé :

    • Le catalogue de données comportera de nouvelles tables de métadonnées.

    • Vos CloudTrail journaux seront ingérés dans le lac de données.

    Si le flux de travail échoue, procédez comme suit :

    1. Sélectionnez le flux de travail, puis dans le menu Actions, choisissez Afficher le graphique.

      Le flux de travail s'ouvre dans le AWS Glue console.

    2. Assurez-vous que le flux de travail est sélectionné, puis sélectionnez l'onglet History (Historique).

    3. Sous Historique, sélectionnez l'exécution la plus récente et choisissez Afficher les détails de la course.

    4. Sélectionnez une tâche ou un robot d'exploration ayant échoué dans le graphique dynamique (d'exécution) et consultez le message d'erreur. Les nœuds défaillants sont rouges ou jaunes.

Étape 10 : Subvention SELECT sur les tables

Vous devez accorder l'SELECTautorisation sur les nouvelles tables du catalogue de données afin que l'analyste de données puisse interroger les données vers lesquelles pointent les tables.

Note

Un flux de travail accorde automatiquement l'SELECTautorisation sur les tables qu'il crée à l'utilisateur qui l'a exécuté. Étant donné que l'administrateur du lac de données a exécuté ce flux de travail, vous devez accorder une autorisation SELECT à l'analyste de données.

  1. Dans la console Lake Formation, dans le volet de navigation, sous Catalogue de données, sélectionnez Databases.

  2. Choisissez la lakeformation_cloudtrail base de données, puis, dans la liste déroulante Actions, choisissez Grant sous le titre Permissions.

  3. Dans la boîte de dialogue Accorder les autorisations relatives aux données, effectuez les sélections suivantes :

    1. Sous Principaux, pour IAMl'utilisateur et les rôles, sélectionnezdatalake_user.

    2. Sous Balises LF ou ressources de catalogue, sélectionnez Ressources de catalogue de données nommées.

    3. Pour les bases de données, la lakeformation_cloudtrail base de données doit déjà être sélectionnée.

    4. Pour Tables, sélectionnezcloudtrailtest-cloudtrail.

    5. Sous Autorisations relatives aux tables et aux colonnes, choisissez Sélectionner.

  4. Choisissez Grant (Accorder).

L'étape suivante est exécutée en tant qu'analyste de données.

Étape 11 : Interrogez le lac de données à l'aide de Amazon Athena

Utilisez la Amazon Athena console pour interroger les CloudTrail données de votre lac de données.

  1. Ouvrez la console Athena à https://console.aws.amazon.com/athena/et connectez-vous en tant qu'analyste de données, utilisateur. datalake_user

  2. Si nécessaire, choisissez Get Started pour passer à l'éditeur de requêtes Athena.

  3. Pour Data source (Source de données), choisissez AwsDataCatalog.

  4. Pour Database (Base de données), sélectionnez lakeformation_cloudtrail.

    La liste des tables s'affiche.

  5. Dans le menu déroulant (3 points disposés horizontalement) à côté du tableaucloudtrailtest-cloudtrail, choisissez Aperçu du tableau, puis Exécuter.

    La requête s'exécute et affiche 10 lignes de données.

    Si vous n'avez jamais utilisé Athena auparavant, vous devez d'abord configurer un emplacement Amazon S3 dans la console Athena pour stocker les résultats de la requête. Ils datalake_user doivent disposer des autorisations nécessaires pour accéder au compartiment Amazon S3 de votre choix.

Note

Maintenant que vous avez terminé le didacticiel, accordez des autorisations de données et des autorisations de localisation des données aux principaux responsables de votre organisation.