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 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 Widerrufen des Zugriffs auf Ressourcen mithilfe von IAM-Rollen, siehe 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 einzelnes Secret verwalten muss, gewähren Sie dieses nicht die Möglichkeit, alle Secrets zu verwalten. Sie können beispielsweise einem Dienst Konto die Secret Manager-Administratorrolle (roles/secretmanager.admin) für ein einzelnes Secret zuweisen.

IAM-Bedingungen

IAM-Bedingungen können Sie eine bedingte, attributbasierte Zugriffssteuerung für Einige Google Cloud-Ressourcen, 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: Mit dieser Option können Sie den bedingten Zugriff basierend auf einem Ressourcennamen, einem Ressourcentyp oder Ressourcendienstattributen konfigurieren. In Secret Manager können Sie Attribute von Secrets und Secret-Versionen, um den bedingten Zugriff zu konfigurieren. Für Sie können z. B. zulassen, dass ein Nutzer Secret-Versionen nur für Secrets verwaltet, die mit einem bestimmten Präfix beginnen oder einem Nutzer nur Zugriff auf ein bestimmtes Secret gewähren Version.

Weitere Informationen zu IAM-Bedingungen finden Sie in der Bedingungen:

Nächste Schritte