Zugriffssteuerung mit IAM

Auf dieser Seite werden die IAM-Rollen (Identity and Access Management) beschrieben, die Sie für Folgendes verwenden können: konfigurieren Sie Secret Manager. Rollen schränken die Möglichkeiten eines Hauptkontos ein: auf Ressourcen zugreifen. Gewähren Sie immer nur die geringstmöglichen Berechtigungen, die für bestimmte Aufgabe auszuführen.

Secret Manager-Rollen

Im Folgenden sind die IAM-Rollen aufgeführt, die mit Secret Manager verknüpft sind. Informationen zum Gewähren, Ändern oder Entziehen des Zugriffs auf Ressourcen mit IAM-Rollen finden Sie unter Zugriff auf Ressourcen erteilen, ändern und entziehen.

Role Permissions

(roles/secretmanager.admin)

Full access to administer Secret Manager resources.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.*

  • secretmanager.locations.get
  • secretmanager.locations.list
  • secretmanager.secrets.create
  • secretmanager.secrets.createTagBinding
  • secretmanager.secrets.delete
  • secretmanager.secrets.deleteTagBinding
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • secretmanager.secrets.listEffectiveTags
  • secretmanager.secrets.listTagBindings
  • secretmanager.secrets.setIamPolicy
  • secretmanager.secrets.update
  • secretmanager.versions.access
  • secretmanager.versions.add
  • secretmanager.versions.destroy
  • secretmanager.versions.disable
  • secretmanager.versions.enable
  • secretmanager.versions.get
  • secretmanager.versions.list

(roles/secretmanager.secretAccessor)

Allows accessing the payload of secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.access

(roles/secretmanager.secretVersionAdder)

Allows adding versions to existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

(roles/secretmanager.secretVersionManager)

Allows creating and managing versions of existing secrets.

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.versions.add

secretmanager.versions.destroy

secretmanager.versions.disable

secretmanager.versions.enable

secretmanager.versions.get

secretmanager.versions.list

(roles/secretmanager.viewer)

Allows viewing metadata of all Secret Manager resources

Lowest-level resources where you can grant this role:

  • Secret

resourcemanager.projects.get

resourcemanager.projects.list

secretmanager.locations.*

  • secretmanager.locations.get
  • secretmanager.locations.list

secretmanager.secrets.get

secretmanager.secrets.getIamPolicy

secretmanager.secrets.list

secretmanager.secrets.listEffectiveTags

secretmanager.secrets.listTagBindings

secretmanager.versions.get

secretmanager.versions.list

Prinzip der geringsten Berechtigung

Wenn Sie das Prinzip der geringsten Berechtigung befolgen, gewähren Sie den minimalen Zugriff auf Ressourcen, die zum Ausführen einer bestimmten Aufgabe erforderlich sind. Wenn ein Hauptkonto beispielsweise Zugriff auf ein einzelnes Secret benötigt, gewähren Sie diesem Hauptkonto keinen Zugriff auf andere Secrets oder alle Secrets im Projekt oder in der Organisation. Wenn ein Hauptkonto ein Secret lediglich lesen muss, sollten Sie ihm nicht die Möglichkeit geben, das Secret zu ändern.

Mit IAM können Sie IAM-Rollen und -Berechtigungen auf der Ebene von Google Cloud-Secret, -Projekt, -Ordner oder -Organisation zuweisen. Berechtigungen immer auf der untersten Ebene der Ressourcenhierarchie anwenden.

Die folgende Tabelle zeigt die effektiven Funktionen eines Dienstkontos, basierend auf dem Ebene der Ressourcenhierarchie, auf der die Rolle „Secret Manager-Secret-Zugriffer“ (roles/secretmanager.secretAccessor) wurde gewährt.

Ressourcenhierarchie Voraussetzung
Secret Nur auf dieses Secret zugreifen
Projekt Auf alle Secrets im Projekt zugreifen
Ordner Auf alle Secrets in allen Projekten im Ordner zugreifen
Organisation Auf alle Secrets in allen Projekten der Organisation zugreifen

Die Rolle roles/owner enthält die Berechtigung „secretmanager.versions.access“, aber die Berechtigung roles/editor und roles/viewer nicht.

Wenn ein Hauptkonto nur auf den Wert eines einzelnen Secrets zugreifen muss, gewähren Sie diesem Hauptkonto nicht die Berechtigung, auf alle Secrets zuzugreifen. Beispielsweise können Sie einem Dienstkonto für ein einzelnes Secret die Rolle "Secret Manager Secret Accessor" (roles/secretmanager.secretAccessor) zuweisen.

Wenn ein Hauptkonto nur ein einzelnes Secret verwalten muss, gewähren Sie dieses nicht die Möglichkeit, alle Secrets zu verwalten. Beispielsweise können Sie einem Dienstkonto für ein einzelnes Secret die Rolle „Secret Manager Admin“ (roles/secretmanager.admin) zuweisen.

IAM-Bedingungen

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

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

  • Datums-/Uhrzeitattribute: Zum Festlegen eines ablaufenden, geplanten oder begrenzten Zeitraums Zugriff auf Secret Manager-Ressourcen. Beispielsweise können Sie einem Nutzer bis zu einem bestimmten Datum Zugriff auf ein Secret gewähren.
  • Ressourcenattribute: Wird verwendet, um den bedingten Zugriff auf Basis eines Ressourcennamens, -typs, oder Ressourcendienst-Attribute. In Secret Manager können Sie Attribute von Secrets und Secret-Versionen, um den bedingten Zugriff zu konfigurieren. Sie können beispielsweise einem Nutzer die Verwaltung von Secret-Versionen auf Secrets erlauben, die mit einem bestimmten Präfix beginnen, oder einem Nutzer nur Zugriff auf eine bestimmte Secret-Version gewähren.

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

Nächste Schritte