Mit dem Lakehouse-Laufzeitkatalog können Sie den Modus für die Bereitstellung von Anmeldedaten für Katalogendpunkte im grenzenlosen Lakehouse aktivieren.
Im Modus für die Bereitstellung von Anmeldedaten werden kurzlebige, eingeschränkte Speicher-Tokens an autorisierte Abfrage-Engines und Arbeitslasten ausgegeben. Bei dieser Authentifizierungsmethode müssen Sie oder die Abfragelaufzeiten keine direkten Lese- und Schreibberechtigungen für den zugrunde liegenden Cloud Storage-Bucket haben.
Hinweis
- Weitere Informationen zum Lakehouse-Laufzeitkatalog und zu den Einschränkungen des Dienstes finden Sie unter Informationen zum Lakehouse-Laufzeitkatalog.
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API, if it is not already enabled.
Roles required to enable APIs
To enable APIs, you need the serviceusage.services.enable permission. If you
created the project, then you likely already have this permission through the
Owner role (roles/owner). Otherwise, you can get this permission through the
Service Usage Admin role (roles/serviceusage.serviceUsageAdmin).
Learn how to grant roles.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Aktivieren der Bereitstellung von Anmeldedaten benötigen:
-
Alle:
- BigLake-Administrator (
roles/biglake.admin) für Ihr Projekt - Storage-Administrator (
roles/storage.admin) für Ihr Projekt
- BigLake-Administrator (
-
Automatisch bereitgestelltes Dienstkonto für den Apache Iceberg REST-Katalog:
Storage Object User (
roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets. Nachdem Sie die Bereitstellung von Anmeldedaten aktiviert haben, weisen Sie dem automatisch bereitgestellten Apache Iceberg REST-Katalogdienstkonto Ihres Katalogs explizit die Rolle „Storage Object User“ (roles/storage.objectUser) für alle zugehörigen Storage-Buckets zu.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Anmeldedaten-Vending aktivieren
Wenn die Authentifizierungsmethode für den Apache Iceberg REST-Katalogendpunkt auf „Anmeldedaten von Endnutzern“ festgelegt ist, können Sie sie auf den Modus für die Bereitstellung von Anmeldedaten umstellen.
Console
- Öffnen Sie in der Google Cloud Console die Seite Lakehouse.
Wählen Sie in der Zeile des Katalogs, den Sie aktualisieren, Weitere Katalogaktionen > Authentifizierung bearbeiten aus.
Wählen Sie im Authentifizierungsdialogfeld Modus für Bereitstellung von Anmeldedaten aus. Das automatisch bereitgestellte Dienstkonto für den Apache Iceberg REST-Katalog benötigt die explizite Rolle Storage Object User (
roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets. Standardmäßig hat es keinen Zugriff. Ohne diese Rolle haben die bereitgestellten Anmeldedaten nicht genügend Berechtigungen, um Schreibvorgänge im Speicher auszuführen.Klicken Sie auf Speichern.
Your catalog is updated and the **Catalog details** page opens.Wählen Sie unter Authentifizierungsmethode die Option Bucket-Berechtigungen festlegen aus.
Wählen Sie im Dialogfeld Bestätigen aus.
Damit wird überprüft, ob das Dienstkonto Ihres Katalogs die Rolle „Storage Object User“ (roles/storage.objectUser) für alle zugehörigen Storage-Buckets hat.
gcloud
Führen Sie den Befehl gcloud biglake iceberg catalogs update aus.
gcloud biglake iceberg catalogs update \ CATALOG_NAME \ --project PROJECT_ID \ --credential-mode vended-credentials
Ersetzen Sie Folgendes:
CATALOG_NAME: ein Name für Ihren Katalog. Bei Lakehouse-Katalogen ist dies der Name Ihres benutzerdefinierten Katalogs. Bei Cloud Storage-Bucket-Katalogen entspricht dies der Cloud Storage-Bucket-ID, die mit dem REST-Katalog verwendet wird. Dieser Name wird auch als Katalog-ID verwendet, wenn Sie diese Tabellen über BigQuery abfragen.PROJECT_ID: Ihre Google Cloud-Projekt-ID.Nachdem Sie die Bereitstellung von Anmeldedaten aktiviert haben, weisen Sie dem automatisch bereitgestellten Apache Iceberg REST-Katalogdienstkonto Ihres Katalogs explizit die Rolle Storage Object User (
roles/storage.objectUser) für alle zugehörigen Storage-Buckets zu.
REST
Wenn Sie den Modus für die Bereitstellung von Anmeldedaten mit der REST API aktivieren möchten, senden Sie eine PATCH-Anfrage an den Endpunkt UpdateIcebergCatalog:
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=credential_mode
Der Anfragetext muss eine JSON-Nutzlast vom Typ IcebergCatalog enthalten, wobei credential_mode auf VENDED_CREDENTIALS gesetzt ist.
Ersetzen Sie Folgendes:
PROJECT_ID: Projekt-ID in Google Cloud .CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs.