Zugriffssteuerung mit IAM

Auf dieser Seite werden die IAM-Rollen (Identity and Access Management) beschrieben, mit denen Sie Secret Manager konfigurieren können. Rollen schränken die Fähigkeit eines Hauptkontos ein, auf Ressourcen zuzugreifen. Gewähren Sie immer nur den Mindestsatz an Berechtigungen, die für eine bestimmte Aufgabe erforderlich sind.

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 auf der Ebene der Ressourcenhierarchie, in der die Secret Manager-Rolle „Secret Accessor“ (roles/secretmanager.secretAccessor) gewährt wird.

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“, die roles/editor und roles/viewer jedoch 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 einziges Secret verwalten muss, sollte dieses Hauptkonto nicht die Möglichkeit erhalten, 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:

  • Datum/Uhrzeit-Attribute: Verwenden Sie diese Option, um den Zugriff auf Secret Manager-Ressourcen mit Ablaufdatum, geplant oder zeitlicher Dauer festzulegen. Beispielsweise können Sie einem Nutzer bis zu einem bestimmten Datum Zugriff auf ein Secret gewähren.
  • Ressourcenattribute: Mit dieser Option können Sie den bedingten Zugriff basierend auf einem Ressourcennamen, einem Ressourcentyp oder Ressourcendienstattributen konfigurieren. Im Secret Manager können Sie den bedingten Zugriff mithilfe von Attributen für Secrets und Secret-Versionen 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