Verschlüsselung in Event Streams verwalten
Standardmäßig werden die Nachrichtennutzdaten in IBM® Event Streams for IBM Cloud® im Ruhezustand verschlüsselt, wozu ein zufällig generierter Schlüssel verwendet wird. Dieses Standardverschlüsselungsmodell bietet zwar Sicherheit für ruhende Daten, aber unter Umständen benötigen Sie weiter reichende Steuerungsmöglichkeiten. Für diese Anwendungsfälle unterstützt Event Streams die kundenseitige Verschlüsselung mit den folgenden IBM Cloud®-Schlüsselverwaltungsdiensten:
- IBM® Key Protect for IBM Cloud® (Bring Your Own Key - BYOK) hilft Ihnen, verschlüsselte Schlüssel für Apps über IBM Cloud-Dienste bereitzustellen. Bei der Verwaltung des Lebenszyklus Ihrer Schlüssel profitieren Sie von der Gewissheit, dass Ihre Schlüssel durch Cloud-basierte Hardware-Sicherheitsmodule (HSMs) mit FIPS 140-2 Level 3-Zertifizierung gesichert sind, die vor Datendiebstahl schützen. Weitere Informationen zur Verwendung von Key Protectfinden Sie im Lernprogramm 'Einführung'.
- Hyper Protect Crypto Services (Keep Your Own Key - KYOK) ist ein dediziertes Single-Tenant-HSM, das von Ihnen gesteuert wird. Der Service basiert auf FIPS 140-2 Stufe 4-zertifizierter Hardware, der höchsten Sicherheitsstufe, die von Cloud-Providern der Branche angeboten wird. Weitere Informationen zur Verwendung von Hyper Protect Crypto Servicesfinden Sie im Lernprogramm 'Einführung'.
Diese Services ermöglichen die Verwendung eines durch den Kunden bereitgestellten Schlüssels zur Steuerung der Verschlüsselung. Durch Deaktivieren oder Löschen dieses Schlüssels können Sie jeden weiteren Zugriff auf die vom Dienst gespeicherten Daten verhindern, da diese nicht mehr entschlüsselt werden können.
Verwenden Sie kundenverwaltete Schlüssel, wenn Sie die folgenden Funktionen benötigen:
- Verschlüsselung ruhender Daten, die durch Ihren eigenen Schlüssel gesteuert werden.
- Explizite Kontrolle des Lebenszyklus von Daten, die im Ruhezustand gespeichert sind.
Vom Kunden verwaltete Schlüssel sind im Enterprise-Plan und nur in Clustern verfügbar, die nach Oktober 2019 erstellt wurden.
Das Löschen des vom Kunden verwalteten Schlüssels ist nicht wiederherstellbar und führt zum Verlust aller Daten, die in Ihrer Event Streams-Instanz gespeichert sind.
Was nicht durch vom Kunden verwaltete Verschlüsselung abgedeckt ist
Wenn die Funktion "Kundenverwaltung der Verschlüsselung" ausgewählt ist, beachten Sie bitte, dass nur die Nutzdaten der Nachricht durch diese Verschlüsselung abgedeckt sind. Event Streams verschlüsselt andere Daten, die mit der Nutzung des Dienstes zusammenhängen, im Ruhezustand. Allerdings werden Nicht-Nachrichtennutzdaten, obwohl sie verschlüsselt sind, nicht mit der vom Kunden verwalteten Verschlüsselung verschlüsselt. Beispiele hierfür sind Client-Metadaten wie Themennamen, Themenkonfigurationsdaten, in der Schema-Registrierung gespeicherte Schemata und Metadaten, die in Bezug auf die Konfiguration der Enterprise-Instanz gespeichert sind.
Verwenden Sie daher keine vertraulichen Informationen in solchen Clientmetadaten.
Funktionsweise der kundenverwalteten Verschlüsselung
Event Streams verwendet ein Konzept, das als Umschlagverschlüsselung bezeichnet wird, um kundenseitig verwaltete Schlüssel zu implementieren.
Die Umschlagverschlüsselung ist ein Verfahren, bei dem ein Verschlüsselungsschlüssel mit einem anderen Verschlüsselungsschlüssel verschlüsselt wird. Der Schlüssel, der zur Verschlüsselung der tatsächlichen Daten verwendet wird, wird als "Datenverschlüsselungsschlüssel" (Data Encryption Key, DEK) bezeichnet. Der DEK selbst wird nie gespeichert, sondern stattdessen von einem zweiten Schlüssel umhüllt, der als Key Encryption Key (KEK) bezeichnet wird, um einen umhüllten DEK zu erstellen.
Zum Entschlüsseln der Daten muss zunächst das Wrapping des eingeschlossenen DEK aufgehoben werden, damit der DEK vorliegt. Dieser Prozess ist nur durch den Zugriff auf den KEK möglich, bei dem es sich in diesem Fall um Ihren Rootschlüssel handelt, der in Key Protect oder Hyper Protect Crypto Servicesgespeichert ist.
Eigner des KEK, den Sie als Rootschlüssel in den Hyper Protect Crypto Services oder im Key Protect-Service erstellen, sind Sie. Der Rootschlüssel (KEK) ist für den Event Streams-Service zu keiner Zeit sichtbar. Seine Speicherung, Verwaltung und Verwendung zum DEK-Wrapping und -Wrapping aufheben erfolgt vollständig innerhalb des Schlüsselmanagementservice. Wenn Sie den Schlüssel inaktivieren oder löschen, können die Daten nicht mehr entschlüsselt werden.
Kundenverwalteten Schlüssel für Event Streams aktivieren
Führen Sie die folgenden Schritte aus, um Ihre Event Streams-Instanz für die Verwendung eines kundenverwalteten Schlüssels bereitzustellen:
- Stellen Sie eine Instanz von Key Protect oder Hyper Protect Crypto Servicesbereit.
- Erstellen Sie eine Autorisierungsrichtlinie, um dem Event Streams-Service den Zugriff auf die Schlüsselmanagementserviceinstanz als Leseberechtigter zu ermöglichen. Weitere Informationen finden Sie unter "Verwendung von Berechtigungen zur Gewährung des Zugriffs zwischen Diensten ".
- Erstellen Sie einen Rootschlüssel oder importieren Sie einen Rootschlüssel in Ihre Schlüsselmanagementserviceinstanz.
- Rufen Sie den Cloud Resource Name (CRN) des Schlüssels mithilfe der Option "CRN anzeigen" in der GUI der Schlüsselverwaltungsdienstinstanz ab.
- Stellen Sie eine Instanz von Event Streams bereit. Diese Funktion wird nur im Plan "Enterprise" unterstützt.
Bei Bereitstellung über die IBM Cloud®-Konsole wählen Sie eine Schlüsselmanagementserviceinstanz und anschließend einen Rootschlüssel in der Instanz aus.
Verwenden Sie bei einer Bereitstellung über die Befehlszeilenschnittstelle den folgenden Befehl:
ibmcloud resource service-instance-create EVENT-STREAMS-INSTANCE-NAME messagehub ibm.message.hub.enterprise.3nodes.2tb REGION -p '{"kms_key_crn":"KMS_KEY_CRN"}'
Ein bestehender Cluster ohne einen vom Kunden verwalteten Schlüssel kann nicht aktualisiert werden, da dies ein destruktiver Vorgang ist, der zum Verlust aller Nachrichten- und Themendefinitionen führt. Sie müssen Ihre Instanz löschen und mit einem Verschlüsselungsschlüssel neu erstellen.
Kundenverwalteten Schlüssel verwenden
Nachdem eine Instanz von Event Streams mit einem vom Kunden verwalteten Schlüssel versehen wurde, stehen die folgenden zusätzlichen Funktionen zur Verfügung.
Zugriff auf Daten verhindern
Um den Zugriff vorübergehend zu verhindern, deaktivieren Sie Ihren Root-Schlüssel. Event Streams kann dann nicht mehr auf die Daten zugreifen, weil kein Zugriff auf den Schlüssel mehr möglich ist.
Um den Zugriff dauerhaft zu entfernen, löschen Sie den Schlüssel. Sie müssen jedoch äußerste Vorsicht walten lassen, weil diese Operation nicht rückgängig gemacht werden kann. Sie verlieren den Zugriff auf alle Daten, die in Ihrer Event Streams-Instanz gespeichert sind. Diese Daten können nicht wiederhergestellt werden.
In beiden Fällen wird die Event Streams-Instanz heruntergefahren und akzeptiert oder verarbeitet keine Verbindungen mehr. Ein Activity Tracker-Ereignis wird generiert, um über die Aktion zu berichten. Weitere Informationen finden Sie unter Activity Tracker-Ereignisse.
Die Berechtigung muss zwischen Event Streams und der Instanz des Schlüsselmanagementservice jederzeit bestehen bleiben, auch nachdem die Serviceinstanz gelöscht wurde. Event Streams benötigt weiterhin den Service für die Servicerichtlinie, um die Registrierung des Schlüssels zurückzunehmen. Um festzustellen, wann das Entfernen der Service-zu-Service-Richtlinie sicher ist, überprüfen Sie die zugehörigen Ressourcen im KMS-Rootschlüssel. Wenn der Rootschlüssel noch der Instanz Event Streams zugeordnet ist, behalten Sie die Richtlinie bei. Durch das Entfernen dieser Berechtigung wird zwar verhindert, dass Event Streams in Zukunft auf Ihre Daten zugreifen kann, aber bereits verwendete Daten bleiben noch eine Zeit lang verfügbar.
Ihre Instanz von Event Streams wird Ihnen so lange in Rechnung gestellt, bis Sie sie über die IBM Cloud-Konsole oder die CLI deaktivieren. Diese Gebühren gelten auch dann, wenn Sie den Zugriff auf Ihre Daten verhindern möchten.
Zugriff auf Daten wiederherstellen
Der Zugriff kann nur wiederhergestellt werden, wenn der Schlüssel nicht gelöscht wurde. Aktivieren Sie Ihren Rootschlüssel erneut, um den Zugriff wiederherzustellen. Nach einer nur kurz dauernden Initialisierung wird Ihre Event Streams-Instanz erneut gestartet und akzeptiert wieder Verbindungen. Alle Daten bleiben gemäß den in Ihrer Instanz konfigurierten normalen Aufbewahrungsfristen erhalten.
Es wird ein Activity Tracker-Ereignis generiert, um die Aktion zu melden. Weitere Informationen finden Sie unter Activity Tracker-Ereignisse.
Schlüssel rotieren
Key Protect und Hyper Protect Crypto Services unterstützen entweder eine bedarfsgesteuerte oder eine terminierte Rotation von Rootschlüsseln. Beim Rotieren des Schlüssels übernimmt Event Streams den neuen Schlüssel durch erneutes Wrapping des DEK, wie zuvor unter Funktionsweise der kundenverwalteten Verschlüsselung beschrieben.
Es wird ein Activity Tracker-Ereignis generiert, um die Aktion zu melden. Weitere Informationen finden Sie unter Activity Tracker-Ereignisse.
Kundenverwaltete Verschlüsselung inaktivieren
Nachdem Sie die kundenseitige Verschlüsselung aktiviert haben, können Sie sie nicht mehr deaktivieren. Stattdessen müssen Sie die Serviceinstanz löschen und eine neue Instanz erstellen.