Borderless Lakehouse unterstützt die Zugriffssteuerung auf Katalog-, Namespace- und Tabellenebene für Apache Iceberg-Tabellen in Cloud Storage, die den Lakehouse-Laufzeitkatalog verwenden.
Der Lakehouse-Laufzeitkatalog verwaltet die Metadaten, während die Berechtigungen durch IAM-Richtlinien (Identity and Access Management) definiert werden. Sie können dieGoogle Cloud Console oder die gcloud-Befehlszeile verwenden, um diese IAM-Richtlinien abzurufen und festzulegen.
Hinweis
-
Prüfen Sie, ob die Abrechnung für Ihr Google Cloud -Projekt aktiviert ist.
-
Aktivieren Sie die BigLake API, falls sie noch nicht aktiviert ist.
Erforderliche Rollen zum Aktivieren von APIs
Zum Aktivieren von APIs benötigen Sie die Berechtigung
serviceusage.services.enable. Wenn Sie das Projekt erstellt haben, haben Sie diese Berechtigung wahrscheinlich bereits über die Inhaberrolle (roles/owner). Andernfalls können Sie diese Berechtigung über die Rolle „Service Usage-Administrator“ (roles/serviceusage.serviceUsageAdmin) erhalten. Informationen zum Zuweisen von Rollen - Installieren und initialisieren Sie die Google Cloud CLI.
- Prüfen Sie, ob Sie einen vorhandenen Apache Iceberg REST-Katalogendpunkt und -Namespace haben.
- Prüfen Sie, ob im angegebenen Katalog und Namespace eine vorhandene Apache Iceberg-Tabelle vorhanden ist, die von Lakehouse verwaltet wird.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Access Control Lists (ACLs) für Iceberg-Kataloge, ‑Namespaces und ‑Tabellen benötigen:
-
Alle: BigLake-Administrator (
roles/biglake.admin) für das Projekt
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.
Funktionsweise
IAM-Richtlinien definieren, welche Hauptkonten bestimmte Rollen und Berechtigungen für eine Ressource haben. Sie können den Zugriff auf Ihre Ressourcen verwalten, indem Sie diese Richtlinien abrufen und festlegen.
Bereich von IAM-Rollen
Sie können IAM-Rollen auf verschiedenen Ebenen der Ressourcenhierarchie zuweisen:
- Projektebene: Gewährt Zugriff auf alle Lakehouse-Ressourcen im Projekt.
- Katalogebene: Gewährt Zugriff auf Ressourcen, die zum angegebenen Katalog gehören.
- Namespace-Ebene: Gewährt Zugriff auf Ressourcen, die zum angegebenen Namespace gehören.
- Tabellenebene: Gewährt nur Zugriff auf die angegebene Tabelle.
Relevante IAM-Rollen
In der folgenden Liste sind einige der gängigen IAM-Rollen aufgeführt, die Sie auf Lakehouse-Ressourcen anwenden können. Eine vollständige Liste der verfügbaren Rollen und der zugehörigen Berechtigungen finden Sie unter Lakehouse-IAM-Rollen.
roles/biglake.admin: bietet vollständigen Zugriff auf alle Lakehouse-Ressourcen.roles/biglake.editor: bietet Lese- und Schreibzugriff auf alle Lakehouse-Ressourcen.roles/biglake.viewer: bietet Lesezugriff auf alle Lakehouse-Ressourcen.roles/biglake.metadataViewer: bietet Lesezugriff auf Metadaten für alle Lakehouse-Ressourcen.
Best Practices
- Geringste Berechtigung: Gewähren Sie Nutzern und Dienstkonten nur die erforderlichen Berechtigungen.
- ETags verwenden: Fügen Sie immer das
etagaus einem aktuellenget-iam-policy-Aufruf in Ihre Richtliniendatei ein, wenn Sieset-iam-policyverwenden, um unbeabsichtigtes Überschreiben zu vermeiden. - Audit-Logging: Achten Sie darauf, dass Cloud-Audit-Logs aktiviert sind, um Änderungen an IAM-Richtlinien zu verfolgen.
- Versionsverwaltung: Speichern Sie Ihre Richtliniendateien in einem Versionsverwaltungssystem.
ACL-Rollen auf Kataloge anwenden
Im folgenden Abschnitt wird beschrieben, wie Sie ACLs auf Kataloge anwenden.
gcloud
IAM-Richtlinie abrufen
Verwenden Sie den Befehl gcloud biglake iceberg catalogs
get-iam-policy, um die aktuelle IAM-Richtlinie für einen Lakehouse Iceberg-Katalog aufzurufen.
Führen Sie den folgenden Befehl aus, um die IAM-Richtlinie abzurufen:
gcloud biglake iceberg catalogs get-iam-policy CATALOG_NAME \ --project=PROJECT_IDErsetzen Sie Folgendes:
CATALOG_NAME: der Name des Apache Iceberg REST-Katalogendpunkts.PROJECT_ID: Ihre Google Cloud-Projekt-ID.
Die Befehlsausgabe ist die IAM-Richtlinie im YAML-Format, in dem die aktuellen Rollenbindungen und Mitglieder angezeigt werden.
IAM-Richtlinie festlegen
Verwenden Sie den Befehl gcloud biglake iceberg catalogs set-iam-policy, um die IAM-Richtlinie für einen Lakehouse Iceberg-Katalog zu aktualisieren.
Dieser Befehl verwendet eine lokale JSON- oder YAML-Datei, die die Richtlinie enthält, die Sie anwenden möchten.
Erstellen Sie eine lokale Richtliniendatei im JSON- oder YAML-Format. Die Richtliniendatei muss die Bindungen und ein
etagenthalten. Der Wertetagbietet eine optimistische Nebenläufigkeitserkennung, um das Überschreiben von Änderungen zu verhindern. Führen Sie zuerst den Befehlget-iam-policyaus, um die aktuelleetagabzurufen.Das folgende Beispiel zeigt eine Richtliniendatei mit dem Namen
policy.json:{ "bindings": [ { "role": "roles/biglake.viewer", "members": [ "user:test-user@example.com" ] }, { "role": "roles/biglake.editor", "members": [ "user:someone@example.com" ] } ], "etag": "BwYXa9UuR8w=", "version": 3 }Führen Sie den folgenden Befehl aus, um die IAM-Richtlinie festzulegen:
gcloud biglake iceberg catalogs set-iam-policy CATALOG_NAME POLICY_FILE \ --project=PROJECT_IDErsetzen Sie Folgendes:
CATALOG_NAME: der Name des Apache Iceberg REST-Katalogendpunkts.POLICY_FILE: der Pfad zu Ihrer lokalen Richtliniendatei.PROJECT_ID: Ihre Projekt-ID in Google Cloud .
ACL-Rollen auf Namespaces anwenden
Im folgenden Abschnitt wird beschrieben, wie Sie ACLs auf Namespaces anwenden.
In der Google Cloud Console werden übernommene IAM-Richtlinien weder angezeigt noch verwaltet.
Console
Öffnen Sie in der Google Cloud Console die Seite Lakehouse.
Wählen Sie einen vorhandenen Katalog aus oder erstellen Sie einen, falls Sie noch keinen haben.
Wählen Sie in der Tabelle Namespace-Details einen Namespace aus und maximieren Sie die Menüoptionen ().
Klicken Sie auf Berechtigungen verwalten.
Das Dialogfeld Freigabeberechtigungen wird angezeigt.
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten das Hauptkonto ein, dem Sie Rollen zuweisen möchten.
Wählen Sie unter Rolle auswählen eine Rolle aus, die Sie dem Hauptkonto zuweisen möchten.
Klicken Sie auf Speichern.
Klicken Sie auf Schließen.
gcloud
IAM-Richtlinie abrufen
Verwenden Sie den Befehl gcloud biglake iceberg namespaces
get-iam-policy, um die aktuelle IAM-Richtlinie für einen Lakehouse Iceberg-Namespace aufzurufen.
Führen Sie den folgenden Befehl aus, um die IAM-Richtlinie abzurufen:
gcloud biglake iceberg namespaces get-iam-policy NAMESPACE_NAME \ --catalog=CATALOG_NAME \ --project=PROJECT_IDErsetzen Sie Folgendes:
NAMESPACE_NAME: der Name des Ziel-Namespace im Katalog.CATALOG_NAME: der Name des Apache Iceberg REST-Katalogendpunkts.PROJECT_ID: Ihre Google Cloud-Projekt-ID.
Die Befehlsausgabe ist die IAM-Richtlinie im YAML-Format, in dem die aktuellen Rollenbindungen und Mitglieder angezeigt werden.
IAM-Richtlinie festlegen
Verwenden Sie den Befehl gcloud biglake iceberg namespaces set-iam-policy, um die IAM-Richtlinie für einen Lakehouse Iceberg-Namespace zu aktualisieren.
Dieser Befehl verwendet eine lokale JSON- oder YAML-Datei, die die Richtlinie enthält, die Sie anwenden möchten.
Erstellen Sie eine lokale Richtliniendatei im JSON- oder YAML-Format. Die Richtliniendatei muss die Bindungen und ein
etagenthalten. Der Wertetagbietet eine optimistische Nebenläufigkeitserkennung, um das Überschreiben von Änderungen zu verhindern. Führen Sie zuerst den Befehlget-iam-policyaus, um die aktuelleetagabzurufen.Das folgende Beispiel zeigt eine Richtliniendatei mit dem Namen
policy.json:{ "bindings": [ { "role": "roles/biglake.viewer", "members": [ "user:test-user@example.com" ] }, { "role": "roles/biglake.editor", "members": [ "user:someone@example.com" ] } ], "etag": "BwYXa9UuR8w=", "version": 3 }Führen Sie den folgenden Befehl aus, um die IAM-Richtlinie festzulegen:
gcloud biglake iceberg namespaces set-iam-policy NAMESPACE_NAME POLICY_FILE \ --catalog=CATALOG_NAME \ --project=PROJECT_IDErsetzen Sie Folgendes:
NAMESPACE_NAME: der Name des Ziel-Namespace im Katalog.POLICY_FILE: der Pfad zu Ihrer lokalen Richtliniendatei.CATALOG_NAME: der Name des Apache Iceberg REST-Katalogendpunkts.PROJECT_ID: Ihre Projekt-ID in Google Cloud .
ACL-Rollen auf Tabellen anwenden
Im folgenden Abschnitt wird beschrieben, wie Sie ACLs auf Tabellen anwenden.
In der Google Cloud Console werden übernommene IAM-Richtlinien weder angezeigt noch verwaltet.
Console
Öffnen Sie in der Google Cloud Console die Seite Lakehouse.
Wählen Sie einen vorhandenen Katalog aus oder erstellen Sie einen, falls Sie noch keinen haben.
Klicken Sie in der Tabelle Namespace-Details auf den Namen des Namespace, der Ihre Tabelle enthält.
Wählen Sie auf der Seite Tabellendetails eine Tabelle aus und maximieren Sie die Menüoptionen ().
Klicken Sie auf Berechtigungen verwalten.
Das Dialogfeld Freigabeberechtigungen wird angezeigt.
Klicken Sie auf Hauptkonto hinzufügen.
Geben Sie im Feld Neue Hauptkonten das Hauptkonto ein, dem Sie Rollen zuweisen möchten.
Wählen Sie unter Rolle auswählen eine Rolle aus, die Sie dem Hauptkonto zuweisen möchten.
Klicken Sie auf Speichern.
Klicken Sie auf Schließen.
gcloud
IAM-Richtlinie abrufen
Verwenden Sie den Befehl gcloud biglake iceberg tables
get-iam-policy, um die aktuelle IAM-Richtlinie für eine Lakehouse-Iceberg-Tabelle aufzurufen.
Führen Sie den folgenden Befehl aus, um die IAM-Richtlinie abzurufen:
gcloud biglake iceberg tables get-iam-policy TABLE_NAME \ --catalog=CATALOG_NAME \ --namespace=NAMESPACE_NAME \ --project=PROJECT_IDErsetzen Sie Folgendes:
TABLE_NAME: der Name der Apache Iceberg-Zieltabelle.CATALOG_NAME: der Name des Apache Iceberg REST-Katalogendpunkts.NAMESPACE_NAME: der Name des Namespace im Katalog.PROJECT_ID: Ihre Google Cloud-Projekt-ID.
Die Befehlsausgabe ist die IAM-Richtlinie im YAML-Format, in dem die aktuellen Rollenbindungen und Mitglieder angezeigt werden.
IAM-Richtlinie festlegen
Verwenden Sie den Befehl gcloud biglake iceberg tables set-iam-policy, um die IAM-Richtlinie für eine von Lakehouse verwaltete Apache Iceberg-Tabelle zu aktualisieren.
Dieser Befehl verwendet eine lokale JSON- oder YAML-Datei, die die Richtlinie enthält, die Sie anwenden möchten.
Erstellen Sie eine lokale Richtliniendatei im JSON- oder YAML-Format. Die Richtliniendatei muss die Bindungen und ein
etagenthalten. Der Wertetagbietet eine optimistische Nebenläufigkeitserkennung, um das Überschreiben von Änderungen zu verhindern. Führen Sie zuerst den Befehlget-iam-policyaus, um die aktuelleetagabzurufen.Das folgende Beispiel zeigt eine Richtliniendatei mit dem Namen
policy.json:{ "bindings": [ { "role": "roles/biglake.viewer", "members": [ "user:test-user@example.com" ] }, { "role": "roles/biglake.editor", "members": [ "user:someone@example.com" ] } ], "etag": "BwYXa9UuR8w=", "version": 3 }Führen Sie den folgenden Befehl aus, um die IAM-Richtlinie festzulegen:
gcloud biglake iceberg tables set-iam-policy TABLE_NAME POLICY_FILE \ --catalog=CATALOG_NAME \ --namespace=NAMESPACE_NAME \ --project=PROJECT_IDErsetzen Sie Folgendes:
TABLE_NAME: der Name der Apache Iceberg-Zieltabelle.POLICY_FILE: der Pfad zu Ihrer lokalen Richtliniendatei.CATALOG_NAME: der Name des Apache Iceberg REST-Katalogendpunkts.NAMESPACE_NAME: der Name des Namespace im Katalog.PROJECT_ID: Ihre Projekt-ID in Google Cloud .
Nächste Schritte
- Mehr über IAM erfahren
- Vollständige Liste der Lakehouse-IAM-Rollen und -Berechtigungen
- Lakehouse-Konzepte