Résolution des problèmes liés à la formation du Lake - 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.

Résolution des problèmes liés à la formation du Lake

Si vous rencontrez des problèmes lorsque vous travaillez avec AWS Lake Formation, consultez les rubriques de cette section.

Résolution de problème généraux

Utilisez les informations fournies ici pour vous aider à diagnostiquer et à résoudre divers problèmes liés à la Lake Formation.

Erreur : Autorisations insuffisantes pour Lake Formation sur <Amazon S3 location>

Une tentative a été faite pour créer ou modifier une ressource de catalogue de données sans autorisation de localisation des données sur l'emplacement Amazon S3 indiqué par la ressource.

Si une base de données ou une table de catalogue de données pointe vers un emplacement Amazon S3, lorsque vous accordez les autorisations CREATE_TABLE à Lake FormationALTER, vous devez également accorder l'DATA_LOCATION_ACCESSautorisation sur cet emplacement. Si vous accordez ces autorisations à des comptes externes ou à des organisations, vous devez inclure l'option d'octroi.

Une fois ces autorisations accordées à un compte externe, l'administrateur du lac de données de ce compte doit les accorder aux principaux (utilisateurs ou rôles) du compte. Lorsque vous DATA_LOCATION_ACCESS accordez l'autorisation reçue d'un autre compte, vous devez spécifier l'ID de catalogue (ID de AWS compte) du compte propriétaire. Le compte propriétaire est le compte qui a enregistré l'emplacement.

Pour plus d’informations, consultez Contrôle d'accès aux données sous-jacent et Octroi d'autorisations de localisation des données.

Erreur : « Autorisations de clé de chiffrement insuffisantes pour Glue API »

Une tentative a été faite pour accorder des autorisations à Lake Formation sans AWS Identity and Access Management (IAM) autoriser la clé de AWS KMS chiffrement d'un catalogue de données chiffré.

Ma requête Amazon Athena ou celle d'Amazon Redshift qui utilise des manifestes échoue

Lake Formation ne prend pas en charge les requêtes utilisant des manifestes.

Erreur : « Autorisations de formation lacustres insuffisantes : création d'une balise requise dans le catalogue »

L'utilisateur/le rôle doit être un administrateur de data lake.

Erreur lors de la suppression d'administrateurs de lacs de données non valides

Vous devez supprimer tous les administrateurs de lacs de données non valides (IAMrôles supprimés définis comme administrateurs de lacs de données) simultanément. Si vous essayez de supprimer séparément les administrateurs de data lake non valides, Lake Formation génère une erreur principale non valide.

Résolution des problèmes d'accès entre comptes

Utilisez les informations fournies ici pour vous aider à diagnostiquer et à résoudre les problèmes d'accès entre comptes.

J'ai accordé l'autorisation d'utiliser plusieurs comptes Lake Formation, mais le destinataire ne peut pas voir la ressource

  • L'utilisateur du compte destinataire est-il un administrateur de data lake ? Seuls les administrateurs de data lake peuvent voir la ressource au moment du partage.

  • Partagez-vous avec un compte externe à votre organisation en utilisant la méthode des ressources nommées ? Dans ce cas, l'administrateur du lac de données du compte destinataire doit accepter une invitation à partager des ressources dans AWS Resource Access Manager (AWS RAM).

    Pour de plus amples informations, veuillez consulter Acceptation d'une invitation de partage de ressources de AWS RAM.

  • Utilisez-vous des politiques de ressources au niveau du compte (catalogue de données) dans AWS Glue? Dans l'affirmative, si vous utilisez la méthode des ressources nommées, vous devez inclure une déclaration spéciale dans la politique qui autorise le partage AWS RAM des politiques en votre nom.

    Pour de plus amples informations, veuillez consulter Gérer les autorisations entre comptes en utilisant les deux AWS Glue et Lake Formation.

  • Disposez-vous des autorisations AWS Identity and Access Management (IAM) requises pour accorder un accès entre comptes ?

    Pour de plus amples informations, veuillez consulter Prérequis.

  • La ressource pour laquelle vous avez accordé des autorisations ne doit pas avoir d'autorisation Lake Formation accordée au IAMAllowedPrincipals groupe.

  • Y a-t-il une deny déclaration sur la ressource dans la politique au niveau du compte ?

Les utilisateurs principaux du compte destinataire peuvent voir la ressource du catalogue de données, mais ne peuvent pas accéder aux données sous-jacentes

Les principaux associés au compte du destinataire doivent disposer des autorisations requises AWS Identity and Access Management (IAM). Pour plus de détails, consultez Accès aux données sous-jacentes d'une table partagée.

Erreur : « L'association a échoué car l'appelant n'était pas autorisé » lors de l'acceptation d'une invitation de partage de AWS RAM ressources

Après avoir accordé l'accès à une ressource à un autre compte, lorsque le compte destinataire tente d'accepter l'invitation de partage de ressources, l'action échoue.

$ aws ram get-resource-share-associations --association-type PRINCIPAL --resource-share-arns arn:aws:ram:aws-region:444444444444:resource-share/e1d1f4ba-xxxx-xxxx-xxxx-xxxxxxxx5d8d { "resourceShareAssociations": [ { "resourceShareArn": "arn:aws:ram:aws-region:444444444444:resource-share/e1d1f4ba-xxxx-xxxx-xxxx-xxxxxxxx5d8d ", "resourceShareName": "LakeFormation-MMCC0XQBH3Y", "associatedEntity": "5815803XXXXX", "associationType": "PRINCIPAL", "status": "FAILED", "statusMessage": "Association failed because the caller was not authorized.", "creationTime": "2021-07-12T02:20:10.267000+00:00", "lastUpdatedTime": "2021-07-12T02:20:51.830000+00:00", "external": true } ] }

L'erreur se produit car le glue:PutResourcePolicy est invoqué par AWS Glue lorsque le compte destinataire accepte l'invitation de partage des ressources. Pour résoudre le problème, autorisez l'glue:PutResourcePolicyaction par le rôle assumé utilisé par le compte producteur/concédant.

Erreur : « Non autorisé à accorder des autorisations pour la ressource »

Une tentative a été faite pour accorder des autorisations entre comptes sur une base de données ou une table appartenant à un autre compte. Lorsqu'une base de données ou une table est partagée avec votre compte, en tant qu'administrateur de data lake, vous ne pouvez accorder des autorisations à ce sujet qu'aux utilisateurs de votre compte.

Erreur : « Accès refusé pour récupérer les informations de AWS l'organisation »

Votre compte est un compte de gestion des AWS Organisations et vous ne disposez pas des autorisations requises pour récupérer les informations relatives à l'organisation, telles que les unités organisationnelles du compte.

Pour de plus amples informations, veuillez consulter Required permissions for cross-account grants.

Erreur : « Organisation <organization-ID>introuvable »

Une tentative a été faite pour partager une ressource avec une organisation, mais le partage avec les organisations n'est pas activé. Activez le partage des ressources avec les organisations.

Pour plus d'informations, consultez la section Activer le partage avec AWS les organisations dans le guide de AWS RAM l'utilisateur.

Erreur : « Permissions de formation lacustres insuffisantes : combinaison illégale »

Un utilisateur a partagé une ressource de catalogue de données alors que les autorisations de Lake Formation étaient accordées au IAMAllowedPrincipals groupe pour cette ressource. L'utilisateur doit révoquer toutes les autorisations de Lake Formation IAMAllowedPrincipals avant de partager la ressource.

ConcurrentModificationException sur les demandes d'accord/de révocation adressées à des comptes externes

Lorsque les utilisateurs font plusieurs demandes simultanées d'octroi et/ou de révocation d'autorisations pour un principal sur les politiques LF-Tag, Lake Formation les lance. ConcurrentModificationException Les utilisateurs doivent détecter l'exception et réessayer la demande d'accord/de révocation qui a échoué. L'utilisation de versions par lots des RevokePermissions API opérationsGrantPermissions/BatchRevokePermissionspermet de résoudre ce problème dans une certaine mesure en réduisant le nombre de demandes d'accord/de révocation simultanées. BatchGrantPermissions

Erreur lors de l'utilisation d'Amazon EMR pour accéder aux données partagées via plusieurs comptes

Lorsque vous utilisez Amazon EMR pour accéder aux données partagées avec vous à partir d'un autre compte, certaines bibliothèques Spark tentent de lancer un Glue:GetUserDefinedFunctions API appel. Les versions 1 et 2 des autorisations AWS RAM gérées ne prenant pas en charge cette action, le message d'erreur suivant s'affiche :

"ERROR: User: arn:aws:sts::012345678901:assumed-role/my-spark-role/i-06ab8c2b59299508a is not authorized to perform: glue:GetUserDefinedFunctions on resource: arn:exampleCatalogResource because no resource-based policy allows the glue:GetUserDefinedFunctions action"

Pour résoudre cette erreur, l'administrateur du lac de données qui a créé le partage de ressources doit mettre à jour les autorisations AWS RAM gérées associées au partage de ressources. La version 3 des autorisations gérées AWS RAM permet aux nœuds principaux d'effectuer l'action glue:GetUserDefinedFunctions.

Si vous créez un nouveau partage de ressources, Lake Formation applique la dernière version de l'autorisation AWS RAM gérée par défaut, et aucune action n'est requise de votre part. Pour activer l'accès aux données entre comptes pour les partages de ressources existants, vous devez mettre à jour les autorisations AWS RAM gérées vers la version 3.

Vous pouvez consulter les AWS RAM autorisations attribuées aux ressources partagées avec vous dans AWS RAM. Les autorisations suivantes sont incluses dans la version 3 :

Databases AWSRAMPermissionGlueDatabaseReadWriteForCatalog AWSRAMPermissionGlueDatabaseReadWrite Tables AWSRAMPermissionGlueTableReadWriteForCatalog AWSRAMPermissionGlueTableReadWriteForDatabase AllTables AWSRAMPermissionGlueAllTablesReadWriteForCatalog AWSRAMPermissionGlueAllTablesReadWriteForDatabase
Pour mettre à jour la version des autorisations AWS RAM gérées des partages de ressources existants

Vous (administrateur du lac de données) pouvez soit mettre à jour les autorisations AWS RAM gérées vers une version plus récente en suivant les instructions du guide de AWS RAM l'utilisateur, soit révoquer toutes les autorisations existantes pour le type de ressource et les réaccorder. Si vous révoquez les autorisations, le partage AWS RAM de AWS RAM ressources associé au type de ressource est supprimé. Lorsque vous réaccordez des autorisations, AWS RAM de nouveaux partages de ressources sont créés en y joignant la dernière version des autorisations AWS RAM gérées.

Résolution des problèmes liés aux plans et aux flux de travail

Utilisez les informations fournies ici pour vous aider à diagnostiquer et à résoudre les problèmes liés au plan et au flux de travail.

Mon plan a échoué avec « L'utilisateur : <user- ARN > n'est pas autorisé à exécuter : iam : PassRole on resource : <role- >» ARN

Un utilisateur qui ne dispose pas des autorisations suffisantes pour transmettre le rôle choisi a tenté de créer un plan.

Mettez à jour la IAM politique de l'utilisateur pour pouvoir transmettre le rôle, ou demandez-lui de choisir un autre rôle avec les autorisations de transfert requises.

Pour de plus amples informations, veuillez consulter Référence des personnes et des IAM autorisations de Lake Formation.

Mon flux de travail a échoué avec « L'utilisateur : <user- ARN > n'est pas autorisé à effectuer : iam : PassRole on resource : <role- >» ARN

Le rôle que vous avez spécifié pour le flux de travail ne comportait pas de politique intégrée permettant au rôle de se transmettre de lui-même.

Pour de plus amples informations, veuillez consulter (Facultatif) Créez un IAM rôle pour les flux de travail.

Un crawler de mon flux de travail a échoué avec le message « La ressource n'existe pas ou le demandeur n'est pas autorisé à accéder aux autorisations demandées »

L'une des causes possibles est que le rôle transmis ne disposait pas des autorisations suffisantes pour créer une table dans la base de données cible. Accordez au rôle l'CREATE_TABLEautorisation d'accéder à la base de données.

Un crawler de mon flux de travail a échoué avec « Une erreur s'est produite (AccessDeniedException) lors de l'appel de l' CreateTable opération... »

L'une des causes possibles est que le rôle de flux de travail ne disposait pas d'autorisations de localisation des données sur l'emplacement de stockage cible. Accordez des autorisations de localisation des données au rôle.

Pour de plus amples informations, veuillez consulter DATA_LOCATION_ACCESS.