Wie kann ich Lake Formation-Berechtigungsfehler in AWS Glue beheben?

Lesedauer: 3 Minute
0

Mein AWS Glue-Crawler- oder ETL-Auftrag schlägt mit einem AWS Lake Formation-Berechtigungsfehler fehl. Der Fehler tritt auf, obwohl ich die erforderlichen AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Berechtigungen konfiguriert habe.

Lösung

Zu den häufigsten Berechtigungsfehlern gehören unzureichende Standardberechtigungen oder unzureichende Berechtigungen, um anderen Benutzern Berechtigungen zu gewähren.

Ungenügende Standardberechtigungen

Du musst Berechtigungen für die Standarddatenbank für jene Rolle bereitstellen, die versucht, die Tabelle abzufragen. Wenn diese Berechtigungen fehlen, generiert Lake Formation eine Ausnahme ähnlich der folgenden:

„AnalysisException: Unable to verify existence of default database: com.amazonaws.services.glue.model.AccessDeniedException: Insufficient Lake Formation permission(s) on default“

Um Standardberechtigungen zu gewähren:

  1. Melde dich als Data Lake-Administrator bei der Lake Formation-Konsole an.
  2. Öffne im linken Bereich Permissions (Berechtigungen), Data lake permissions (Data Lake-Berechtigungen), und wähle dann Einwilligen aus.
  3. Wähle auf der Seite Grant data lake permissions (Data Lake-Berechtigungen gewähren) unter Principals (Prinzipale) die Kategorie des Prinzipals deines Glue-Auftrags aus.
  4. Wähle unter IAM users and roles (IAM-Benutzer und -Rollen) eine oder mehrere IAM-Rollen aus.
  5. Wähle unter LF-Tags or catalog resources (LF-Tags oder Katalogressourcen) die Option Named Data Catalog resources (Benannte Datenkatalogressourcen) und dann unter Databases (Datenbanken) die Option Default (Standard) aus. Wenn du keine Standarddatenbank siehst, erstelle eine, wie später beschrieben.
  6. Wähle auf der Seite Grant data lake permissions (Data Lake-Berechtigungen gewähren) unter Database permissions (Datenbankberechtigungen) für Database permissions die Option Describe (Beschreiben) aus.
  7. Wähle die Schaltfläche Einwilligen.
  8. Führe den Auftrag in AWS Glue erneut aus und stelle sicher, dass der Auftrag erfolgreich ist.

Um eine Standard-Datenbank zu erstellen, falls noch keine existiert:

  1. Öffne Administrative roles and tasks (Administratorrollen und -aufgaben) und wähle unter Database creators (Datenbankersteller) die Option Einwilligen aus.
  2. Wähle im Dialogfeld Grant permissions (Berechtigungen gewähren) die Glue-Rolle aus.
  3. Wähle unter Grantable permissions (Gewährbare Berechtigungen) die Berechtigung Create database (Datenbank erstellen) für die spezifischen Zugriffsberechtigungen aus, die gewährt werden sollen, und wähle Einwilligen aus. Dadurch wird die IAM-Rolle konfiguriert, die dem AWS Glue-Auftrag als Datenbankersteller in Lake Formation angefügt ist. Lake Formation erstellt dann automatisch eine Standarddatenbank (falls keine vorhanden ist) und erteilt die erforderlichen Berechtigungen für die Rolle.
  4. Führe den Auftrag in AWS Glue aus und stelle sicher, dass der Auftrag erfolgreich ist.

Unzureichende Berechtigungen zum Gewähren von Berechtigungen

Du musst über gewährbare Berechtigungen für eine AWS Glue-Tabelle verfügen, wenn du Berechtigungen für die Tabelle gewährst. Um beispielsweise Berechtigungen über eine CloudFormation-Vorlage oder eine CI/CD-Pipeline zu gewähren, musst du über gewährbare Berechtigungen verfügen. Wenn gewährbare Berechtigungen fehlen, generiert Lake Formation eine Ausnahme wie die folgende:

„AccessDeniedException: An error occurred (AccessDeniedException) when calling the GrantPermissions operation: Resource does not exist or requester is not authorized to access requested permissions.“

  1. Gewähre einem Benutzer oder einer Rolle mit der benannten Ressourcenmethode gewährbare Berechtigungen für die Tabelle oder Datenbank.
  2. Dieser Benutzer oder diese Rolle kann anderen Benutzern oder Rollen Berechtigungen gewähren, beispielsweise über AWS CloudFormation oder eine CICD-Pipeline.

Ähnliche Informationen

Verwaltung der Lake Formation-Berechtigungen

Registrierung eines Amazon S3-Standorts

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 4 Monaten