Bereitstellung von Anmeldedaten – Übersicht

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

Sie können die gcloud CLI verwenden, um diese Richtlinien abzurufen und festzulegen, um den Zugriff auf Ihre Ressourcen zu steuern.

So funktioniert die Bereitstellung von Anmeldedaten

Wenn Sie die Bereitstellung von Anmeldedaten verwenden, ändert sich die Reihenfolge der Abfrageverarbeitung geringfügig, um Richtlinien durchzusetzen, bevor Daten gelesen werden:

  1. Anfrage:Ein Nutzer sendet eine SQL-Abfrage an eine unterstützte Engine (z. B. Apache Spark oder BigQuery).
  2. Metadatenabfrage: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.
  5. Lesen:Die Engine verwendet dieses Token, um die spezifischen autorisierten Dateien direkt aus Cloud Storage zu lesen.
  6. Berechnung: Die Engine verarbeitet die Daten 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 Dienstkontoberechtigungen

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

  • Automatisch bereitgestelltes Lakehouse-Laufzeitkatalog-Dienstkonto: Muss explizit die Rolle „Storage-Objekt-Nutzer“ (roles/storage.objectUser) für den Ziel-Cloud Storage-Bucket erhalten. Standardmäßig wird dieses Dienstkonto mit nur Betrachterzugriff erstellt. Ohne Administratorzugriff auf das Objekt können mit bereitgestellten Anmeldedaten keine Speichervorgänge ausgeführt werden. Hinweis: Wenn Sie die Konfiguration über die Konsolen-UI vornehmen, wird diese Rolle durch Klicken auf Bucket-Berechtigungen festlegen überprüft. Bei gcloud-, Terraform- oder API-Einrichtungen muss diese Rolle manuell gewährt werden.
  • Dienstkonten für die Abfrage-Engine: Dienstkonten, mit denen Jobs für die Abfrage-Engine (z. B. Managed Service for Apache Spark, Managed Service for Apache Spark oder Dataflow) ausgeführt werden, benötigen die Rolle „BigLake-Bearbeiter“ (roles/biglake.editor) auf Projektebene, um bereitgestellte Anmeldedaten mit Schreibbereich zu erhalten.

Nächste Schritte