Bereitstellung von Anmeldedaten aktivieren

Wenn Sie den Modus für die Bereitstellung von Anmeldedaten für einen vorhandenen Apache Iceberg REST-Katalog aktivieren, wird Lakehouse für Apache Iceberg so konfiguriert, dass kurzlebige, eingeschränkte Speichertokens für autorisierte Abfrage-Engines oder Arbeitslasten bereitgestellt werden.

Mit dieser Authentifizierungsmethode ist es im Lakehouse-Laufzeitkatalog nicht mehr erforderlich, dass Sie oder die Abfragelaufzeiten über direkte Lese- und Schreibberechtigungen für den zugrunde liegenden Cloud Storage-Bucket verfügen.

Hinweis

  1. Lesen Sie Informationen zum Lakehouse-Laufzeitkatalog, um zu erfahren, wie der Lakehouse-Laufzeitkatalog funktioniert und welche Einschränkungen für den Dienst gelten.
  2. Melden Sie sich in Ihrem Google Cloud -Konto an. Wenn Sie mit Google Cloudnoch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.

    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

    • 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

    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

    • 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

    Verify that billing is enabled for your Google Cloud project.

    Enable the BigLake API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, damit Sie die nötigen Berechtigungen zum Aktivieren der Bereitstellung von Anmeldedaten haben:

  • Alle:
  • 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 Dienstkonto des Apache Iceberg REST-Katalogs 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.

Bereitstellung von Anmeldedaten aktivieren

Wenn die Authentifizierungsmethode für Ihren Apache Iceberg REST-Katalog auf Anmeldedaten von Endnutzern festgelegt ist, können Sie sie in den Modus für die Bereitstellung von Anmeldedaten ändern.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite Lakehouse.

Lakehouse aufrufen

  1. Wählen Sie in der Zeile des Katalogs, den Sie aktualisieren, Weitere Katalogaktionen > Authentifizierung bearbeiten aus.

  2. Wählen Sie im Authentifizierungsdialogfeld Modus für Bereitstellung von Anmeldedaten aus. Für das automatisch bereitgestellte Dienstkonto des Apache Iceberg-REST-Katalogs ist die explizite Rolle Storage-Objekt-Nutzer (roles/storage.objectUser) für alle zugehörigen Cloud Storage-Buckets erforderlich. Standardmäßig hat sie keinen Zugriff. Ohne diese Rolle haben die bereitgestellten Anmeldedaten nicht genügend Berechtigungen, um in den Speicher zu schreiben.

  3. Klicken Sie auf Speichern.

      Your catalog is updated and the **Catalog details** page opens.
    
  4. Wählen Sie unter Authentifizierungsmethode die Option Bucket-Berechtigungen festlegen aus.

  5. Wählen Sie im Dialogfeld Bestätigen aus.

So wird überprüft, ob das Dienstkonto Ihres Katalogs die Rolle „Storage-Objekt-Nutzer“ (roles/storage.objectUser) für alle zugehörigen Speicher-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 das Ihr benutzerdefinierter Katalognamen. 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 diese Tabellen in BigQuery abgefragt werden.
  • PROJECT_ID: Ihre Google Cloud Projekt-ID.

    Nachdem Sie die Bereitstellung von Anmeldedaten aktiviert haben, weisen Sie dem automatisch bereitgestellten Dienstkonto des Apache Iceberg REST-Katalogs 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 über die 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=icebergCatalog.credential_mode

Der Anfragetext muss eine IcebergCatalog-JSON-Nutzlast mit credential_mode auf VENDED_CREDENTIALS enthalten.

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID in Google Cloud .
  • CATALOG_ID: die ID Ihres Lakehouse-Laufzeitkatalogs.