Configuration d’un robot pour utiliser les informations d’identification de Lake Formation - AWS Glue

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 d’un robot pour utiliser les informations d’identification de Lake Formation

Vous pouvez configurer un crawler pour qu’il utilise les informations d’identification AWS Lake Formation en vue d’accéder à un magasin de données Amazon S3 ou à une table du catalogue de données avec un emplacement Amazon S3 sous-jacent au sein du même Compte AWS ou d’un autre Compte AWS. Vous pouvez configurer une table du catalogue de données existante en tant que cible d’un crawler, si le crawler et la table du catalogue de données se trouvent dans le même compte. Actuellement, une seule cible de catalogue avec une seule table de catalogue est autorisée lors de l’utilisation d’une table du catalogue de données comme cible d’un robot.

Note

Lorsque vous définissez une table du catalogue de données en tant que cible du crawler, assurez-vous que l’emplacement sous-jacent de la table du catalogue de données est un emplacement Amazon S3. Les crawlers qui utilisent les informations d’identification Lake Formation ne prennent en charge que les cibles du catalogue de données avec des emplacements Amazon S3 sous-jacents

Configuration requise lorsque le crawler et l’emplacement Amazon S3 enregistré ou la table du catalogue de données se trouvent dans le même compte (indexation de site web intégrée au compte)

Pour permettre au crawler d’accéder à un magasin de données ou à une table du catalogue de données à l’aide des informations d’identification de Lake Formation, vous devez enregistrer l’emplacement des données auprès de Lake Formation. En outre, le rôle IAM du crawler doit être autorisé à lire les données depuis la destination où le compartiment Amazon S3 est enregistré.

Vous pouvez effectuer les étapes de configuration suivantes à l’aide de la AWS Management Console ou de l’AWS Command Line Interface (AWS CLI).

AWS Management Console
  1. Avant de configurer un crawler pour accéder à sa source, enregistrez l’emplacement des données du magasin de données ou du catalogue de données auprès de Lake Formation. Dans la console Lake Formation (https://console.aws.amazon.com/lakeformation/), enregistrez un emplacement Amazon S3 comme emplacement racine de votre lac de données dans le Compte AWS où le crawler est défini. Pour plus d’informations, consultez la rubrique Enregistrement d’un emplacement Amazon S3.

  2. Accordez des autorisations Emplacement des données au rôle IAM utilisé pour l’exécution du crawler afin que celui-ci puisse lire les données depuis la destination dans Lake Formation. Pour plus d’informations, consultez la rubrique Octroi d’autorisations d’emplacement de données (même compte).

  3. Accordez les autorisations d’accès au rôle de crawler (Create) à la base de données, qui est spécifiée comme base de données de sortie. Pour plus d’informations, consultez la rubrique Octroi d’autorisations de base de données via la console Lake Formation et la méthode de ressource nommée.

  4. Dans la console IAM (https://console.aws.amazon.com/iam/), créez un rôle IAM pour le crawler. Ajoutez la stratégie lakeformation:GetDataAccess au rôle.

  5. Dans la console AWS Glue (https://console.aws.amazon.com/glue/), lors de la configuration du crawler, sélectionnez l’option Use Lake Formation credentials for crawling Amazon S3 data source (Utiliser les informations d’identification Lake Formation pour explorer la source de données Amazon S3).

    Note

    Le champ accountId est facultatif pour l’indexation de site web intégrée au compte.

AWS CLI
aws glue --profile demo create-crawler --debug --cli-input-json '{ "Name": "prod-test-crawler", "Role": "arn:aws:iam::111122223333:role/service-role/AWSGlueServiceRole-prod-test-run-role", "DatabaseName": "prod-run-db", "Description": "", "Targets": { "S3Targets":[ { "Path": "s3://amzn-s3-demo-bucket" } ] }, "SchemaChangePolicy": { "UpdateBehavior": "LOG", "DeleteBehavior": "LOG" }, "RecrawlPolicy": { "RecrawlBehavior": "CRAWL_EVERYTHING" }, "LineageConfiguration": { "CrawlerLineageSettings": "DISABLE" }, "LakeFormationConfiguration": { "UseLakeFormationCredentials": true, "AccountId": "111122223333" }, "Configuration": { "Version": 1.0, "CrawlerOutput": { "Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }, "Tables": {"AddOrUpdateBehavior": "MergeNewColumns" } }, "Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" } }, "CrawlerSecurityConfiguration": "", "Tags": { "KeyName": "" } }'