Auf dieser Seite werden Best Practices für die Konfiguration der Ruhedatenverschlüsselung mit vom Kunden verwalteten Verschlüsselungsschlüsseln (Customer-Managed Encryption Keys, CMEKs) für Ihre Google Cloud -Ressourcen beschrieben. Dieser Leitfaden richtet sich an Cloud-Architekten und Sicherheitsteams und enthält Best Practices und Entscheidungen, die Sie beim Entwerfen Ihrer CMEK-Architektur treffen müssen.
In diesem Leitfaden wird davon ausgegangen, dass Sie mit dem Cloud Key Management Service (Cloud KMS) und vom Kunden verwalteten Verschlüsselungsschlüsseln vertraut sind und den Detaillierten Artikel zu Cloud KMS gelesen haben.Vorläufige Entscheidungen
Die Empfehlungen auf dieser Seite richten sich an Kunden, die ihre Daten mit CMEKs verschlüsseln. Wenn Sie sich nicht sicher sind, ob Sie manuell oder automatisch erstellte CMEKs als Teil Ihrer Sicherheitsstrategie verwenden sollten, finden Sie in diesem Abschnitt Informationen zu diesen vorläufigen Entscheidungen.
Entscheiden, ob CMEK verwendet werden soll
Wir empfehlen die Verwendung von CMEK, um ruhende Daten in den Diensten Google Cloudzu verschlüsseln, wenn Sie eine der folgenden Funktionen benötigen:
Sie haben die Kontrolle über Ihre Verschlüsselungsschlüssel.
Sie können Ihre Verschlüsselungsschlüssel steuern und verwalten, einschließlich Speicherort, Schutzlevel, Erstellung, Zugriffssteuerung, Rotation, Verwendung und Vernichtung.
Generieren Sie Schlüsselmaterial in Cloud KMS oder importieren Sie Schlüsselmaterial, das außerhalb von Google Cloudverwaltet wird.
Legen Sie eine Richtlinie fest, wo Ihre Schlüssel verwendet werden müssen.
Sie können Daten, die durch Ihre Schlüssel geschützt sind, beim Offboarding oder zur Behebung von Sicherheitsereignissen selektiv löschen (Crypto-Shredding).
Erstellen und verwenden Sie Schlüssel, die für einen Kunden eindeutig sind, und schaffen Sie so eine kryptografische Grenze um Ihre Daten.
Administratorzugriff und Datenzugriff auf Verschlüsselungsschlüssel protokollieren
Sie müssen aktuelle oder zukünftige Bestimmungen einhalten, die eines dieser Ziele erfordern.
Manuelle oder automatische Schlüsselerstellung auswählen
In diesem Leitfaden werden Best Practices für Entscheidungen beschrieben, die Sie bei der eigenständigen Bereitstellung von CMEKs treffen müssen. Cloud KMS Autokey trifft einige dieser Entscheidungen für Sie und automatisiert viele Empfehlungen aus diesem Leitfaden. Die Verwendung von Autokey ist einfacher als die Bereitstellung von Schlüsseln. Sie wird empfohlen, wenn die von Autokey erstellten Schlüssel alle Anforderungen erfüllen.
Autokey stellt CMEKs für Sie bereit. Die von Autokey bereitgestellten CMEKs haben folgende Eigenschaften:
- Schutzniveau:HSM
- Algorithmus:AES-256 GCM.
Rotationszeitraum:Ein Jahr.
Nachdem ein Schlüssel von Autokey erstellt wurde, kann ein Cloud KMS-Administrator den Rotationszeitraum vom Standardwert bearbeiten.
- Aufgabentrennung:
- Dem Dienstkonto für den Dienst werden automatisch Berechtigungen zum Verschlüsseln und Entschlüsseln des Schlüssels gewährt.
- Cloud KMS-Administratorberechtigungen gelten wie gewohnt für von Autokey erstellte Schlüssel. Cloud KMS-Administratoren können von Autokey erstellte Schlüssel aufrufen, aktualisieren, aktivieren oder deaktivieren und löschen. Cloud KMS-Administratoren erhalten keine Berechtigungen zum Verschlüsseln und Entschlüsseln.
- Autokey-Entwickler können nur die Erstellung und Zuweisung von Schlüsseln anfordern. Sie können keine Schlüssel ansehen oder verwalten.
- Schlüsselspezifität oder Detaillierung:Die Detaillierung von Autokey-Schlüsseln variiert je nach Ressourcentyp. Dienstspezifische Details zur Schlüsselgranularität finden Sie unter Kompatible Dienste.
Speicherort:Autokey erstellt Schlüssel am selben Speicherort wie die zu schützende Ressource.
Wenn Sie CMEK-geschützte Ressourcen an Orten erstellen müssen, an denen Cloud HSM nicht verfügbar ist, müssen Sie CMEK manuell erstellen.
- Status der Schlüsselversion:Neu erstellte Schlüssel, die mit Autokey angefordert werden, werden als Primärschlüsselversion im aktivierten Status erstellt.
- Name des Schlüsselbunds:Alle von Autokey erstellten Schlüssel werden im Autokey-Projekt am ausgewählten Standort in einem Schlüsselbund namens
autokey
erstellt. Schlüsselbunde in Ihrem Autokey-Projekt werden erstellt, wenn ein Autokey-Entwickler den ersten Schlüssel an einem bestimmten Standort anfordert. - Schlüsselbenennung:Von Autokey erstellte Schlüssel folgen dieser Benennungskonvention:
PROJECT_NUMBER-SERVICE_SHORT_NAME-RANDOM_HEX
- Schlüsselexport:Wie alle Cloud KMS-Schlüssel können auch von Autokey erstellte Schlüssel nicht exportiert werden.
- Schlüssel-Tracking:Wie alle Cloud KMS-Schlüssel, die in CMEK-integrierten Diensten verwendet werden, die mit Schlüssel-Tracking kompatibel sind, werden von Autokey erstellte Schlüssel im Cloud KMS-Dashboard erfasst.
Wenn Sie Anforderungen haben, die mit von Autokey erstellten Schlüsseln nicht erfüllt werden können, z. B. ein anderes Schutzniveau als HSM
oder Dienste, die nicht mit Autokey kompatibel sind, empfehlen wir, manuell erstellte CMEKs anstelle von Autokey zu verwenden.
CMEK-Architektur entwerfen
Beim Entwerfen einer CMEK-Architektur müssen Sie die Konfiguration der verwendeten Schlüssel und die Verwaltung dieser Schlüssel berücksichtigen. Diese Entscheidungen wirken sich auf Ihre Kosten, den Betriebsaufwand und die einfache Implementierung von Funktionen wie dem Krypto-Schreddern aus.
In den folgenden Abschnitten werden Empfehlungen für die einzelnen Designoptionen erläutert.
Zentrales CMEK-Schlüsselprojekt für jede Umgebung verwenden
Wir empfehlen, für jeden Umgebungsordner ein zentrales CMEK-Schlüsselprojekt zu verwenden. Erstellen Sie keine mit CMEK verschlüsselten Ressourcen im selben Projekt, in dem Sie Cloud KMS-Schlüssel verwalten. Dieser Ansatz trägt dazu bei, die Freigabe von Verschlüsselungsschlüsseln zwischen Umgebungen zu verhindern und die Aufgabentrennung zu ermöglichen.
Das folgende Diagramm veranschaulicht diese Konzepte im empfohlenen Design:
- Jeder Umgebungsordner hat ein Cloud KMS-Schlüsselprojekt, das separat von Anwendungsprojekten verwaltet wird.
- Cloud KMS-Schlüsselringe und ‑Schlüssel werden im Cloud KMS-Schlüsselprojekt bereitgestellt. Diese Schlüssel werden zum Verschlüsseln von Ressourcen in den Anwendungsprojekten verwendet.
- IAM-Richtlinien (Identity and Access Management) werden auf Projekte oder Ordner angewendet, um eine Aufgabentrennung zu ermöglichen. Der Nutzer, der Cloud KMS-Schlüssel im Cloud KMS-Schlüsselprojekt verwaltet, ist nicht derselbe Nutzer, der die Verschlüsselungsschlüssel in Anwendungsprojekten verwendet.
Cloud KMS-Schlüsselbunde für jeden Speicherort erstellen
Sie müssen Cloud KMS-Schlüsselringe an den Speicherorten erstellen, an denen Sie mit CMEK verschlüsselteGoogle Cloud -Ressourcen bereitstellen.
- Für regionale und zonale Ressourcen müssen ein Schlüsselbund und ein CMEK in derselben Region wie die Ressource oder am Speicherort
global
verwendet werden. Für Ressourcen mit einer einzelnen Region und zonale Ressourcen kann nurglobal
als Multi-Region-Schlüsselbund verwendet werden. - Für multiregionale Ressourcen (z. B. ein BigQuery-Dataset in der Multiregion
us
) müssen ein Schlüsselring und ein CMEK in derselben Multiregion oder Biregion verwendet werden. Für multiregionale Ressourcen kann kein regionaler Schlüsselbund verwendet werden. - Für globale Ressourcen muss ein Schlüsselbund und CMEK am Standort
global
verwendet werden.
Die Erzwingung regionaler Schlüssel ist ein Teil einer Strategie zur Datenregionalisierung. Wenn Sie die Verwendung von Schlüsselbünden und Schlüsseln in einer bestimmten Region erzwingen, erzwingen Sie auch, dass Ressourcen mit der Region des Schlüsselbunds übereinstimmen müssen. Informationen zum Datenstandort finden Sie unter Anforderungen an den Datenstandort und die Datenhoheit umsetzen.
Bei Arbeitslasten, für die Hochverfügbarkeit oder Notfallwiederherstellung an mehreren Standorten erforderlich sind, müssen Sie selbst prüfen, ob Ihre Arbeitslast für den Fall gewappnet ist, dass Cloud KMS in einer bestimmten Region nicht verfügbar ist. Ein nichtflüchtiger Compute Engine-Speicher, der mit einem Cloud KMS-Schlüssel aus Region A verschlüsselt ist, kann beispielsweise in Region B nicht neu erstellt werden, wenn Region A nicht verfügbar ist. Um das Risiko dieses Szenarios zu minimieren, können Sie eine Ressource mit global
-Schlüsseln verschlüsseln.
Weitere Informationen finden Sie unter Den besten Standorttyp auswählen.
Wenn Sie Cloud KMS Autokey verwenden, werden Schlüsselringe für Sie am selben Speicherort wie die zu schützenden Ressourcen erstellt.
Strategie für den Detaillierungsgrad von Schlüsseln auswählen
Die Detaillierung bezieht sich auf den Umfang und die beabsichtigte Verwendung der einzelnen Schlüssel. Ein Schlüssel, der mehrere Ressourcen schützt, ist beispielsweise weniger granular als ein Schlüssel, der nur eine Ressource schützt.
Manuell bereitgestellte Cloud KMS-Schlüssel für CMEK müssen vorab bereitgestellt werden, bevor eine Ressource erstellt wird, die mit dem Schlüssel verschlüsselt wird, z. B. ein persistenter Compute Engine-Datenträger. Sie können sehr detaillierte Schlüssel für einzelne Ressourcen oder weniger detaillierte Schlüssel für die Wiederverwendung in verschiedenen Ressourcen erstellen.
Es gibt zwar kein allgemeingültiges Muster, aber die folgenden Vor- und Nachteile verschiedener Muster sollten Sie berücksichtigen:
Schlüssel mit hoher Detaillierung, z. B. ein Schlüssel für jede einzelne Ressource
- Mehr Kontrolle zum sicheren Deaktivieren von Schlüsselversionen:Wenn Sie eine Schlüsselversion deaktivieren oder zerstören, die nur für einen begrenzten Umfang verwendet wird, ist das Risiko geringer, dass andere Ressourcen betroffen sind, als wenn Sie einen freigegebenen Schlüssel deaktivieren oder zerstören. Das bedeutet auch, dass die Verwendung hochgradig detaillierter Schlüssel die potenziellen Auswirkungen eines manipulierten Schlüssels im Vergleich zur Verwendung von Schlüsseln mit geringer Granularität verringert.
- Kosten:Bei der Verwendung von detaillierten Schlüsseln müssen mehr aktive Schlüsselversionen verwaltet werden als bei einer Strategie mit weniger detaillierten Schlüsseln. Da sich die Cloud KMS-Preise nach der Anzahl der aktiven Schlüsselversionen richten, führt eine höhere Schlüsselgranularität zu höheren Kosten.
- Betrieblicher Overhead: Die Verwendung sehr detaillierter Schlüssel erfordert möglicherweise administrativen Aufwand oder zusätzliche Tools zur Automatisierung, um eine große Anzahl von Cloud KMS-Ressourcen bereitzustellen und Zugriffssteuerungen für Kundenservicemitarbeiter zu verwalten, damit sie nur die entsprechenden Schlüssel verwenden können. Wenn Sie Schlüssel mit hoher Granularität benötigen, ist Autokey eine gute Wahl, um die Bereitstellung zu automatisieren. Weitere Informationen zur Granularität von Autokey-Schlüsseln für die einzelnen Dienste finden Sie unter Kompatible Dienste.
Schlüssel mit geringer Granularität, z. B. ein Schlüssel für jede Anwendung, jede Region und jede Umgebung
- Vorsicht beim Deaktivieren von Schlüsselversionen: Das Deaktivieren oder Löschen einer Schlüsselversion, die für einen umfassenden Bereich verwendet wird, erfordert mehr Sorgfalt als das Deaktivieren oder Löschen eines sehr detaillierten Schlüssels. Sie müssen dafür sorgen, dass alle mit dieser Schlüsselversion verschlüsselten Ressourcen mit einer neuen Schlüsselversion sicher neu verschlüsselt werden, bevor Sie die alte Schlüsselversion deaktivieren. Bei vielen Ressourcentypen können Sie die Schlüsselnutzung ansehen, um zu ermitteln, wo ein Schlüssel verwendet wurde. Das bedeutet auch, dass die Verwendung von Schlüsseln mit geringer Granularität im Vergleich zur Verwendung von Schlüsseln mit hoher Granularität die potenziellen Auswirkungen eines manipulierten Schlüssels erhöhen kann.
- Kosten: Bei weniger detaillierten Schlüsseln müssen weniger Schlüsselversionen erstellt werden. Die Cloud KMS-Preise richten sich nach der Anzahl der aktiven Schlüsselversionen.
- Betrieblicher Overhead:Sie können eine bekannte Anzahl von Schlüsseln definieren und vorab bereitstellen. Die entsprechenden Zugriffssteuerungen sind dann mit weniger Aufwand möglich.
Schutzniveau für Schlüssel auswählen
Beim Erstellen eines Schlüssels müssen Sie die Schutzebene auswählen, die für jeden Schlüssel geeignet ist. Dabei müssen Sie Ihre Anforderungen an die mit CMEK verschlüsselten Daten und Arbeitslasten berücksichtigen. Die folgenden Fragen können Ihnen bei der Bewertung helfen:
Benötigen Sie eine der CMEK-Funktionen? Die Funktionen finden Sie auf dieser Seite unter Entscheiden, ob CMEK verwendet werden soll.
- Falls ja, fahren Sie mit der nächsten Frage fort.
- Andernfalls empfehlen wir die Verwendung der Google Cloud -Standardverschlüsselung.
Müssen Ihre Schlüssel innerhalb der physischen Grenzen eines Hardware Security Modules (HSM) bleiben?
- Falls ja, fahren Sie mit der nächsten Frage fort.
- Andernfalls empfehlen wir die Verwendung von CMEK mit softwaregestützten Schlüsseln.
Müssen Schlüsselmaterialien außerhalb von Google Cloudgespeichert werden?
- In diesem Fall empfehlen wir CMEK mit Cloud External Key Manager.
- Andernfalls empfehlen wir CMEK mit Cloud HSM (auf Hardware gesicherte Schlüssel).
Verwenden Sie nach Möglichkeit von Google Cloudgeneriertes Schlüsselmaterial.
Dieser Abschnitt gilt nicht für Cloud EKM-Schlüssel.
Wenn Sie einen Schlüssel erstellen, müssen Sie entweder zulassen, dass Cloud KMS das Schlüsselmaterial für Sie generiert, oder außerhalb von Google Cloudgeneriertes Schlüsselmaterial manuell importieren. Wir empfehlen, nach Möglichkeit die generierte Option auszuwählen. Bei dieser Option wird das Rohschlüsselmaterial nicht außerhalb von Cloud KMS freigegeben. Außerdem werden automatisch neue Schlüsselversionen basierend auf dem von Ihnen ausgewählten Schlüsselrotationszeitraum erstellt. Wenn Sie die Option zum Importieren eigener Schlüsselmaterialien benötigen, sollten Sie die folgenden betrieblichen Überlegungen und Risiken der Verwendung des BYOK-Ansatzes (Bring Your Own Key) berücksichtigen:
- Können Sie eine Automatisierung implementieren, um neue Schlüsselversionen konsistent zu importieren? Dazu gehören sowohl Cloud KMS-Einstellungen, mit denen Schlüsselversionen nur für den Import eingeschränkt werden, als auch Automatisierungen außerhalb von Cloud KMS, um Schlüsselmaterial konsistent zu generieren und zu importieren. Was passiert, wenn Ihre Automatisierung die neue Schlüsselversion nicht zur erwarteten Zeit erstellt?
- Wie beabsichtigen Sie, das ursprüngliche Schlüsselmaterial sicher zu speichern oder in Treuhänderschaft zu geben?
- Wie können Sie das Risiko verringern, dass beim Importieren von Schlüsseln das Rohschlüsselmaterial preisgegeben wird?
- Was sind die Auswirkungen, wenn Sie einen zuvor gelöschten Schlüssel wieder importieren, weil das Rohschlüsselmaterial außerhalb von Google Cloudaufbewahrt wurde?
- Rechtfertigen die Vorteile des Importierens von Schlüsselmaterial selbst den erhöhten operativen Aufwand und das Risiko?
Den richtigen Schlüsselzweck und Algorithmus für Ihre Anforderungen auswählen
Wenn Sie einen Schlüssel erstellen, müssen Sie den Zweck und den zugrunde liegenden Algorithmus für den Schlüssel auswählen. Für CMEK-Anwendungsfälle können nur Schlüssel mit dem symmetrischen Zweck ENCRYPT_DECRYPT
verwendet werden. Für diesen Schlüsselzweck wird immer der Algorithmus GOOGLE_SYMMETRIC_ENCRYPTION
verwendet, der AES-Schlüssel (Advanced Encryption Standard) mit 256 Bit im Galois Counter Mode (GCM) nutzt, die mit Cloud KMS-internen Metadaten aufgefüllt sind. Wenn Sie Autoschlüssel verwenden, werden diese Einstellungen automatisch für Sie angewendet.
Für andere Anwendungsfälle wie die clientseitige Verschlüsselung können Sie die verfügbaren Schlüsselzwecke und Algorithmen prüfen, um die für Ihren Anwendungsfall am besten geeignete Option auszuwählen.
Rotationszeitraum auswählen
Wir empfehlen Ihnen, die für Ihre Anforderungen geeignete Schlüsselrotation zu ermitteln. Die Häufigkeit der Schlüsselrotation hängt von den Anforderungen Ihrer Arbeitslasten ab, die sich auf Vertraulichkeit oder Compliance beziehen. Beispielsweise kann die Schlüsselrotation mindestens einmal jährlich erforderlich sein, um bestimmte Compliance-Standards zu erfüllen. Für besonders sensible Arbeitslasten können Sie auch einen kürzeren Rotationszeitraum wählen.
Nach dem Rotieren eines symmetrischen Schlüssels wird die neue Version als primäre Schlüsselversion markiert und für alle neuen Anfragen zum Schutz von Informationen verwendet. Die alten Schlüsselversionen können weiterhin verwendet werden, um zuvor mit dieser Version verschlüsselte Daten zu entschlüsseln. Wenn Sie einen Schlüssel rotieren, werden Daten, die mit früheren Schlüsselversionen verschlüsselt wurden, nicht automatisch neu verschlüsselt.
Durch häufiges Schlüsselrotieren wird die Anzahl der Nachrichten begrenzt, die mit derselben Schlüsselversion verschlüsselt werden. Das Risiko und die Folgen eines Schlüsselmissbrauchs werden dadurch reduziert.
Wenn Sie Autokey verwenden, werden Schlüssel mit einem Standardzeitraum für die Schlüsselrotation von einem Jahr erstellt. Sie können den Rotationszeitraum für Schlüssel nach dem Erstellen ändern.Entsprechende Zugriffssteuerungen anwenden
Wir empfehlen, bei der Planung von Zugriffssteuerungen die Prinzipien der geringsten Berechtigung und der Aufgabentrennung zu berücksichtigen. In den folgenden Abschnitten werden diese Empfehlungen vorgestellt.
Prinzip der geringsten Berechtigung anwenden
Berücksichtigen Sie beim Zuweisen von Berechtigungen zum Verwalten von CMEKs das Prinzip der geringsten Berechtigung und gewähren Sie die Mindestberechtigungen, die zum Ausführen einer Aufgabe erforderlich sind. Wir empfehlen dringend, einfache Rollen zu vermeiden. Weisen Sie stattdessen vordefinierte Cloud KMS-Rollen zu, um das Risiko von Sicherheitsvorfällen im Zusammenhang mit zu weitreichenden Zugriffsberechtigungen zu verringern.
Verstöße gegen dieses Prinzip und damit verbundene Probleme können automatisch durch Security Command Center-Ergebnisse zu IAM-Sicherheitslücken erkannt werden.Aufgabentrennung planen
Verwenden Sie separate Identitäten und Berechtigungen für die Personen, die Ihre Verschlüsselungsschlüssel verwalten, und die Personen, die sie verwenden. NIST SP 800-152 definiert eine Aufgabentrennung zwischen dem Krypto-Verantwortlichen, der die Dienste eines kryptografischen Schlüsselverwaltungssystems aktiviert und verwaltet, und einem Nutzer, der diese Schlüssel zum Verschlüsseln oder Entschlüsseln von Ressourcen verwendet.
Wenn Sie CMEK zum Verwalten der Ruhedatenträgerverschlüsselung mit den Diensten Google Cloud verwenden, wird die IAM-Rolle für die Verwendung von Verschlüsselungsschlüsseln dem Dienstagenten des Dienstes Google Cloud zugewiesen, nicht dem einzelnen Nutzer. Wenn ein Nutzer beispielsweise Objekte in einem verschlüsselten Cloud Storage-Bucket erstellen möchte, benötigt er nur die IAM-Rolle roles/storage.objectCreator
. Der Cloud Storage-Dienst-Agent im selben Projekt (z. B. service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.com
) benötigt die IAM-Rolle roles/cloudkms.cryptoKeyEncrypterDecrypter
.
In der folgenden Tabelle sind die IAM-Rollen aufgeführt, die in der Regel mit den einzelnen Aufgabenbereichen verknüpft sind:
IAM-Rolle | Beschreibung | Kennzeichnung gemäß NIST SP 800-152 |
---|---|---|
roles/cloudkms.admin |
Ermöglicht Zugriff auf Cloud KMS-Ressourcen mit Ausnahme von eingeschränkten Ressourcentypen und kryptografischen Vorgängen. | Kryptografischer Officers |
roles/cloudkms.cryptoKeyEncrypterDecrypter |
Bietet die Möglichkeit, Cloud KMS-Ressourcen nur für encrypt - und decrypt -Vorgänge zu verwenden. |
Nutzer des Systems zur kryptografischen Schlüsselverwaltung |
roles/cloudkms.viewer |
Ermöglicht get - und list -Vorgänge. |
Audit-Administratoren |
CMEK konsequent erzwingen
In den folgenden Abschnitten werden zusätzliche Steuerelemente beschrieben, mit denen Risiken wie inkonsistente Schlüsselnutzung oder versehentliches Löschen oder Vernichten minimiert werden können.
Projektpfändungen erzwingen
Wir empfehlen, Projekte mit Sperren zu schützen, um ein versehentliches Löschen zu vermeiden. Wenn eine Projektpfändung erzwungen wird, kann das Cloud KMS-Schlüsselprojekt erst gelöscht werden, wenn die Pfändung aufgehoben wird.
CMEK-Schlüssel erforderlich machen
Wir empfehlen, die Verwendung von CMEKs in Ihrer gesamten Umgebung mithilfe von Einschränkungen von Organisationsrichtlinien durchzusetzen.
Mit constraints/gcp.restrictNonCmekServices
können Sie Anfragen zum Erstellen bestimmter Ressourcentypen blockieren, ohne einen CMEK-Schlüssel anzugeben.
Mindestdauer für die geplante Vernichtung angeben
Wir empfehlen, eine Mindestdauer für die geplante Vernichtung festzulegen. Das Löschen von Schlüsseln ist ein irreversibler Vorgang, der zu Datenverlusten führen kann. Standardmäßig wird in Cloud KMS ein Zeitraum von 30 Tagen für den Status Zum Löschen vorgemerkt (manchmal auch Vorausbuchten Löschzeitraum genannt) verwendet, bevor das Schlüsselmaterial unwiederbringlich gelöscht wird. So bleibt bei versehentlichem Löschen noch etwas Zeit, um den Schlüssel wiederherzustellen. Es ist jedoch möglich, dass ein Nutzer mit der Rolle „Cloud KMS-Administrator“ einen Schlüssel mit einer geplante Dauer für das Löschen von nur 24 Stunden erstellt. Das ist möglicherweise nicht ausreichend, um ein Problem zu erkennen und den Schlüssel wiederherzustellen. Die Dauer für Zerstörung geplant kann nur beim Erstellen des Schlüssels festgelegt werden.
Solange ein Schlüssel zum Löschen vorgemerkt ist, kann er nicht für kryptografische Vorgänge verwendet werden und alle Anfragen zur Verwendung des Schlüssels schlagen fehl. Überwachen Sie in dieser Zeit die Prüfprotokolle, um festzustellen, ob der Schlüssel nicht verwendet wird. Wenn Sie den Schlüssel wieder verwenden möchten, müssen Sie ihn vor Ablauf des Zeitraums, in dem die Vernichtung geplant ist, restore.
Damit alle erstellten Schlüssel eine Mindestdauer für die geplante Vernichtung einhalten, empfehlen wir, die Einschränkung der Organisationsrichtlinie constraints/cloudkms.minimumDestroyScheduledDuration
auf mindestens 30 Tage oder die gewünschte Dauer zu konfigurieren. Diese Organisationsrichtlinie verhindert, dass Nutzer Schlüssel mit einer geplanten Dauer für das Löschen erstellen, die kürzer als der in der Richtlinie angegebene Wert ist.
Zulässige Schutzniveaus für CMEKs erzwingen
Wir empfehlen, Ihre Anforderungen an die Schutzebenen von Schlüsseln mithilfe von Einschränkungen in den Organisationsrichtlinien einheitlich in Ihrer Umgebung durchzusetzen.
Mit constraints/cloudkms.allowedProtectionLevels
können Sie festlegen, dass für neue Schlüssel, Schlüsselversionen und Importjobs die von Ihnen zulässigen Schutzstufen verwendet werden müssen.
Aufdeckungskontrollen für CMEKs konfigurieren
Google Cloud bietet verschiedene Prüffunktionen für CMEKs. In den folgenden Abschnitten erfahren Sie, wie Sie diese Steuerelemente für Cloud KMS aktivieren und verwenden.
Audit-Logging aktivieren und zusammenfassen
Wir empfehlen, Audit-Logs für Cloud KMS-Administratoraktivitäten (zusammen mit Audit-Logs für Administratoraktivitäten für alle Dienste) an einem zentralen Ort für alle Ressourcen in Ihrer Organisation zusammenzuführen. So können Sicherheitsteams oder Prüfer alle Aktivitäten im Zusammenhang mit dem Erstellen oder Ändern von Cloud KMS-Ressourcen auf einmal überprüfen. Eine Anleitung zum Konfigurieren von Senken für aggregierte Logs finden Sie unter Logs Ihrer Organisation zusammenfassen und speichern.
Optional können Sie Protokolle für den Datenzugriff aktivieren, um Vorgänge zu protokollieren, bei denen die Schlüssel verwendet werden, einschließlich Verschlüsselungs- und Entschlüsselungsvorgängen. Bei der Verwendung von CMEKs kann dies zu einem erheblichen Logvolumen führen und sich auf Ihre Kosten auswirken, da für jeden Vorgang jedes Dienstes, der CMEKs verwendet, Logs zum Datenzugriff erstellt werden. Bevor Sie Logs für den Datenzugriff aktivieren, sollten Sie einen klaren Anwendungsfall für die zusätzlichen Logs definieren und prüfen, wie sich Ihre Logging-Kosten erhöhen.
Schlüsselnutzung überwachen
Mit der Cloud KMS Inventory API können Sie die Schlüsselnutzung ansehen, um Google Cloud -Ressourcen in Ihrer Organisation zu identifizieren, die von Cloud KMS-Schlüsseln abhängen und durch diese geschützt werden. Mit diesem Dashboard können Sie den Status, die Nutzung und die Verfügbarkeit Ihrer Schlüsselversionen und der entsprechenden geschützten Ressourcen überwachen. Im Dashboard werden auch Daten angezeigt, auf die aufgrund eines deaktivierten oder gelöschten Schlüssels nicht zugegriffen werden kann. Sie können dann Maßnahmen ergreifen, z. B. die nicht zugänglichen Daten löschen oder den Schlüssel wieder aktivieren. Sie können Cloud Monitoring mit Cloud KMS verwenden, um Benachrichtigungen für kritische Ereignisse einzurichten, z. B. wenn ein Schlüssel zum Löschen geplant wird. Mit Cloud Monitoring können Sie prüfen, warum ein solcher Vorgang ausgeführt wurde, und bei Bedarf einen optionalen Downstream-Prozess auslösen, um den Schlüssel wiederherzustellen.Wir empfehlen Ihnen, einen Betriebsplan zu erstellen, um Ereignisse zu erkennen, die Sie für wichtig halten, und das Dashboard für die wichtigsten Nutzungsdaten regelmäßig zu überprüfen.
Security Command Center für Cloud KMS-Sicherheitslücken aktivieren
Security Command Center generiert Sicherheitslücken-Ergebnisse, die Fehlkonfigurationen im Zusammenhang mit Cloud KMS und anderen Ressourcen hervorheben. Wir empfehlen, Security Command Center zu aktivieren und diese Ergebnisse in Ihre bestehenden Sicherheitsmaßnahmen einzubinden. Dazu gehören Probleme wie öffentlich zugängliche Cloud KMS-Schlüssel, Cloud KMS-Projekte mit der zu permissiven Rolle owner
oder IAM-Rollen, die gegen die Aufgabentrennung verstoßen.
Compliance-Anforderungen prüfen
Unterschiedliche Compliance-Frameworks haben unterschiedliche Anforderungen an die Verschlüsselung und Schlüsselverwaltung. Ein Compliance-Framework beschreibt in der Regel die allgemeinen Prinzipien und Ziele der Verschlüsselungsschlüsselverwaltung, enthält aber keine Vorgaben für das jeweilige Produkt oder die Konfiguration, mit der die Compliance erreicht wird. Sie sind dafür verantwortlich, die Anforderungen Ihres Compliance-Frameworks zu kennen und zu verstehen, wie Ihre Kontrollmechanismen, einschließlich der Schlüsselverwaltung, diese Anforderungen erfüllen können.
Informationen dazu, wie Sie mit den Diensten von Google Cloud die Anforderungen verschiedener Compliance-Frameworks erfüllen können, finden Sie in den folgenden Ressourcen:- Schutz von Gesundheitsdaten in Google Cloud
- Ressourcen zur Cloud-Compliance und zu Vorschriften
- Google Cloud FedRAMP-Implementierungsleitfaden
- Compliance mit dem PCI-Datensicherheitsstandard
Zusammenfassung der Best Practices
In der folgenden Tabelle sind die Best Practices zusammengefasst, die in diesem Dokument empfohlen werden:
Thema | Aufgabe |
---|---|
Entscheiden, ob CMEK verwendet werden soll | Verwenden Sie CMEK, wenn Sie eine der durch CMEK aktivierten Funktionen benötigen. |
Manuelle oder automatische Schlüsselerstellung auswählen | Verwenden Sie Cloud KMS Autokey, wenn die Eigenschaften der von Autokey erstellten Schlüssel Ihren Anforderungen entsprechen. |
Cloud KMS-Schlüsselprojekte | Verwenden Sie für jede Umgebung ein zentrales Schlüsselprojekt. Erstellen Sie keine Cloud KMS-Ressourcen im selben Projekt wie die Google Cloud-Ressourcen, die durch die Schlüssel geschützt werden. |
Cloud KMS-Schlüsselbunde | Erstellen Sie Cloud KMS-Schlüsselbunde für jeden Speicherort, an dem Sie die Ressourcen von Google Cloudschützen möchten. |
Detaillierungsgrad des Schlüssels | Wählen Sie ein Muster für die Schlüsselgranularität aus, das Ihren Anforderungen entspricht, oder verwenden Sie Autokey, um Schlüssel automatisch mit der empfohlenen Granularität für jeden Dienst bereitzustellen. |
Schutzniveau | Wählen Sie Cloud EKM aus, wenn Ihr Schlüsselmaterial außerhalb von Google Cloudgespeichert werden muss. Wählen Sie Cloud HSM aus, wenn Ihr Schlüsselmaterial in Hardwaresicherheitsmodulen (HSMs) von Google Cloudgehostet werden kann. Wählen Sie Softwareschlüssel aus, wenn Sie kein Cloud HSM oder Cloud EKM benötigen. Sehen Sie sich die Anleitung zur Auswahl eines Schutzniveaus an. |
Schlüsselmaterial | Verwenden Sie für Schlüsselmaterial, das in der Google Cloudgehostet wird, nach Möglichkeit von Google Cloudgeneriertes Schlüsselmaterial. Wenn Sie importierte Schlüsselmaterialien verwenden, implementieren Sie Automatisierung und Verfahren, um Risiken zu minimieren. |
Schlüsselzweck und Algorithmus | Alle CMEK-Schlüssel müssen den symmetrischen Schlüsselzweck ENCRYPT_DECRYPT und den Algorithmus GOOGLE_SYMMETRIC_ENCRYPTION verwenden. |
Rotationszeitraum | Mit der automatischen Schlüsselrotation können Sie dafür sorgen, dass Ihre Schlüssel regelmäßig rotiert werden. Wählen Sie einen Rotationszeitraum aus, der Ihren Anforderungen entspricht, idealerweise mindestens einmal pro Jahr. Verwenden Sie für sensible Arbeitslasten eine häufigere Schlüsselrotation. |
Geringste Berechtigung | Weisen Sie die am stärksten eingeschränkten vordefinierten Rollen zu, die es Ihren Hauptkonten ermöglichen, ihre Aufgaben auszuführen. Verwenden Sie keine einfachen Rollen. |
Aufgabentrennung | Verwenden Sie separate Berechtigungen für Schlüsseladministratoren und Hauptberechtigte, die Schlüssel verwenden. |
Projektpfändungen | Verwenden Sie Projektsperren, um das versehentliche Löschen Ihrer wichtigsten Projekte zu verhindern. |
CMEKs erzwingen | Verwenden Sie die Einschränkung constraints/gcp.restrictNonCmekServices . |
Mindestdauer für die geplante Vernichtung | Verwenden Sie die Einschränkung constraints/cloudkms.minimumDestroyScheduledDuration . |
Zulässige Schutzniveaus für CMEKs erzwingen | Verwenden Sie die Einschränkung constraints/cloudkms.allowedProtectionLevels . |
Audit-Logging aktivieren und zusammenfassen | Audit-Logs zu Administratoraktivitäten für alle Ressourcen in Ihrer Organisation zusammenfassen. Überlegen Sie, ob Sie das Logging von Vorgängen mithilfe von Schlüsseln aktivieren möchten. |
Schlüsselnutzung überwachen | Verwenden Sie die Cloud KMS Inventory API oder die Google Cloud Console, um die Schlüsselnutzung zu analysieren. Optional können Sie mit Cloud Monitoring Benachrichtigungen für sensible Vorgänge wie das Löschen eines Schlüssels einrichten. |
Security Command Center für Cloud KMS aktivieren | Prüfen Sie die Ergebnisse zu Sicherheitslücken und integrieren Sie die Prüfung der Ergebnisse in Ihre Sicherheitsabläufe. |
Compliance-Anforderungen prüfen | Prüfen Sie Ihre Cloud KMS-Architektur und vergleichen Sie sie mit den Compliance-Anforderungen, die Sie einhalten müssen. |