Google Cloud bietet zwei Einschränkungen für Organisationsrichtlinien, mit denen die Richtlinie zum Löschen von Schlüsselversionen für eine Organisation festgelegt werden kann:
- Mit
constraints/cloudkms.minimumDestroyScheduledDurationwird eine Mindestlänge für den Status Löschen geplant für neue Schlüssel in der Organisation festgelegt. - Mit
constraints/cloudkms.disableBeforeDestroywird festgelegt, dass eine Schlüsselversion deaktiviert sein muss, bevor sie zum Löschen vorgemerkt werden kann.
Hinweise
Die Anleitung auf dieser Seite setzt voraus, dass Sie mit der Verwendung von Einschränkungen vertraut sind und die erforderlichen Ressourcen und Rollen haben.
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 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 für die Verwaltung 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 Geplant für Löschung erforderlich
Mit der Einschränkung Mindestwert für die geplante Dauer für das Löschen pro Schlüssel (constraints/cloudkms.minimumDestroyScheduledDuration) wird eine Mindestlänge für den Status Löschen geplant für neue Schlüssel festgelegt. Diese Einschränkung überschreibt die Mindestdauer zur Vernichtung geplant auf Projekt-, Ordner- oder Organisationsebene. Diese Einschränkung verringert die Wahrscheinlichkeit, dass ein noch benötigter Schlüssel versehentlich zerstört wird. Sie können diese Einschränkung auf einen höheren Wert festlegen, damit Sie genügend Zeit haben, die Vernichtung von Schlüsseln zu verhindern, bevor sie irreversibel wird.
Verwenden Sie höhere Werte für diese Einschränkung, wenn eine unerwünschte Schlüsselvernichtung schädlicher wäre, z. B. für Produktionsdaten, die den Anforderungen zur Datenaufbewahrung unterliegen. Verwenden Sie niedrigere Werte für diese Einschränkung, wenn eine unerwünschte Vernichtung von Schlüsseln weniger schädlich wäre, z. B. in Entwicklungs- oder Testumgebungen. Sie können auch niedrigere Werte verwenden, um ein rechtzeitiges Crypto-Shredding zu ermöglichen. Als Mindestwert kann diese Einschränkung jedoch nicht dafür sorgen, dass neue Schlüssel mit einer kurzen geplanten Dauer für das Löschen erstellt werden.
So legen Sie eine Mindestdauer für geplante Löschungen fest:
Rufen Sie mit dem Befehl
describedie 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_IDErsetzen Sie
ORGANIZATION_IDdurch die eindeutige Kennung für die Organisationsressource. Die Organisations-ID ist als Dezimalzahl formatiert und darf keine führenden Nullen enthalten.Sie können die Organisationsrichtlinie für einen Ordner oder ein Projekt auch mit dem Flag
--folderoder--projectund der entsprechenden 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
describeden FehlerNOT_FOUNDzurü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-policyfest. Dieser Befehl überschreibt alle Richtlinien, die derzeit an die Ressource angehängt sind.Erstellen Sie die temporäre Datei
/tmp/policy.yamlzum Speichern der Richtlinie:name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - in:MINIMUM_DURATIONErsetzen Sie Folgendes:
ORGANIZATION_ID: die numerische ID Ihrer Organisation.MINIMUM_DURATION: Die Mindestdauer für den Status Löschen geplant für Schlüssel in dieser Organisation in Tagen. Muss einer der folgenden Werte sein:7d,15d,30d,60d,90doder120d.
Führen Sie den Befehl
set-policyaus:gcloud org-policies set-policy /tmp/policy.yaml
Rufen Sie die aktuell geltende Richtlinie mit
describe --effectiveauf: 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_IDDie Ausgabe sieht etwa so aus:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - values: allowedValues: - 30d - 15d - 90d - 60d - 7d - 120dDa diese Organisationsrichtlinie auf Organisationsebene festgelegt wurde, wird sie von allen untergeordneten Ressourcen, für die eine Richtlinienübernahme möglich ist, übernommen.
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 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, um zu prüfen, ob er nicht verwendet wird. Sie können diese Einschränkung mit einer sorgfältigen IAM-Richtlinie (Identity and Access Management) kombinieren, um einen mehrstufigen Vernichtungsprozess zu erstellen, der die Zusammenarbeit mehrerer Rollen erfordert.
Wenn Sie diese Einschränkung verwenden möchten, um einen mehrstufigen Vernichtungsprozess zu erstellen, achten Sie darauf, dass kein Nutzer sowohl die Berechtigung cloudkms.cryptoKeyVersions.update als auch die Berechtigung cloudkms.cryptoKeyVersions.destroy hat. Für diesen Anwendungsfall müssen Sie benutzerdefinierte Rollen verwenden.
Wenn Sie festlegen möchten, dass ein Schlüssel den Status Deaktiviert haben muss, bevor Sie ihn zum Löschen vormerken können, gehen Sie so vor:
gcloud
Rufen Sie mit dem Befehl
describedie 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_IDErsetzen Sie
ORGANIZATION_IDdurch die eindeutige Kennung für die Organisationsressource. Die Organisations-ID ist als Dezimalzahl formatiert und darf keine führenden Nullen enthalten.Sie können die Organisationsrichtlinie für einen Ordner oder ein Projekt auch mit dem Flag
--folderoder--projectund der entsprechenden Ordner-ID bzw. Projekt-ID aufrufen.In der Antwort wird die aktuelle Organisationsrichtlinie zurückgegeben, sofern 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 wurde, gibt der Befehl
describeden FehlerNOT_FOUNDzurü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-policyfest. Dieser Befehl überschreibt alle Richtlinien, die bereits an die Ressource angehängt sind.Erstellen Sie die temporäre Datei
/tmp/policy.yamlzum Speichern der Richtlinie:name: organizations/ORGANIZATION_ID/policies/cloudkms.disableBeforeDestroy spec: rules: - enforce: trueErsetzen Sie
ORGANIZATION_IDdurch die eindeutige Kennung für die Organisationsressource.Führen Sie den Befehl
set-policyaus:gcloud org-policies set-policy /tmp/policy.yaml
Rufen Sie die aktuell geltende Richtlinie mit
describe --effectiveauf: 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_IDDie Ausgabe sieht etwa so aus:
name: organizations/ORGANIZATION_ID/policies/cloudkms.minimumDestroyScheduledDuration spec: rules: - enforce: trueDa diese Organisationsrichtlinie auf Organisationsebene festgelegt wurde, wird sie von allen untergeordneten Ressourcen, für die eine Richtlinienübernahme möglich ist, übernommen.