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:
- 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.
- Metadatensuche: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 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).
- Zugriff:Die Engine verwendet dieses Token, um die spezifischen 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 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
- Informationen zum Erstellen eines Katalogs im Modus für die Bereitstellung von Anmeldedaten
- Informationen zum Aktivieren der Bereitstellung von Anmeldedaten für einen vorhandenen Katalog über die Google Cloud Console
- Informationen zum Konfigurieren Ihrer Clientanwendung für die Bereitstellung von Anmeldedaten vending.