Mit der Anmeldedatenbereitstellung 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 Vorgänge geringfügig, um Richtlinien durchzusetzen, bevor auf den Speicher zugegriffen wird:
- Anfrage:Ein Nutzer sendet eine SQL-Anweisung, z. B. eine Abfrage, einen DML- oder DDL-Vorgang, an eine unterstützte Engine. Zum Beispiel Apache Spark oder BigQuery.
- Metadatenabfrage:Die Engine sendet eine Anfrage an den Lakehouse-Laufzeitkatalog, um die Tabelle aufzulösen.
- Authentifizierung und Richtlinie:Der Katalog authentifiziert den Nutzer und prüft seine IAM-Berechtigungen für die Lakehouse-Ressourcen von Google Cloud.
- 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 Pfade beschränkt, die der Tabelle zugeordnet sind, und wird auf die erforderlichen Mindestberechtigungen reduziert (z. B. schreibgeschützter Zugriff für Abfragen, für die keine Dateien geschrieben werden müssen).
- Zugriff:Die Engine verwendet dieses Token, um die autorisierten Dateien direkt aus Cloud Storage zu lesen oder in Cloud Storage zu schreiben.
- 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-Delegationangeben. - 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 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 zuweisen. Ohne diesen Zugriff können mitgelieferte Anmeldedaten nicht auf den Speicher zugreifen. Wenn Sie dieGoogle Cloud -Konsole verwenden, wird diese Rolle durch Klicken auf Bucket-Berechtigungen festlegen bestätigt. Für die gcloud CLI, Terraform oder die API müssen Sie diese Rolle manuell zuweisen. - Dienstkonten für Abfrage-Engines: Dienstkonten, mit denen Jobs für Abfrage-Engines (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), um bereitgestellte Anmeldedaten mit Schreibbereich zu erhalten.
Nächste Schritte
- Katalog im Modus für die Bereitstellung von Anmeldedaten erstellen
- Informationen zum Aktivieren der Bereitstellung von Anmeldedaten für einen vorhandenen Katalog über dieGoogle Cloud Console