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 requise lorsque le crawler et l'emplacement Amazon S3 enregistré se trouvent dans des comptes différents (indexation de site web entre comptes)
Pour permettre au crawler d'accéder à un magasin de données sur un autre compte à l'aide des informations d'identification Lake Formation, vous devez d'abord enregistrer l'emplacement des données Amazon S3 auprès de Lake Formation. Ensuite, vous accordez des autorisations de localisation des données au compte du crawler en procédant comme suit.
Vous pouvez effectuer les étapes suivantes à l'aide du AWS Management Console ou AWS CLI.
- AWS Management Console
-
Dans le compte sur lequel l'emplacement Amazon S3 est enregistré (compte B) :
-
Dans le compte sur lequel le crawler est créé et sera exécuté (compte A) :
-
À l'aide de la AWS RAM console, acceptez la base de données partagée depuis le compte externe (compte B). Pour plus d'informations, consultez la section Acceptation d'une invitation de partage de ressources provenant de AWS Resource Access Manager.
-
Créez un rôle IAM pour le crawler. Ajoutez une stratégie lakeformation:GetDataAccess
au rôle.
-
Dans la console Lake Formation (https://console.aws.amazon.com/lakeformation/), accordez des autorisations Data location (Emplacement des données) sur l'emplacement Amazon S3 cible au rôle IAM utilisé pour l'exécution du crawler afin que le crawler 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.
-
Créez un lien de ressource sur la base de données partagée. Pour plus d'informations, consultez la rubrique Création d'un lien de ressources.
-
Accordez les autorisations d'accès au rôle de crawler (Create
) sur la base de données partagée et (Describe
) le lien de ressource. Le lien de ressource est spécifié dans la sortie du crawler.
-
Dans la AWS Glue console (https://console.aws.amazon.com/glue/), lors de la configuration du robot d'exploration, sélectionnez l'option Utiliser les informations d'identification de Lake Formation pour analyser la source de données Amazon S3.
Pour l'exploration entre comptes, spécifiez l' Compte AWS ID auquel l'emplacement Amazon S3 cible est enregistré auprès de Lake Formation. 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://crawl-testbucket"
}
]
},
"SchemaChangePolicy": {
"UpdateBehavior": "LOG",
"DeleteBehavior": "LOG"
},
"RecrawlPolicy": {
"RecrawlBehavior": "CRAWL_EVERYTHING"
},
"LineageConfiguration": {
"CrawlerLineageSettings": "DISABLE"
},
"LakeFormationConfiguration": {
"UseLakeFormationCredentials": true,
"AccountId": "111111111111"
},
"Configuration": {
"Version": 1.0,
"CrawlerOutput": {
"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" },
"Tables": {"AddOrUpdateBehavior": "MergeNewColumns" }
},
"Grouping": { "TableGroupingPolicy": "CombineCompatibleSchemas" }
},
"CrawlerSecurityConfiguration": "",
"Tags": {
"KeyName": ""
}
}'
Un crawler utilisant les informations d'identification Lake Formation n'est pris en charge que pour les cibles Amazon S3 et du catalogue de données.
Pour les cibles utilisant le distributeur d'informations d'identification Lake Formation, les emplacements Amazon S3 sous-jacents doivent appartenir au même compartiment. Par exemple, les clients peuvent utiliser plusieurs cibles (s3://bucket1/folder1, s3://bucket1/folder2) à condition que tous les emplacements cibles se trouvent dans le même compartiment (bucket1). La spécification de différents compartiments (s3://bucket1/folder1, s3://bucket2/folder2) n'est pas autorisée.
Actuellement, pour les crawlers de cible du catalogue de données, une seule cible de catalogue avec une seule table de catalogue est autorisée.