Warum schlägt mein AWS-Glue-Crawler- oder ETL-Auftrag mit dem Fehler „Unzureichende Lake-Formation-Berechtigung(en)“ fehl?

Zuletzt aktualisiert: 15.2.2022

Mein AWS-Glue-Crawler- oder ETL-Auftrag schlägt mit dem Fehler „Unzureichende Lake-Formation-Berechtigung(en)“ fehl. Die AWS-Identity-and-Access-Management (IAM)-Rolle, die mit dem AWS-Glue-Crawler- oder dem AWS-Glue-ETL-Auftrag verknüpft ist, verfügt jedoch über die erforderlichen IAM-Berechtigungen.

Kurzbeschreibung

Der Zugriff auf AWS-Glue-Data-Catalog- und Amazon-Simple-Storage-Service (Amazon S3)-Ressourcen wird nicht nur mit IAM-Richtlinien, sondern auch mit AWS-Lake-Formation-Berechtigungen verwaltet. Sie erhalten den Fehler Unzureichende Lake-Formation-Berechtigung(en), wenn die mit dem AWS-Glue-Crawler- oder ETL-Auftrag verknüpfte IAM-Rolle nicht über die erforderlichen Lake-Formation-Berechtigungen zum Lesen von und/oder Schreiben in Folgendes verfügt:

  • Datenbank/Tabelle im Data Catalog
  • Zugrunde liegende Daten in Amazon S3

Auflösung

Zugriffsprobleme mit der Data-Catalog-Datenbank

Wenn der Fehler auf Zugriffsprobleme im Zusammenhang mit der Data-Catalog-Datenbank zurückzuführen ist, sieht die Fehlermeldung etwa wie folgt aus:

ERROR : Insufficient Lake Formation permission(s) on example-database (Database name: example-database)

Um diesen Fehler zu beheben, melden Sie sich bei der AWS Lake Formation-Konsole mit der Data-Lake-Administratorrolle an, und erteilen Sie dann die Berechtigung Datenbank erstellen für die IAM-Rolle, die mit dem Crawler/ETL-Auftrag verknüpft ist:

  1. Öffnen Sie die AWS-Lake-Formation-Konsole.
  2. Wählen Sie im Navigationsbereich unter Berechtigungen die Option Administrative Rollen und Aufgaben aus.
  3. Wählen Sie unter Datenbankersteller die Option Gewähren aus.
  4. Wählen Sie für IAM-Benutzer und -Rollen aus der Dropdown-Liste die IAM-Rolle aus, für die Sie den Zugriff gewähren möchten.
  5. Wählen Sie unter Katalogberechtigungen die Option Datenbank erstellen aus.
  6. Wenn Sie die IAM-Rolle benötigen, um Berechtigungen für andere Rollen in Ihrem Konto zu erteilen, wählen Sie Datenbank erstellen unter Gewährbbare Berechtigungen aus.
  7. Wählen Sie Gewähren aus.

Zugriffsprobleme bei der Data-Catalog-Tabelle

Wenn der Fehler auf Zugriffsprobleme im Zusammenhang mit der Data-Catalog-Tabelle zurückzuführen ist, sieht die Fehlermeldung etwa wie folgt aus:

ERROR : Insufficient Lake Formation permission(s) on example-table (Database name: example-database, Table Name: example-table)

Um diesen Fehler zu beheben, erteilen Sie der IAM-Rolle, die mit dem Crawler-/ETL-Auftrag verknüpft ist, die Berechtigung Tabelle erstellen für Beispieldatenbank:

  1. Öffnen Sie die AWS-Lake-Formation-Konsole.
  2. Wählen Sie im Navigationsbereich unter Berechtigungendie Option Data-Lake-Berechtigungen aus.
  3. Wählen Sie Gewähren aus.
  4. Wählen Sie unter Prinzipale die Option IAM-Benutzer und -Rollen aus.
  5. Wählen Sie unter IAM-Benutzer und -Rollen die IAM-Rolle aus.
  6. Wählen Sie unter LF-Tags oder Katalogressourcen die Option Benannte Data-Catalog-Ressourcen aus.
  7. Wählen Sie unter Datenbanken die Datenbank aus.
  8. Wählen Sie unter Datenbankberechtigungen die Option Tabelle erstellen oder Super basierend auf Ihrem Anwendungsfall aus.
  9. Wenn Sie die IAM-Rolle benötigen, um Berechtigungen für andere Rollen in Ihrem Konto zu erteilen, wählen Sie unter Gewährbare Berechtigungen die erforderlichen Berechtigungen aus.
  10. Wählen Sie Gewähren aus.

Zugriffsprobleme beim Amazon-S3-Pfad

Wenn der Fehler aufgrund von Zugriffsproblemen im Zusammenhang mit dem Amazon-S3-Pfad verursacht wird, enthält die Fehlermeldung den S3-Pfad und sieht folgendermaßen aus:

ERROR : Insufficient Lake Formation permission(s) on s3://S3-example-bucket/example-prefix/ (Database name: example-database, Table Name: example-table)

Das bedeutet, dass die IAM-Rolle, die mit dem Crawler/ETL-Auftrag verknüpft ist, nicht über die erforderliche Berechtigung für den Zugriff auf den S3-Pfad verfügt.

Um dieses Problem zu beheben, versuchen Sie Folgendes:

  1. Öffnen Sie die AWS-Lake-Formation-Konsole.
  2. Wählen Sie im Navigationsbereich unter Registrieren und aufnehmen die Option Data-Lake-Speicherorte aus.
    Sie können die Data-Lake-Speicherorte anzeigen.
  3. Stellen Sie sicher, dass der Amazon-S3-Pfad oder das Präfix des S3-Pfads, der in der Fehlermeldung erwähnt wird, ein registrierter Speicherort in der Liste Data-Lake-Speicherorte ist.
  4. Wenn sich der S3-Pfad oder das S3-Präfix in der Fehlermeldung von dem in der Liste Data-Lake-Speicherorte aufgeführten unterscheidet, wählen Sie Speicherort registrieren.
  5. Wählen Sie unter Amazon-S3-Pfad die Option Durchsuchen und dann den richtigen S3-Pfad aus.
  6. Behalten Sie für die IAM-Rolle die Standardauswahl awsServiceRoleForLakeFormationDataAccess bei. Wenn Sie eine benutzerdefinierte IAM-Rolle verwenden müssen, stellen Sie sicher, dass die entsprechenden Anforderungen erfüllt sind.
    Wichtig: Wenn Sie einen S3-Speicherort registrieren, übernimmt Lake Formation die vorherige IAM-Rolle, um temporäre Anmeldeinformationen für integrierte AWS-Services zu gewähren, die auf Daten an diesem Speicherort zugreifen. Stellen Sie daher sicher, dass die IAM-Rolle, die mit dem Crawler/ETL-Auftrag verknüpft ist, über die erforderlichen Berechtigungen zum Lesen aus dem/Schreiben in den S3-Bucket verfügt, um den AccessDenied-Fehler zu verhindern.
  7. Wählen Sie im Navigationsbereich unter Berechtigungen die Option Datenspeicherorte aus.
  8. Wählen Sie Gewähren aus.
  9. Wählen Sie unter Berechtigungen gewähren die Option Mein Konto aus.
  10. Wählen Sie unter IAM-Benutzer und -Rollen die IAM-Rolle aus, für die Sie Zugriff gewähren möchten.
  11. Wählen Sie Gewähren aus.

War dieser Artikel hilfreich?


Benötigen Sie Hilfe zur Fakturierung oder technischen Support?