Google Cloud bietet zwei Einschränkungen für Organisationsrichtlinien, um organisationsweit eine Richtlinie zum Löschen von Schlüsselversionen festzulegen:
- Mit
constraints/cloudkms.minimumDestroyScheduledDuration
wird eine Mindestdauer für die Dauer des geplanten Löschens neuer Schlüssel in der Organisation festgelegt. - Mit
constraints/cloudkms.disableBeforeDestroy
wird festgelegt, dass eine Schlüsselversion deaktiviert werden muss, bevor sie zum Löschen geplant werden kann.
Hinweise
Bei der Anleitung auf dieser Seite wird davon ausgegangen, 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: Ein Ordner oder eine Projektressource in Ihrer Organisation.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Organization policy administrator (roles/orgpolicy.policyAdmin
) 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 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 erforderlich, um Organisationsrichtlinien zu verwalten:
-
orgpolicy.constraints.list
-
orgpolicy.policies.create
-
orgpolicy.policies.delete
-
orgpolicy.policies.list
-
orgpolicy.policies.update
-
orgpolicy.policy.get
-
orgpolicy.policy.set
Möglicherweise können Sie diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Mindestdauer für zum Löschen vorgemerkt festlegen
Mit der Einschränkung Mindestdauer des geplanten Löschens pro Schlüssel (constraints/cloudkms.minimumDestroyScheduledDurations
) wird eine Mindestlänge für die Dauer des geplanten Löschens neuer Schlüssel festgelegt. Diese Einschränkung überschreibt die Mindestdauer für das geplante Löschen auf Projekt-, Ordner- oder Organisationsebene. Diese Einschränkung verringert die Wahrscheinlichkeit, dass ein Schlüssel versehentlich gelöscht wird, der noch benötigt wird. Sie können diese Einschränkung auf einen höheren Wert setzen, um das Löschen von Schlüsseln zu verhindern, bevor der Schlüssel unumkehrbar wird.
Verwenden Sie höhere Werte für diese Einschränkung, wenn das Löschen von ungewollten Schlüsseln schädlicher wäre, z. B. bei Produktionsdaten, die den Anforderungen an die Datenaufbewahrung unterliegen. Verwenden Sie niedrigere Werte für diese Einschränkung, wenn ein unerwünschtes Löschen von Schlüsseln weniger schädlich wäre, z. B. in Entwicklungs- oder Testumgebungen. Sie können auch niedrigere Werte verwenden, um ein zeitnahes Krypto-Shredding zu ermöglichen. Als Mindestwert kann mit dieser Einschränkung jedoch nicht sichergestellt werden, dass neue Schlüssel mit einer kurzen geplanten Löschdauer erstellt werden.
So legen Sie eine Mindestdauer für das Löschen geplant fest:
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.minimumDestroyScheduledDurations \ --organization=ORGANIZATION_ID
Ersetzen Sie
ORGANIZATION_ID
durch die eindeutige Kennzeichnung der Organisationsressource. Die Organisations-ID ist als Dezimalzahlen formatiert und darf keine Nullen vorangestellt sein.Sie können die Organisationsrichtlinie für einen Ordner oder ein Projekt auch mit dem Flag
--folder
oder--project
und der Ordner-ID bzw. Projekt-ID aufrufen.Die Antwort gibt die aktuelle Organisationsrichtlinie zurück, falls vorhanden. Die Ausgabe sieht in 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 ist, gibt der Befehl
describe
den FehlerNOT_FOUND
zurück:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
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.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 des 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
oder120d
.
Führen Sie den Befehl
set-policy
aus:gcloud org-policies set-policy /tmp/policy.yaml
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.minimumDestroyScheduledDurations --effective \ --organization=ORGANIZATION_ID
Die Ausgabe sieht in etwa so aus:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDurations spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120d
Da diese Organisationsrichtlinie auf Organisationsebene festgelegt wurde, wird sie von allen untergeordneten Ressourcen übernommen, für die eine Übernahme möglich ist.
Schlüssel müssen vor dem Löschen deaktiviert werden
Mit der Einschränkung Löschen von Schlüsseln auf deaktivierte Schlüssel beschränken (constraints/cloudkms.disableBeforeDestroy
) können Sie verlangen, dass ein Schlüssel deaktiviert wurde, bevor Sie das Löschen des Schlüssels planen können.
Es wird empfohlen, einen Schlüssel vor dem Löschen zu deaktivieren, da Sie so prüfen können, ob er nicht verwendet wird. Sie können diese Einschränkung mit einer sorgfältigen Identity and Access Management-Richtlinie kombinieren, um einen mehrstufigen Zerstörungsprozess zu erstellen, der die Zusammenarbeit mehrerer Rollen erfordert.
Wenn Sie diese Einschränkung zum Erstellen eines mehrstufigen Löschvorgangs verwenden möchten, darf kein Nutzer die Berechtigungen cloudkms.cryptoKeyVersions.update
und cloudkms.cryptoKeyVersions.destroy
haben. Für diesen Anwendungsfall müssen Sie benutzerdefinierte Rollen verwenden.
So können Sie das Löschen eines Schlüssels planen, damit ein Schlüssel den Status Deaktiviert hat:
gcloud
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 Kennzeichnung der Organisationsressource. Die Organisations-ID ist als Dezimalzahlen formatiert und darf keine Nullen vorangestellt sein.Sie können die Organisationsrichtlinie für einen Ordner oder ein Projekt auch mit dem Flag
--folder
oder--project
und der Ordner-ID bzw. Projekt-ID aufrufen.Die Antwort gibt die aktuelle Organisationsrichtlinie zurück, falls vorhanden. Die entsprechende 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 ist, gibt der Befehl
describe
den FehlerNOT_FOUND
zurück:ERROR: (gcloud.org-policies.describe) NOT_FOUND: Requested entity was not found.
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.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 Kennzeichnung der Organisationsressource.Führen Sie den Befehl
set-policy
aus:gcloud org-policies set-policy /tmp/policy.yaml
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 in etwa so aus:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDurations spec: rules: - enforce: true
Da diese Organisationsrichtlinie auf Organisationsebene festgelegt wurde, wird sie von allen untergeordneten Ressourcen, für die eine Übernahme möglich ist, übernommen.
Nächste Schritte
- Weitere Informationen zum Status von Schlüsselversionen
- Schlüsselversion löschen und wiederherstellen