Bigtable-Zugriffssteuerung mit IAM

Auf dieser Seite werden die Zugriffssteuerungsoptionen beschrieben, die Ihnen in Bigtable zur Verfügung stehen .

Überblick

Bigtable nutzt Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) für die Zugriffssteuerung.

Für Bigtable können Sie die Zugriffssteuerung auf Projekt-, Instanz-, Tabellen- und autorisierten Ansichtsebene konfigurieren. Hier sind einige Beispiele für die Verwendung der Zugriffssteuerung auf Projektebene:

  • Einem Nutzer erlauben, aus jeder Tabelle innerhalb des Projekts zu lesen, aber nicht, in ihr zu schreiben
  • Einem Nutzer erlauben, aus jeder Tabelle innerhalb des Projekts zu lesen und in diese zu schreiben, aber nicht, Instanzen zu verwalten
  • Einem Nutzer erlauben, aus jeder Tabelle innerhalb des Projekts zu lesen und in diese zu schreiben sowie Instanzen zu verwalten

Im Folgenden finden Sie einige Beispiele für die Verwendung der Zugriffssteuerung auf Instanzebene:

  • Einem Nutzer erlauben, aus einer beliebigen Tabelle in nur einer Instanz innerhalb eines Projekts mit mehreren Instanzen zu lesen.
  • Einem Nutzer erlauben, nur eine Instanz in einem Projekt mit mehreren Instanzen zu verwalten.

Beispiele für die Verwendung der Zugriffssteuerung auf Tabellenebene:

  • Einem Nutzer erlauben, in eine Tabelle zu schreiben, aber nicht aus der Tabelle zu lesen.
  • Einem Nutzer erlauben, aus einer Tabelle zu lesen, aber nicht in die Tabelle zu schreiben.

Beispiele für die Verwendung der Zugriffssteuerung auf Sicherungsebene:

  • Verhindern, dass ein Nutzer eine Sicherung löscht.
  • Verhindern, dass Nutzer Daten aus der Sicherung wiederherstellen.

Beispiele für die Verwendung der Zugriffssteuerung auf Ebene der autorisierten Ansicht:

  • Einem Nutzer erlauben, eine autorisierte Ansicht zu lesen, aber nicht zu ändern.
  • Einem Nutzer erlauben, nur Daten aus einer von mehreren autorisierten Ansichten einer Tabelle anzusehen.

Eine ausführliche Beschreibung von IAM und seinen Features finden Sie im IAM-Entwicklerhandbuch. Lesen Sie insbesondere das Kapitel Zugriff gewähren, ändern und widerrufen.

In Bigtable können Sie den folgenden Hauptkontotypen keinen Zugriff gewähren:

Listen mit Berechtigungen und Rollen, die Bigtable unterstützt, finden Sie in den folgenden Abschnitten.

Bigtable API aktivieren

Zum Aufrufen und Zuweisen von Bigtable-IAM-Rollen müssen Sie die Bigtable API für Ihr Projekt aktivieren. Sie können die Bigtable-Rollen in der Google Cloud Console erst sehen, wenn Sie die API aktiviert haben.

Aktivieren Sie die API

Berechtigungen

In diesem Abschnitt werden die Berechtigungen beschrieben, die Bigtable unterstützt.

Berechtigungen erlauben es Nutzern, bestimmte Aktionen mit Bigtable-Ressourcen durchzuführen. Mit den Berechtigungen bigtable.instances.list können Nutzer beispielsweise alle Bigtable-Instanzen innerhalb eines Projekts auflisten. Sie erteilen Nutzern die Berechtigungen nicht direkt, sondern weisen jedem Nutzer eine vordefinierte Rolle oder benutzerdefinierte Rolle zu, die eine oder mehrere Berechtigungen beinhaltet.

Die folgende Tabelle listet IAM-Berechtigungen auf, die mit Bigtable in Verbindung stehen:

Name der Anwendungsprofil-Berechtigung Beschreibung
bigtable.appProfiles.create Bigtable-App-Profil erstellen.
bigtable.appProfiles.delete Bigtable-App-Profil löschen.
bigtable.appProfiles.get Informationen über ein Bigtable-Anwendungsprofil erhalten.
bigtable.appProfiles.list Bigtable-Anwendungsprofil einer Instanz auflisten.
bigtable.appProfiles.update Die Einstellungen für ein Bigtable-Anwendungsprofil aktualisieren.
Name der Sicherungsberechtigung Beschreibung
bigtable.backups.create Bigtable-Sicherung erstellen.
bigtable.backups.delete Bigtable-Sicherung löschen.
bigtable.backups.get Informationen zu einer Bigtable-Sicherung abrufen.
bigtable.backups.getIamPolicy Access Control Lists (ACL) einer Sicherung lesen Als IAM-Richtlinien zurückgegeben
bigtable.backups.list Bigtable-Sicherungen auflisten.
bigtable.backups.restore Wiederherstellung aus einer Bigtable-Sicherung.
bigtable.backups.testIamPermissions Rufen Sie die Berechtigungen des Aufrufers für eine bestimmte Sicherung ab.
bigtable.backups.read Aus einer Bigtable-Sicherung lesen.
bigtable.backups.setIamPolicy Sicherungs-ACLs aktualisieren
bigtable.backups.update Ablauf einer Bigtable-Sicherung ändern.
Name der Clusterberechtigung Beschreibung
bigtable.clusters.create Bigtable-Cluster erstellen.
bigtable.clusters.delete Bigtable-Cluster löschen.
bigtable.clusters.get Informationen zu einem Bigtable-Cluster abrufen.
bigtable.clusters.list Die Instanzen eines Bigtable-Clusters auflisten.
bigtable.clusters.update Die Einstellungen für einen Bigtable-Cluster aktualisieren
Name der Berechtigung für Hot Tablets Beschreibung
bigtable.hotTablets.list Hot-Tablets für einen Cluster auflisten.
Name der Instanzberechtigung Beschreibung
bigtable.instances.create Bigtable-Instanz erstellen.
bigtable.instances.createTagBinding Tag erstellen.
bigtable.instances.delete Bigtable-Instanz löschen.
bigtable.instances.deleteTagBinding Tag löschen.
bigtable.instances.get Informationen zu einer Bigtable-Instanz abrufen.
bigtable.instances.getIamPolicy Access Control Lists (ACLs) zu Instanzen lesen Als IAM-Richtlinien zurückgegeben
bigtable.instances.list Die Instanzen eines Bigtable-Projekts auflisten.
bigtable.instances.listEffectiveTagBindings Alle für eine Instanz gültigen Tags auflisten.
bigtable.instances.listTagBindings Die Tags einer Instanz auflisten.
bigtable.instances.ping Anfragen zur Kanalinitialisierung senden.
bigtable.instances.setIamPolicy ACLs aktualisieren
bigtable.instances.update Die Einstellungen für eine Bigtable-Instanz aktualisieren.
Name der Berechtigung in Key Visualizer Beschreibung
bigtable.keyvisualizer.get Ruft Key Visualizer-Informationen zu einer Tabelle ab, darunter Metadaten zu Zugriffsmustern und Zeilenschlüsselverteilungen.
bigtable.keyvisualizer.list Listet die verfügbaren Key Visualizer-Informationen für eine Tabelle auf.
Name der Standortberechtigung Beschreibung
bigtable.locations.list Bigtable-Standorte auflisten.
Name der Tabellen-Berechtigung Beschreibung
bigtable.tables.checkConsistency Aktualität einer replizierten Tabelle prüfen
bigtable.tables.create Tabelle erstellen
bigtable.tables.delete Tabelle löschen
bigtable.tables.generateConsistencyToken Token generieren, um zu prüfen, ob eine replizierte Tabelle aktuell ist
bigtable.tables.get Informationen über eine Tabelle einschließlich Spaltenfamilien und ihrer individuellen Einstellungen erhalten
bigtable.tables.getIamPolicy Tabellen-ACLs lesen. Als IAM-Richtlinien zurückgegeben
bigtable.tables.list Tabellen in einer Instanz auflisten
bigtable.tables.mutateRows Zeilen innerhalb einer Tabelle bearbeiten oder die Tabelle kürzen
bigtable.tables.readRows Zeilen in einer Tabelle lesen Dazu gehören Informationen zur Tabelle, z. B. Spaltenfamilien und ihre individuellen Einstellungen.
bigtable.tables.sampleRowKeys Beispiel der Zeilenschlüssel erhalten, die in einer Tabelle verwendet werden
bigtable.tables.setIamPolicy Tabellen-ACLs aktualisieren
bigtable.tables.undelete Gelöschte Tabelle wiederherstellen.
bigtable.tables.update Die Einstellungen für eine Tabelle einschließlich der Spaltenfamilien und ihrer individuellen Einstellungen aktualisieren
Name der Standortberechtigung Beschreibung
bigtable.locations.list Bigtable-Standorte auflisten.
Name der autorisierten Leseberechtigung Beschreibung
bigtable.authorizedViews.create Erstellen Sie eine autorisierte Ansicht.
bigtable.authorizedViews.delete Löschen Sie eine autorisierte Ansicht.
bigtable.authorizedViews.get Informationen zu einer autorisierten Ansicht abrufen
bigtable.authorizedViews.getIamPolicy Zugriffssteuerung für eine autorisierte Ansicht. Als IAM-Richtlinien zurückgegeben
bigtable.authorizedViews.list Autorisierte Ansichten in einer Tabelle auflisten
bigtable.authorizedViews.mutateRows Zeilen innerhalb einer autorisierten Ansicht ändern
bigtable.authorizedViews.readRows Zeilen aus einer autorisierten Ansicht lesen.
bigtable.authorizedViews.sampleRowKeys Beispiel für Zeilenschlüssel abrufen, die in einer autorisierten Ansicht verwendet werden
bigtable.authorizedViews.setIamPolicy Zugriffssteuerungsrichtlinien für eine autorisierte Ansicht aktualisieren.
bigtable.authorizedViews.update Aktualisieren Sie die Einstellungen für eine autorisierte Ansicht.

Vordefinierte Rollen

Jede vordefinierte Rolle besteht aus einem Bundle mit einer oder mehreren Berechtigungen. Beispielsweise bietet roles/bigtable.reader Lesezugriff auf Informationen zu Bigtable-Instanzen, -Clustern, -Tabellen und -Spaltenfamilien sowie auf die in den Tabellen enthaltenen Daten. Sie weisen den Nutzern oder Gruppen Rollen zu, die es ihnen erlauben, Aktionen mit den Ressourcen in Ihrem Projekt durchzuführen.

In der folgenden Tabelle werden die vordefinierten Rollen für Bigtable aufgeführt, einschließlich einer Liste der Berechtigungen, die mit jeder Rolle verknüpft sind:

Role Permissions

(roles/bigtable.admin)

Administers all Bigtable instances within a project, including the data stored within tables. Can create new instances. Intended for project administrators.

Lowest-level resources where you can grant this role:

  • Table

bigtable.*

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.appProfiles.update
  • bigtable.authorizedViews.create
  • bigtable.authorizedViews.createTagBinding
  • bigtable.authorizedViews.delete
  • bigtable.authorizedViews.deleteTagBinding
  • bigtable.authorizedViews.get
  • bigtable.authorizedViews.getIamPolicy
  • bigtable.authorizedViews.list
  • bigtable.authorizedViews.listEffectiveTags
  • bigtable.authorizedViews.listTagBindings
  • bigtable.authorizedViews.mutateRows
  • bigtable.authorizedViews.readRows
  • bigtable.authorizedViews.sampleRowKeys
  • bigtable.authorizedViews.setIamPolicy
  • bigtable.authorizedViews.update
  • bigtable.backups.create
  • bigtable.backups.delete
  • bigtable.backups.get
  • bigtable.backups.getIamPolicy
  • bigtable.backups.list
  • bigtable.backups.read
  • bigtable.backups.restore
  • bigtable.backups.setIamPolicy
  • bigtable.backups.update
  • bigtable.clusters.create
  • bigtable.clusters.delete
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.clusters.update
  • bigtable.hotTablets.list
  • bigtable.instances.create
  • bigtable.instances.createTagBinding
  • bigtable.instances.delete
  • bigtable.instances.deleteTagBinding
  • bigtable.instances.get
  • bigtable.instances.getIamPolicy
  • bigtable.instances.list
  • bigtable.instances.listEffectiveTags
  • bigtable.instances.listTagBindings
  • bigtable.instances.ping
  • bigtable.instances.setIamPolicy
  • bigtable.instances.update
  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list
  • bigtable.locations.list
  • bigtable.tables.checkConsistency
  • bigtable.tables.create
  • bigtable.tables.delete
  • bigtable.tables.generateConsistencyToken
  • bigtable.tables.get
  • bigtable.tables.getIamPolicy
  • bigtable.tables.list
  • bigtable.tables.mutateRows
  • bigtable.tables.readRows
  • bigtable.tables.sampleRowKeys
  • bigtable.tables.setIamPolicy
  • bigtable.tables.undelete
  • bigtable.tables.update

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.reader)

Provides read-only access to the data stored within Bigtable tables. Intended for data scientists, dashboard generators, and other data-analysis scenarios.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.user)

Provides read-write access to the data stored within Bigtable tables. Intended for application developers or service accounts.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.authorizedViews.mutateRows

bigtable.authorizedViews.readRows

bigtable.authorizedViews.sampleRowKeys

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.ping

bigtable.keyvisualizer.*

  • bigtable.keyvisualizer.get
  • bigtable.keyvisualizer.list

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

bigtable.tables.mutateRows

bigtable.tables.readRows

bigtable.tables.sampleRowKeys

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.*

  • monitoring.timeSeries.create
  • monitoring.timeSeries.list

resourcemanager.projects.get

(roles/bigtable.viewer)

Provides no data access. Intended as a minimal set of permissions to access the Google Cloud console for Bigtable.

Lowest-level resources where you can grant this role:

  • Table

bigtable.appProfiles.get

bigtable.appProfiles.list

bigtable.authorizedViews.get

bigtable.authorizedViews.list

bigtable.backups.get

bigtable.backups.list

bigtable.clusters.get

bigtable.clusters.list

bigtable.hotTablets.list

bigtable.instances.get

bigtable.instances.list

bigtable.instances.listEffectiveTags

bigtable.instances.listTagBindings

bigtable.locations.list

bigtable.tables.checkConsistency

bigtable.tables.generateConsistencyToken

bigtable.tables.get

bigtable.tables.list

monitoring.metricDescriptors.get

monitoring.metricDescriptors.list

monitoring.timeSeries.list

resourcemanager.projects.get

Benutzerdefinierte Rollen

Wenn die vordefinierten Rollen für Bigtable für Ihre geschäftlichen Anforderungen nicht ausreichen, können Sie eigene benutzerdefinierte Rollen mit selbst definierten Berechtigungen festlegen.

Wenn Ihre benutzerdefinierte Rolle den Zugriff auf die Google Cloud Console unterstützen muss, müssen Sie die Aufgaben identifizieren, die die Nutzer ausführen sollen. Danach müssen Sie darauf achten, dass die benutzerdefinierte Rolle die erforderlichen Berechtigungen für jede Aufgabe hat, wie in der Tabelle unten dargestellt. Wenn eine benutzerdefinierte Rolle nicht alle erforderlichen Berechtigungen für eine Aufgabe hat und ein Nutzer versucht, diese Aufgabe auszuführen, funktioniert die Google Cloud Console nicht korrekt.

Aufgabe der Google Cloud Console Erforderliche Berechtigungen
Standardzugriff auf die Google Cloud Console
  • bigtable.appProfiles.get
  • bigtable.appProfiles.list
  • bigtable.clusters.get
  • bigtable.clusters.list
  • bigtable.instances.get
  • bigtable.instances.list
  • bigtable.locations.list
  • resourcemanager.projects.get
Instanz oder Cluster erstellen

Standardzugriffsberechtigungen, plus:

  • bigtable.clusters.create
  • bigtable.instances.create
Instanz oder Cluster ändern

Standardzugriffsberechtigungen, plus:

  • bigtable.clusters.update
  • bigtable.instances.update
Replikationskonfiguration verwalten

Standardzugriffsberechtigungen, plus:

  • bigtable.appProfiles.create
  • bigtable.appProfiles.delete
  • bigtable.appProfiles.update
Instanz oder Cluster löschen

Standardzugriffsberechtigungen, plus:

  • bigtable.clusters.delete
  • bigtable.instances.delete
Instanz durch Anzeige von Grafiken überwachen

Standardzugriffsberechtigungen, plus:

  • monitoring.metricDescriptors.get
  • monitoring.metricDescriptors.list
  • monitoring.timeSeries.list
Tabelle erstellen und aktualisieren

Standardzugriffsberechtigungen, plus:

  • bigtable.tables.create
  • bigtable.tables.update
Sicherung wiederherstellen

Standardzugriffsberechtigungen, plus:

  • bigtable.backups.list
  • bigtable.tables.create
  • bigtable.backups.restore

IAM-Management

In diesem Abschnitt wird erläutert, wie Sie IAM-Rollen und zugehörige Berechtigungen auf Projekt-, Instanz-, Tabellen- und Sicherungsebene verwalten.

IAM-Verwaltung auf Projektebene

Auf Projektebene können Sie IAM-Rollen mithilfe der Google Cloud Console, der IAM API oder der Google Cloud CLI gewähren, ändern und widerrufen. Eine Anleitung finden Sie unter Zugriff gewähren, ändern und widerrufen.

Nachdem Sie ein Projekt erstellt haben, können Sie Nutzern auf Projektebene IAM-Rollen auf Projektebene zuweisen.

Erforderliche Rollen

Bevor Sie für einen Nutzer IAM-Rollen auf Instanzebene, Tabellenebene, Sicherungsebene oder autorisierte IAM-Rollen festlegen, muss dieser mindestens eine der folgenden IAM-Rollen auf Projektebene haben:

  • Bigtable-Betrachter (empfohlen)
  • Bigtable-Leser
  • Bigtable-Nutzer
  • Bigtable-Administrator

Wählen Sie eine Rolle auf Projektebene aus, die für alle Instanzen, Tabellen, Sicherungen oder autorisierten Ansichten im Projekt nicht mehr Berechtigungen hat, als der Nutzer tatsächlich benötigt. Aus diesem Grund sollten Sie in fast allen Fällen die Rolle „Bigtable-Betrachter“ zuweisen.

Wenn der Nutzer nicht mindestens eine dieser Rollen auf Projektebene besitzt, hat er über die Google Cloud Console keinen Zugriff auf Bigtable. Die Google Cloud Console erfordert eine dieser Rollen auf Projektebene, damit Informationen zu Instanzen, Clustern, Tabellen oder Sicherungen im Namen des Nutzers abgerufen werden können.

IAM-Rollen auf Instanzebene zuweisen

Auf Instanzebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Bigtable gewähren. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

So gewähren Sie einem Nutzer oder Dienstkonto eine vordefinierte oder benutzerdefinierte Rolle auf Instanzebene:

Console

  1. Rufen Sie in der Google Cloud Console die Seite "Bigtable-Instanzen" auf.

    Zur Seite "Instanzen"

  2. Klicken Sie auf die Kästchen neben den Instanzen, deren Rollen Sie verwalten möchten. Ein Informationsfenster wird angezeigt.

  3. Klicken Sie im Informationsfenster auf Berechtigungen.

  4. Beginnen Sie unter Hauptkonten hinzufügen mit der Eingabe der E-Mail-Adresse des Nutzers oder Dienstkontos, den Sie hinzufügen möchten, und klicken Sie dann auf die E-Mail-Adresse des Nutzers oder Dienstkontos.

  5. Klicken Sie auf die Drop-down-Liste Rolle auswählen und dann auf Bigtable, um eine vordefinierte Rolle auszuwählen, oder auf Benutzerdefiniert, um eine benutzerdefinierte Rolle auszuwählen.

  6. Klicken Sie auf den Namen jeder Rolle, die Sie zuweisen möchten.

  7. Klicken Sie auf Hinzufügen. Dem Nutzer oder Dienstkonto werden die Rollen zugewiesen, die Sie auf Instanzebene angegeben haben.

gcloud

  1. Wenn Sie die Instanz-ID nicht kennen, rufen Sie mit dem Befehl bigtable instances list eine Liste der Instanzen des Projekts auf:

    gcloud bigtable instances list
    
  2. Führen Sie den Befehl bigtable instances set-iam-policy aus:

    gcloud bigtable instances set-iam-policy \
    INSTANCE_ID \
    POLICY_FILE
    

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • POLICY_FILE: Pfad zu einer lokalen JSON- oder YAML-Datei, die eine gültige IAM-Richtlinie enthält.

IAM-Rollen auf Tabellenebene zuweisen

Auf Tabellenebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Bigtable gewähren. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

So gewähren Sie einem Nutzer oder Dienstkonto eine vordefinierte oder benutzerdefinierte Rolle auf Tabellenebene:

Console

  1. Rufen Sie in der Google Cloud Console die Seite "Bigtable-Instanzen" auf.

    Zur Seite "Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die die Tabelle enthält, für deren IAM Sie Einstellungen vornehmen.

  3. Wählen Sie im linken Navigationsbereich Tabellen aus.

  4. Klicken Sie die Kästchen neben den Tabellen an, deren Rollen Sie verwalten möchten. Ein Informationsfenster wird angezeigt.

  5. Klicken Sie im Informationsfenster auf Berechtigungen.

  6. Beginnen Sie unter Hauptkonten hinzufügen mit der Eingabe der E-Mail-Adresse des Nutzers oder Dienstkontos, den Sie hinzufügen möchten, und klicken Sie dann auf die E-Mail-Adresse des Nutzers oder Dienstkontos.

  7. Klicken Sie auf die Drop-down-Liste Rolle auswählen und dann auf Bigtable, um eine vordefinierte Rolle auszuwählen, oder auf Benutzerdefiniert, um eine benutzerdefinierte Rolle auszuwählen.

  8. Klicken Sie auf den Namen jeder Rolle, die Sie zuweisen möchten.

  9. Klicken Sie auf Hinzufügen. Dem Nutzer oder Dienstkonto werden die Rollen zugewiesen, die Sie auf Tabellenebene angegeben haben.

gcloud

  1. Wenn Sie die Instanz-ID nicht kennen, rufen Sie mit dem Befehl bigtable instances list eine Liste der Instanzen des Projekts auf:

    gcloud bigtable instances list
    
  2. Wenn Sie die Tabellen-IDs der Instanz nicht kennen, verwenden Sie den Befehl bigtable instances tables list, um eine Liste der Tabellen in der Instanz aufzurufen.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  3. Führen Sie den Befehl bigtable instances tables set-iam-policy aus:

    gcloud bigtable instances tables set-iam-policy \TABLE_ID \
        --instance=INSTANCE_ID \
        POLICY_FILE
    

    Machen Sie folgende Angaben:

    • TABLE_ID: Die permanente Kennzeichnung der Tabelle.
    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • POLICY_FILE: Pfad zu einer lokalen JSON- oder YAML-Datei, die eine gültige IAM-Richtlinie enthält.

IAM-Rollen auf Sicherungsebene gewähren

Auf der Sicherungsebene können Sie einem Nutzer oder Dienstkonto eine der vordefinierten Rollen von Bigtable gewähren. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

So weisen Sie einem Nutzer oder Dienstkonto auf Sicherungsebene eine vordefinierte oder benutzerdefinierte Rolle zu:

gcloud

  1. Wenn Sie die Instanz-ID nicht kennen, rufen Sie mit dem Befehl bigtable instances list eine Liste der Instanzen des Projekts auf:

    gcloud bigtable instances list
    
  2. Wenn Sie die Sicherungs-IDs in einer Instanz nicht kennen, verwenden Sie den Befehl bigtable instances backups list, um eine Liste der Sicherungen in der Instanz aufzurufen.

    gcloud bigtable backups list --instances=INSTANCE_ID
    

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
  3. Führen Sie den Befehl gcloud bigtable backups set-iam-policy aus:

    gcloud bigtable backups set-iam-policy BACKUP_ID \
        --instance=INSTANCE_ID \
        --cluster=CLUSTER_ID \
        POLICY_FILE
    

    Machen Sie folgende Angaben:

    • BACKUP_ID: Die permanente Kennung der Sicherung.
    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • TABLE_ID: die permanente Kennzeichnung der Tabelle
    • POLICY_FILE: Pfad zu einer lokalen JSON- oder YAML-Datei, die eine gültige IAM-Richtlinie enthält.

Autorisierte IAM-Rollen auf Datenansichtsebene zuweisen

Auf der Ebene der autorisierten Ansicht können Sie einem Nutzer- oder Dienstkonto eine der vordefinierten Rollen von Bigtable zuweisen. Sie können auch benutzerdefinierte Rollen zuweisen, die Sie definiert haben.

Führen Sie folgenden Befehl aus, um einem Nutzer oder Dienstkonto auf Ebene der autorisierten Datenansicht eine vordefinierte oder benutzerdefinierte Rolle zuzuweisen:

gcloud

  1. Wenn Sie die Instanz-ID nicht kennen, rufen Sie mit dem Befehl bigtable instances list eine Liste der Instanzen des Projekts auf:

    gcloud bigtable instances list
    
  2. Wenn Sie die Tabellen-IDs der Instanz nicht kennen, verwenden Sie den Befehl bigtable instances tables list, um eine Liste der Tabellen in der Instanz aufzurufen.

    gcloud bigtable instances tables list --instances=INSTANCE_ID
    
  3. Wenn Sie die ID der Datenansicht nicht kennen, können Sie mit dem Befehl bigtable authorized-views list eine Liste aller autorisierten Ansichten der Tabelle aufrufen.

    gcloud bigtable instances tables authorized-views list \
        --instance=INSTANCE_ID \
        --table=TABLE_ID
    
  4. Führen Sie den Befehl bigtable authorized-views set-iam-policy aus:

    gcloud bigtable authorized-views set-iam-policy TABLE_ID \
        AUTHORIZED_VIEW_ID --instance=INSTANCE_ID POLICY_FILE
    

    Machen Sie folgende Angaben:

    • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.
    • TABLE_ID: die permanente Kennzeichnung der Tabelle
    • AUTHORIZED_VIEW_ID: die permanente Kennung der Ansicht
    • POLICY_FILE: Pfad zu einer lokalen JSON- oder YAML-Datei, die eine gültige IAM-Richtlinie enthält.

IAM-Bedingungen

Mit IAM Conditions können Sie für einige Google Cloud-Ressourcen, einschließlich Bigtable-Ressourcen, die bedingte, attributbasierte Zugriffssteuerung festlegen und erzwingen.

In Bigtable können Sie den bedingten Zugriff anhand der folgenden Attribute erzwingen:

  • Attribut „Datum/Uhrzeit“: Verwenden Sie diese Option, um den temporären (ablaufenden), geplanten oder zeitlich begrenzten Zugriff auf Bigtable-Ressourcen festzulegen. Beispielsweise können Sie einem Nutzer bis zu einem bestimmten Datum Zugriff auf eine Tabelle gewähren.
  • Ressourcenattribute: Verwenden Sie diese Option, um den bedingten Zugriff basierend auf einem Ressourcennamen, einem Ressourcentyp oder Ressourcendienstattributen zu konfigurieren. In Bigtable können Sie Attribute von Instanzen, Clustern, Tabellen, Sicherungen und autorisierten Ansichten verwenden, um den bedingten Zugriff zu konfigurieren. Sie können einem Nutzer beispielsweise erlauben, Tabellen nur auf Tabellen zu verwalten, die mit einem bestimmten Präfix beginnen, oder Sie können einem Nutzer nur den Zugriff auf eine bestimmte Tabelle erlauben.

Weitere Informationen zu IAM Conditions finden Sie in der Übersicht der Bedingungen.

Nächste Schritte

Mehr über IAM erfahren