Pourquoi est-ce que je reçois l'erreur « Insufficient Lake Formation permissions on <Amazon S3 location> » (Autorisations insuffisantes de Lake Formation sur <Emplacement Amazon S3>) dans Amazon Athena alors que mon utilisateur ou mon rôle IAM dispose des autorisations S3 requises ?

Date de la dernière mise à jour : 22/02/2022

Lorsque j'essaie de créer une base de données/table dans Amazon Athena en utilisant l'emplacement Amazon Simple Storage Service (Amazon S3) qui est enregistré avec AWS Lake Formation, la requête échoue avec l'erreur « Insufficient Lake Formation permission(s) on  » (Autorisations insuffisantes de Lake Formation sur _). Cependant, l'utilisateur ou le rôle AWS Identity and Access Management (IAM) d'Athena dispose des autorisations IAM nécessaires.

Solution

Cette erreur s'affiche lorsque les conditions suivantes sont remplies :

  • L'utilisateur ou le rôle IAM tente de créer ou de modifier une ressource de catalogue de données (base de données ou table) sur un compartiment Amazon S3 qui est enregistré avec Lake Formation.
  • L'utilisateur ou le rôle IAM ne dispose pas des autorisations d'emplacement de données appropriées de Lake Formation.

Pour résoudre cette erreur, vous devez accorder les autorisations d'emplacement de données appropriées à l'utilisateur ou au rôle IAM que vous utilisez pour créer la base de données ou la table. Lorsque vous utilisez Athena avec Lake Formation, veillez à accorder les autorisations S3 requises à l'utilisateur ou au rôle IAM de Lake Formation en plus des autorisations d'accès aux données requises par l'utilisateur ou le rôle IAM. Les autorisations d'accès aux données permettent à l'utilisateur ou au rôle IAM de lire et d'écrire des données sur l'emplacement Amazon S3 sous-jacent. Cependant, les autorisations d'emplacement de données dans Lake Formation permettent à un utilisateur ou à un rôle IAM de créer et de modifier les ressources du catalogue de données qui pointent vers l'emplacement Amazon S3 enregistré.

Pour résoudre cette erreur, procédez comme suit :

  1. Vérifiez que le chemin S3 dans Athena est enregistré avec Lake Formation.
  2. Accordez les autorisations d'emplacement de données requises à l'utilisateur ou au rôle IAM pour accéder au chemin S3.

Vérifiez que l'emplacement du lac de données est enregistré avec Lake Formation

  1. Connectez-vous à la console AWS Lake Formation avec le rôle d'administrateur de lac de données.
  2. Dans le panneau de navigation, sous Register and Ingest (Enregistrer et ingérer), choisissez Data lake Locations (Emplacements du lac de données).
    Dans la liste des emplacements du lac de données, vérifiez que le chemin S3 pointé par les ressources du catalogue de données est enregistré avec Lake Formation.

Accordez des autorisations d'emplacement des données depuis la console AWS Lake Formation

  1. Dans le panneau de navigation, choisissez Data locations (Emplacements de données).
  2. Sélectionnez Grant (Accorder).
  3. Dans la boîte de dialogue Grant permissions (Accorder des autorisations), sélectionnez My account (Mon compte).
  4. Pour IAM users and roles (Utilisateurs et rôles IAM), sélectionnez l'utilisateur ou le rôle IAM auquel vous voulez accorder des autorisations.
  5. Pour Storage locations (Emplacements de stockage), sélectionnez le chemin S3 à partir duquel vous obtenez l'erreur.
  6. Choisissez Grant (Accorder).

Remarque : suivez ces étapes uniquement si le chemin S3 se trouve dans le même compte. Si le chemin S3 se trouve dans un compte différent, assurez-vous que toutes les conditions préalables d'accès entre comptes sont remplies. Suivez ensuite les instructions fournies dans la section Octroi d'autorisations d'emplacement de données (compte externe).


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?