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
Enregistrez un chemin Amazon Simple Storage Service (Amazon S3) en tant que lac de données.
Accordez à Lake Formation l'autorisation d'écrire dans le catalogue de données et dans les emplacements Amazon S3 du lac de données.
Créez une base de données pour organiser les tables de métadonnées dans le catalogue de données.
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.
-
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.
Configurez Amazon Athena pour interroger les données que vous avez importées dans votre lac de données Amazon S3.
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.
Rubriques
- Public visé
- Prérequis
- Étape 1 : créer un utilisateur d'analyste de données
- Étape 2 : ajouter des autorisations pour lire les AWS CloudTrail journaux au rôle de flux de travail
- Étape 3 : créer un compartiment Amazon S3 pour le lac de données
- Étape 4 : enregistrer un chemin Amazon S3
- Étape 5 : accorder des autorisations de localisation des données
- Étape 6 : Création d'une base de données dans le catalogue de données
- Étape 7 : Accorder des autorisations de données
- Étape 8 : Utiliser un plan pour créer un flux de travail
- Étape 9 : Exécuter le flux de travail
- Étape 10 : Subvention SELECT sur les tables
- Étape 11 : Interrogez le lac de données à l'aide de Amazon Athena
Public visé
Le tableau suivant répertorie les rôles utilisés dans ce didacticiel pour créer un lac de données.
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.
-
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. -
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
-
Associez la politique intégrée suivante au rôle
LakeFormationWorkflowRole
. La politique autorise la lecture de vos AWS CloudTrail journaux. Nommez la stratégieDatalakeGetCloudTrail
.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>
/*"] } ] } -
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.
-
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. -
Choisissez Create bucket, puis passez par l'assistant pour créer un bucket nommé
, où<yourName>
-datalake-cloudtrail<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.
-
Ouvrez la console Lake Formation à l'adresse https://console.aws.amazon.com/lakeformation/
. Connectez-vous en tant qu'administrateur du lac de données. -
Dans le volet de navigation, sous Enregistrer et ingérer, sélectionnez Data lake locations.
-
Choisissez Enregistrer l'emplacement, puis Parcourir.
-
Sélectionnez le
bucket que vous avez créé précédemment, acceptez le IAM rôle par défaut<yourName>
-datalake-cloudtrailAWSServiceRoleForLakeFormationDataAccess
, 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.
-
Dans le volet de navigation, sous Autorisations, sélectionnez Emplacements des données.
-
Choisissez Grant, puis dans la boîte de dialogue Accorder les autorisations, effectuez les sélections suivantes :
-
Pour IAMl'utilisateur et les rôles, sélectionnez
LakeFormationWorkflowRole
. -
Pour les emplacements de stockage, choisissez votre
compartiment.<yourName>
-datalake-cloudtrail
-
-
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.
-
Dans le volet de navigation, sous Catalogue de données, sélectionnez Bases de données.
-
Choisissez Créer une base de données, puis entrez le nom sous Détails de la base de données
lakeformation_cloudtrail
. -
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.
-
Dans la console Lake Formation, dans le volet de navigation, sous Catalogue de données, sélectionnez Databases.
-
Choisissez la
lakeformation_cloudtrail
base de données, puis, dans la liste déroulante Actions, choisissez Grant sous le titre Permissions. -
Dans la boîte de dialogue Accorder les autorisations relatives aux données, effectuez les sélections suivantes :
-
Sous Principaux, pour IAMl'utilisateur et les rôles, sélectionnez
LakeFormationWorkflowRole
. -
Sous Balises LF ou ressources de catalogue, sélectionnez Ressources de catalogue de données nommées.
-
Pour les bases de données, vous devriez voir que la
lakeformation_cloudtrail
base de données est déjà ajoutée. -
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.
-
-
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.
-
Dans la console Lake Formation, dans le volet de navigation, choisissez Blueprints, puis Use Blueprint.
-
Sur la page Utiliser un plan, sous Type de plan, sélectionnez. AWS CloudTrail
-
Sous Importer la source, choisissez une CloudTrail source et une date de début.
-
Sous Cible d'importation, spécifiez les paramètres suivants :
Base de données cible lakeformation_cloudtrail
Emplacement de stockage cible s3://
<yourName>
-datalake-cloudtrailFormat de données Parquet -
Pour la fréquence d'importation, choisissez Exécuter à la demande.
-
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.
-
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 travail
lakeformationcloudtrailtest
, 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 :
-
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.
-
Assurez-vous que le flux de travail est sélectionné, puis sélectionnez l'onglet History (Historique).
-
Sous Historique, sélectionnez l'exécution la plus récente et choisissez Afficher les détails de la course.
-
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'SELECT
autorisation 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'SELECT
autorisation 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.
-
Dans la console Lake Formation, dans le volet de navigation, sous Catalogue de données, sélectionnez Databases.
-
Choisissez la
lakeformation_cloudtrail
base de données, puis, dans la liste déroulante Actions, choisissez Grant sous le titre Permissions. -
Dans la boîte de dialogue Accorder les autorisations relatives aux données, effectuez les sélections suivantes :
-
Sous Principaux, pour IAMl'utilisateur et les rôles, sélectionnez
datalake_user
. -
Sous Balises LF ou ressources de catalogue, sélectionnez Ressources de catalogue de données nommées.
-
Pour les bases de données, la
lakeformation_cloudtrail
base de données doit déjà être sélectionnée. -
Pour Tables, sélectionnez
cloudtrailtest-cloudtrail
. -
Sous Autorisations relatives aux tables et aux colonnes, choisissez Sélectionner.
-
-
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.
-
Ouvrez la console Athena à https://console.aws.amazon.com/athena/
et connectez-vous en tant qu'analyste de données, utilisateur. datalake_user
-
Si nécessaire, choisissez Get Started pour passer à l'éditeur de requêtes Athena.
-
Pour Data source (Source de données), choisissez AwsDataCatalog.
-
Pour Database (Base de données), sélectionnez
lakeformation_cloudtrail
.La liste des tables s'affiche.
-
Dans le menu déroulant (3 points disposés horizontalement) à côté du tableau
cloudtrailtest-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.