Zugriffssteuerung mit IAM

In diesem Dokument werden die Zugriffssteuerungsoptionen beschrieben, die Ihnen in Secret Manager zur Verfügung stehen.

IAM-Rollen zuweisen

Secret Manager verwendet für die Zugriffssteuerung die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM). Zum Erstellen, Verwalten, Auflisten oder Aufrufen eines Secrets müssen die entsprechenden IAM-Berechtigungen auf Projektebene und auf der Ebene der einzelnen Ressourcen gewährt werden. Sie können eine oder mehrere vordefinierte Rollen zuweisen oder benutzerdefinierte Rollen erstellen und zuweisen. Für eine Secret-Version können keine IAM-Rollen zugewiesen werden.

So fügen Sie eine Rolle hinzu:

  1. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen

  2. Klicken Sie oben auf der Seite auf die Projektauswahl.

  3. Wählen Sie im angezeigten Dialogfeld Auswählen aus die Organisation aus, für die Sie Secret Manager aktivieren möchten.

  4. Klicken Sie auf der Seite "IAM" neben Ihrem Nutzernamen auf Bearbeiten.

  5. Fügen Sie im eingeblendeten Bereich Berechtigungen bearbeiten die erforderlichen Rollen hinzu.

    1. Klicken Sie auf Weitere Rolle hinzufügen. Wählen Sie eine Rolle aus, die hinzugefügt werden soll, z. B. Secret Manager Secret Accessor.

    2. Wiederholen Sie den vorherigen Schritt, um weitere Rollen hinzuzufügen. Klicken Sie auf Speichern.

Mit Identitäts- und Zugriffsverwaltungsrollen (Identity and Access Management, IAM) wird Ihnen vorab mitgeteilt, wie Sie die Secret Manager API verwenden können. In der folgenden Tabelle sind alle für Secret Manager verfügbaren IAM-Rollen und die ihr zugewiesenen Funktionen aufgeführt.

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.delete
  • secretmanager.secrets.get
  • secretmanager.secrets.getIamPolicy
  • secretmanager.secrets.list
  • 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.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. Sie hängen von der Ressourcenhierarchie ab, auf der die Rolle „Zugriffsfunktion für Secret Manager-Secrets“ (roles/secretmanager.secretAccessor) gewährt wurde.

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

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. Sie können einem Dienstkonto beispielsweise die Rolle „Secret Manager-Administrator“ (roles/secretmanager.admin) für ein einzelnes Secret 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:

  • Attribut "Datum/Uhrzeit": 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: Verwenden Sie diese Option, um den bedingten Zugriff basierend auf einem Ressourcennamen, einem Ressourcentyp oder Ressourcendienstattributen zu 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