Bereitstellung von Anmeldedaten – Übersicht

Mit der Bereitstellung von Anmeldedaten für den Lakehouse-Laufzeitkatalog können Sie den Speicherzugriff delegieren und detaillierte Berechtigungen auf Ihre Datendateien anwenden. Im Rahmen von Lakehouse für Apache Iceberg können Sie mit dieser Funktion IAM-Richtlinien (Identity and Access Management) auf Tabellenebene für in Cloud Storage gespeicherte Tabellen verwalten.

Mit der gcloud CLI können Sie diese Richtlinien abrufen und festlegen, um den Zugriff auf Ihre Ressourcen zu steuern.

Funktionsweise der Bereitstellung von Anmeldedaten

Wenn Sie die Bereitstellung von Anmeldedaten verwenden, ändert sich die Reihenfolge der Vorgänge geringfügig, um Richtlinien durchzusetzen, bevor auf den Speicher zugegriffen wird:

  1. Anfrage:Ein Nutzer sendet eine SQL-Anweisung, z. B. eine Abfrage, einen DML- oder einen DDL-Vorgang, an eine unterstützte Engine. Beispielsweise Apache Spark oder BigQuery.
  2. Metadatensuche:Die Engine sendet eine Anfrage an den Lakehouse-Laufzeitkatalog, um die Tabelle aufzulösen.
  3. Authentifizierung und Richtlinie:Der Katalog authentifiziert den Nutzer und prüft seine IAM-Berechtigungen für die Lakehouse-Ressourcen von Google Cloud.
  4. Antwort:Da die Bereitstellung von Anmeldedaten aktiviert ist, gibt der Katalog die Metadaten und ein kurzlebiges Speichertoken (eingeschränkte Speicheranmeldedaten) an die Engine zurück. Das Token ist auf die mit der Tabelle verknüpften Pfade beschränkt und auf die mindestens erforderlichen Berechtigungen eingeschränkt (z. B. schreibgeschützter Zugriff für Abfragen, für die keine Dateien geschrieben werden müssen).
  5. Zugriff:Die Engine verwendet dieses Token, um die spezifischen autorisierten Dateien direkt aus Cloud Storage zu lesen oder in Cloud Storage zu schreiben.
  6. Berechnung:Die Engine verarbeitet die Daten oder führt den Vorgang aus und gibt die Ergebnisse zurück.

Unterstützte Engines

Wenn Sie die Bereitstellung von Anmeldedaten mit Abfrage-Engines verwenden möchten, muss Ihr Lakehouse Iceberg REST-Katalog für die Unterstützung der Bereitstellung von Anmeldedaten konfiguriert sein.

  • Open-Source-Engines:Unterstützte Engines wie Apache Spark und Trino verwenden kurzlebige Speichertokens, die vom Katalog bereitgestellt werden. Ihre Clientanwendung muss die Unterstützung für die Bereitstellung von Anmeldedaten im Header X-Iceberg-Access-Delegation angeben.
  • BigQuery:BigQuery verwendet für den Cloud Storage-Zugriff bereitgestellte Anmeldedaten anstelle von Endnutzeranmeldedaten.

Erforderliche Berechtigungen für Dienstkonten

Wenn die Bereitstellung von Anmeldedaten aktiviert ist, müssen die folgenden Dienstkonten die erforderlichen Rollen haben:

  • Automatisch bereitgestelltes Dienstkonto für den Lakehouse-Laufzeitkatalog: Sie müssen diesem Konto die Rolle „Storage Object User“ (roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets gewähren. Ohne diesen Zugriff können bereitgestellte Anmeldedaten nicht in den Speicher lesen oder schreiben. Wenn Sie die Google Cloud Console verwenden, wird diese Rolle durch Klicken auf Bucket-Berechtigungen festlegen überprüft. Für die gcloud CLI, Terraform oder die API müssen Sie diese Rolle manuell gewähren.
  • Dienstkonten für Abfrage-Engines: Dienstkonten, die Abfrage-Engine Jobs ausführen (z. B. Managed Service for Apache Spark, Managed Service for Apache Spark oder Dataflow), benötigen die Rolle „BigLake Editor“ (roles/biglake.editor), um bereitgestellte Anmeldedaten mit Schreibbereich zu erhalten.

Nächste Schritte