Löschen von Schlüsselversionen steuern

Cloud de Confiance by S3NS bietet zwei Einschränkungen für Organisationsrichtlinien, um die Richtlinie zum Löschen von Schlüsselversionen für eine Organisation festzulegen:

  • constraints/cloudkms.minimumDestroyScheduledDuration wird verwendet, um eine Mindestdauer für den Status Zum Löschen vorgemerkt für neue Schlüssel in der Organisation festzulegen.
  • constraints/cloudkms.disableBeforeDestroy wird verwendet, um festzulegen, dass eine Schlüsselversion deaktiviert sein muss, bevor sie zum Löschen vorgemerkt werden kann.

Hinweis

Die Anleitung auf dieser Seite setzt voraus, dass Sie mit der Verwendung von Einschränkungen vertraut sind und über die erforderlichen Ressourcen und Rollen verfügen.

Erforderliche Ressourcen

Bevor Sie die Schritte auf dieser Seite ausführen können, benötigen Sie die folgenden Ressourcen:

  • Eine Organisation.
  • Optional: Eine Ordner- oder Projektressource in Ihrer Organisation.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die Organisationsrichtlinien-Administrator (roles/orgpolicy.policyAdmin) IAM-Rolle für die Organisation zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Organisationsrichtlinien benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Diese vordefinierte Rolle enthält die Berechtigungen, die zum Verwalten von Organisationsrichtlinien erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

Erforderliche Berechtigungen

Die folgenden Berechtigungen sind zum Verwalten von Organisationsrichtlinien erforderlich:

  • orgpolicy.constraints.list
  • orgpolicy.policies.create
  • orgpolicy.policies.delete
  • orgpolicy.policies.list
  • orgpolicy.policies.update
  • orgpolicy.policy.get
  • orgpolicy.policy.set

Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Mindestdauer für den Status Zum Löschen vorgemerkt festlegen

Mit der Einschränkung Mindestwert für die geplante Dauer für das Löschen pro Schlüssel (constraints/cloudkms.minimumDestroyScheduledDuration) wird eine Mindestdauer für den Status Zum Löschen vorgemerkt für neue Schlüssel festgelegt. Diese Einschränkung überschreibt die Mindestdauer für den Status Zum Löschen vorgemerkt auf Projekt-, Ordner- oder Organisationsebene. Diese Einschränkung verringert die Wahrscheinlichkeit, dass ein noch benötigter Schlüssel versehentlich gelöscht wird. Sie können diese Einschränkung auf einen höheren Wert festlegen, damit Sie Zeit haben, das Löschen des Schlüssels zu verhindern, bevor es irreversibel wird.

Verwenden Sie höhere Werte für diese Einschränkung, wenn das unerwünschte Löschen von Schlüsseln schädlicher wäre, z. B. für Produktionsdaten, die den Anforderungen an die Datenaufbewahrung unterliegen. Verwenden Sie niedrigere Werte für diese Einschränkung, wenn das unerwünschte Löschen von Schlüsseln weniger schädlich wäre, z. B. für Entwicklungs- oder Testumgebungen. Sie können auch niedrigere Werte verwenden, um ein rechtzeitiges kryptografisches Löschen zu ermöglichen. Da diese Einschränkung jedoch ein Mindestwert ist, kann sie nicht dafür sorgen, dass neue Schlüssel mit kurzen Zum Löschen vorgemerkt-Dauern erstellt werden.

So legen Sie eine Mindestdauer für den Status Zum Löschen vorgemerkt fest:

  1. Rufen Sie mit dem Befehl describe die aktuelle Richtlinie für die Organisationsressource ab. Dieser Befehl gibt die Richtlinie zurück, die direkt auf diese Ressource angewendet wird:

    gcloud org-policies describe \
      constraints/cloudkms.minimumDestroyScheduledDuration \
      --organization=ORGANIZATION_ID
    

    Ersetzen Sie ORGANIZATION_ID durch die eindeutige ID für die Organisationsressource. Organisations-ID wird als Dezimalzahl formatiert und darf keine führenden Nullen enthalten.

    Sie können die Organisationsrichtlinie auch für einen Ordner oder ein Projekt mit den --folder oder den --project Flags und der Ordner-ID bzw. Projekt-ID aufrufen.

    In der Antwort wird die aktuelle Organisationsrichtlinie zurückgegeben, sofern vorhanden. Die Ausgabe sieht etwa so aus:

    name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration
    spec:
      etag: COTP+KYGELiCmsoB
      inheritFromParent: true
      rules:
      - values:
          allowedValues:
          - in:7d
      updateTime: '2023-08-17T14:00:04.424051Z'
    

    Wenn keine Richtlinie festgelegt wurde, gibt der Befehl describe den Fehler NOT_FOUND zurück:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Legen Sie die Richtlinie für die Organisation mit dem Befehl set-policy fest. Dieser Befehl überschreibt alle Richtlinien, die derzeit an die Ressource angehängt sind.

    1. Erstellen Sie die temporäre Datei /tmp/policy.yaml zum Speichern der Richtlinie:

      name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration
      spec:
        rules:
        - values:
            allowedValues:
            - in:MINIMUM_DURATION
      

      Ersetzen Sie Folgendes:

      • ORGANIZATION_ID: die numerische ID Ihrer Organisation.
      • MINIMUM_DURATION: die Mindestdauer für den Status Zum Löschen vorgemerkt für Schlüssel in dieser Organisation in Tagen. Muss einer der folgenden Werte sein: 7d, 15d, 30d, 60d, 90d oder 120d.
    2. Führen Sie den Befehl set-policy aus:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Rufen Sie die aktuell geltende Richtlinie mit describe --effective auf: Durch diesen Befehl wird die Organisationsrichtlinie zurückgegeben, wie sie zu diesem Zeitpunkt in der Ressourcenhierarchie einschließlich Übernahme evaluiert wird.

    gcloud org-policies describe \
      constraints/cloudkms.minimumDestroyScheduledDuration --effective \
      --organization=ORGANIZATION_ID
    

    Die Ausgabe sieht etwa so aus:

    name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration
    spec:
      rules:
        - values:
            allowedValues:
            - 30d
            - 15d
            - 90d
            - 60d
            - 7d
            - 120d
    

    Da diese Organisationsrichtlinie auf Organisationsebene festgelegt wurde, wird sie übernommen von allen untergeordneten Ressourcen, für die eine Richtlinienübernahme möglich ist.

Festlegen, dass Schlüssel vor dem Löschen deaktiviert werden müssen

Mit der Einschränkung Restrict key destruction to disabled keys (constraints/cloudkms.disableBeforeDestroy) können Sie festlegen, dass ein Schlüssel deaktiviert sein muss, bevor Sie ihn zum Löschen vormerken können. Es wird empfohlen, einen Schlüssel vor dem Löschen zu deaktivieren, da Sie so prüfen können, ob der Schlüssel verwendet wird. Sie können diese Einschränkung mit einer sorgfältigen Richtlinie für Identity and Access Management kombinieren, um einen mehrstufigen Löschvorgang zu erstellen, der die Zusammenarbeit mehrerer Rollen erfordert.

Wenn Sie diese Einschränkung verwenden möchten, um einen mehrstufigen Löschvorgang zu erstellen, darf kein Nutzer sowohl die Berechtigung cloudkms.cryptoKeyVersions.update als auch cloudkms.cryptoKeyVersions.destroy haben. Für diesen Anwendungsfall müssen Sie benutzerdefinierte Rollen verwenden.

So legen Sie fest, dass ein Schlüssel den Status deaktiviert haben muss, bevor Sie ihn zum Löschen vormerken können:

gcloud

  1. Rufen Sie mit dem Befehl describe die aktuelle Richtlinie für die Organisationsressource ab. Dieser Befehl gibt die Richtlinie zurück, die direkt auf diese Ressource angewendet wird:

    gcloud org-policies describe \
      constraints/cloudkms.disableBeforeDestroy \
      --organization=ORGANIZATION_ID
    

    Ersetzen Sie ORGANIZATION_ID durch die eindeutige ID für die Organisationsressource. Organisations-ID wird als Dezimalzahl formatiert und darf keine führenden Nullen enthalten.

    Sie können die Organisationsrichtlinie auch für einen Ordner oder ein Projekt mit den --folder oder den --project Flags und der Ordner-ID bzw. Projekt-ID aufrufen.

    In der Antwort wird die aktuelle Organisationsrichtlinie zurückgegeben, sofern vorhanden. Die Ausgabe sieht etwa so aus:

    name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy
    spec:
      etag: CPvY+KYGENDwgxA=
      rules:
      - enforce: true
      updateTime: '2023-08-17T14:19:39.033618Z'
    

    Wenn keine Richtlinie festgelegt wurde, gibt der Befehl describe den Fehler NOT_FOUND zurück:

    ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
    
  2. Legen Sie die Richtlinie für die Organisation mit dem Befehl set-policy fest. Dieser Befehl überschreibt alle Richtlinien, die bereits an die Ressource angehängt sind.

    1. Erstellen Sie die temporäre Datei /tmp/policy.yaml zum Speichern der Richtlinie:

      name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy
      spec:
        rules:
        - enforce: true
      

      Ersetzen Sie ORGANIZATION_ID durch die eindeutige ID für die Organisationsressource.

    2. Führen Sie den Befehl set-policy aus:

      gcloud org-policies set-policy /tmp/policy.yaml
      
  3. Rufen Sie die aktuell geltende Richtlinie mit describe --effective auf: Durch diesen Befehl wird die Organisationsrichtlinie zurückgegeben, wie sie zu diesem Zeitpunkt in der Ressourcenhierarchie einschließlich Übernahme evaluiert wird.

    gcloud org-policies describe \
      constraints/cloudkms.disableBeforeDestroy --effective \
      --organization=ORGANIZATION_ID
    

    Die Ausgabe sieht etwa so aus:

    name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration
    spec:
      rules:
      - enforce: true
    

    Da diese Organisationsrichtlinie auf Organisationsebene festgelegt wurde, wird sie von allen untergeordneten Ressourcen, für die eine Richtlinienübernahme möglich ist, übernommen.

Nächste Schritte