Verschlüsselung geheimer Clusterschlüssel einrichten
Virtual Private Cloud Klassische Infrastruktur Satellite
Nachdem Sie einen Cluster erstellt haben, können Sie geheime Kubernetes-Schlüssel und alle Berechtigungsnachweise, die in Ihren geheimen Schlüsseln gespeichert sind, schützen, indem Sie einen KMS-Provider (Key Management Service) aktivieren, z. B. IBM® Key Protect for IBM Cloud® oder Hyper Protect Crypto Services.
Verschlüsselung geheimer Schlüssel über die Befehlszeilenschnittstelle aktivieren
Sie können einen KMS-Provider aktivieren, die KMS-Providerinstanz aktualisieren oder den Rootschlüssel über die CLI aktualisieren.
Die Einrichtung einer kontenübergreifenden Verschlüsselung mithilfe eines KMS in einem anderen Konto wird in der Befehlszeilenschnittstelle (CLI) oder in der API unterstützt.
-
Erstellen Sie eine KMS-Instanz und einen Rootschlüssel. Wenn Sie die kontenübergreifende KMS-Verschlüsselung verwenden wollen, müssen Sie das KMS und den Rootschlüssel in dem Konto erstellen, dessen KMS-Instanz Sie verwenden möchten.
-
Rufen Sie die ID der KMS-Instanz ab, die Sie zuvor erstellt haben.
ibmcloud oc kms instance ls
-
Rufen Sie die ID des Rootschlüssels ab, den Sie zuvor erstellt haben.
ibmcloud oc kms crk ls --instance-id <KMS_instance_ID>
-
Aktivieren Sie den KMS-Provider, um geheime Schlüssel in Ihrem Cluster zu verschlüsseln. Füllen Sie die Optionen mit den Informationen aus, die Sie zuvor abgerufen haben. Zum Herunterladen der Verschlüsselungsschlüssel wird standardmäßig der Private-Cloud-Serviceendpunkt des KMS-Providers verwendet. Um stattdessen den Endpunkt des öffentlichen Cloud-Dienstes zu verwenden, fügen Sie die Option
--public-endpoint
hinzu. Die Ausführung des Aktivierungsprozesses kann einige Zeit dauern.ibmcloud oc kms enable -c <cluster_name_or_ID> --instance-id <kms_instance_ID> --crk <root_key_ID> [--public-endpoint]
Während der Aktivierung sind Sie möglicherweise nicht in der Lage, auf den Kubernetes-Master zuzugreifen, zum Beispiel um YAML-Konfigurationen für Bereitstellungen zu aktualisieren.
-
Überprüfen Sie, dass Prozess für die KMS-Aktivierung fertiggestellt ist. Der Prozess ist fertiggestellt, wenn für Master Status der Wert Ready angegeben wird und wenn der Key Management Service auf enabled eingestellt ist.
ibmcloud oc cluster get -c <cluster_name_or_ID>
Beispielausgabe während der Verarbeitung der Aktivierung
NAME: <cluster_name> ID: <cluster_ID> ... Master Status: Key management service feature enablement in progress.
Beispielausgabe, wenn der Master bereit ist
NAME: <cluster_name> ID: <cluster_ID> ... Master Status: Ready (1 min ago) ... Key Management Service: enabled
Nachdem der KMS-Provider im Cluster aktiviert wurde, werden alle geheimen Clusterschlüssel automatisch verschlüsselt.
-
Optional: Überprüfen Sie, dass Ihre geheimen Schlüssel verschlüsselt werden.
Die Schlüsselaktivierung, die über Red Hat OpenShift initiiert wird, bedeutet, dass die Verschlüsselung auf einen neuen Schlüssel des KMS-Anbieters umgestellt wird. Die Schlüsselrotation, die vom KMS-Anbieter initiiert wird, bedeutet, dass die Verschlüsselung auf eine neue Version des vorhandenen Schlüssels umgestellt wird. Löschen Sie keine Root-Schlüssel in Ihrer KMS-Instanz, wenn diese vom KMS-Anbieter rotiert werden. Ein Root-Schlüssel kann nur gelöscht werden, wenn er nicht mehr verwendet wird. Nachdem Sie beispielsweise einen neuen Schlüssel aktiviert und überprüft haben, dass der Cluster den alten Schlüssel nicht mehr verwendet, können Sie den alten Schlüssel löschen. Wenn Sie einen Rootschlüssel löschen, den ein Cluster verwendet, wird der Cluster unbrauchbar, verliert alle Daten und kann nicht wiederhergestellt werden. Wenn Sie turnusmäßig einen Rootschlüssel wechseln, können Sie einen vorherigen Rootschlüssel nicht für denselben Cluster wiederverwenden. In ähnlicher Weise schlagen beim Inaktivieren eines Rootschlüssels Operationen fehl, die auf das Lesen geheimer Schlüssel angewiesen sind. Anders als beim Löschen eines Root-Schlüssels können Sie jedoch einen deaktivierten Schlüssel wieder aktivieren, um Ihren Cluster wieder nutzbar zu machen.
Verschlüsselung geheimer Schlüssel über die Konsole aktivieren
Sie können einen KMS-Provider aktivieren, die KMS-Providerinstanz aktualisieren oder den Rootschlüssel über die IBM Cloud-Konsole aktualisieren.
-
Erstellen Sie eine KMS-Instanz und einen Rootschlüssel. Wenn Sie die kontenübergreifende KMS-Verschlüsselung verwenden wollen, müssen Sie das KMS und den Rootschlüssel in dem Konto erstellen, dessen KMS-Instanz Sie verwenden möchten.
-
Wählen Sie in der Konsole den Cluster aus, für den Sie die Verschlüsselung aktivieren möchten.
-
Klicken Sie im Abschnitt "Schlüsselverwaltungsdienst" auf "Aktivieren ". Wenn der KMS-Provider bereits aktiviert ist, klicken Sie auf Aktualisieren.
-
Wählen Sie die Key Management Service-Instanz und den Rootschlüssel, den Sie für die Verschlüsselung verwenden möchten.
Während der Aktivierung sind Sie möglicherweise nicht in der Lage, auf den Kubernetes-Master zuzugreifen, zum Beispiel um YAML-Konfigurationen für Bereitstellungen zu aktualisieren.
-
Klicken Sie auf Aktivieren (oder auf Aktualisieren).
-
Überprüfen Sie, dass Prozess für die KMS-Aktivierung fertiggestellt ist. Beispielausgabe, wenn die Aktivierung verarbeitet wird.
Master status KMS feature enablement in progress.
Beispielausgabe, wenn der Master bereit ist.
Master status Ready
Nachdem der KMS-Provider im Cluster aktiviert wurde, werden alle geheimen Clusterschlüssel automatisch verschlüsselt.
-
Optional: Überprüfen Sie, dass Ihre geheimen Schlüssel verschlüsselt werden.
Die Schlüsselaktivierung, die über Red Hat OpenShift initiiert wird, bedeutet, dass die Verschlüsselung auf einen neuen Schlüssel des KMS-Anbieters umgestellt wird. Die Schlüsselrotation, die vom KMS-Anbieter initiiert wird, bedeutet, dass die Verschlüsselung auf eine neue Version des vorhandenen Schlüssels umgestellt wird. Löschen Sie keine Root-Schlüssel in Ihrer KMS-Instanz, wenn diese vom KMS-Anbieter rotiert werden. Ein Root-Schlüssel kann nur gelöscht werden, wenn er nicht mehr verwendet wird. Nachdem Sie beispielsweise einen neuen Schlüssel aktiviert und überprüft haben, dass der Cluster den alten Schlüssel nicht mehr verwendet, können Sie den alten Schlüssel löschen. Wenn Sie einen Rootschlüssel löschen, den ein Cluster verwendet, wird der Cluster unbrauchbar, verliert alle Daten und kann nicht wiederhergestellt werden. Wenn Sie turnusmäßig einen Rootschlüssel wechseln, können Sie einen vorherigen Rootschlüssel nicht für denselben Cluster wiederverwenden. In ähnlicher Weise schlagen beim Inaktivieren eines Rootschlüssels Operationen fehl, die auf das Lesen geheimer Schlüssel angewiesen sind. Anders als beim Löschen eines Root-Schlüssels können Sie jedoch einen deaktivierten Schlüssel wieder aktivieren, um Ihren Cluster wieder nutzbar zu machen.
Rootschlüssel turnusmäßig für den Cluster wechseln
Um den Rootschlüssel zu wechseln, der zum Verschlüsseln Ihres Clusters verwendet wird, wiederholen Sie die Schritte zum Aktivieren der KMS-Verschlüsselung. Wenn Sie turnusmäßig einen Rootschlüssel wechseln, können Sie einen vorherigen Rootschlüssel nicht für denselben Cluster wiederverwenden.
Sie können den Rootschlüssel manuell aus Ihrer KMS-Instanz rotieren. Mit dieser Aktion wird KMS in Ihrem Cluster mit dem neuen Rootschlüssel automatisch wieder aktiviert. Informationen zum manuellen Rotieren Ihrer Schlüssel finden Sie in der Dokumentation zum KMS-Provider.
- IBM® Key Protect for IBM Cloud®: Siehe Schlüssel drehen.
- Hyper Protect Crypto Services: Siehe Rootschlüssel manuell rotieren.
Verschlüsselung der geheimen Schlüssel überprüfen
Wenn Sie in Ihrem Red Hat OpenShift on IBM Cloud-Cluster einen KMS-Provider aktiviert haben, können Sie überprüfen, ob die geheimen Schlüssel Ihres Clusters verschlüsselt werden, indem Sie den Rootschlüssel inaktivieren. Wenn Sie den Rootschlüssel inaktivieren, kann der Cluster die geheimen Schlüssel nicht mehr entschlüsseln und kann nicht mehr verwendet werden, d. h., Ihre geheimen Schlüssel wurden verschlüsselt.
Stellen Sie sicher, dass Sie über die IBM Cloud IAM-Plattformrolle Administrator und die Servicezugriffsrolle Manager für den Cluster verfügen.
-
Um zu überprüfen, ob die KMS-Verschlüsselung aktiviert ist, stellen Sie sicher, dass der Key Management Service-Status in der Ausgabe des folgenden Befehls auf
enabled
gesetzt ist.ibmcloud oc cluster get -c <cluster_name_or_ID>
-
Stellen Sie sicher, dass Sie die geheimen Schlüssel in Ihrem Cluster auflisten können.
oc get secrets --all-namespaces
-
Inaktivieren Sie den Rootschlüssel in Ihrer KMS-Instanz, der zum Verschlüsseln Ihres Clusters verwendet wird. Wenn Sie Ihren Cluster mit einem KMS und CRK aus einem anderen Konto verschlüsselt haben, kann der CRK nur aus dem Konto inaktiviert werden, in dem er sich befindet.
-
Warten Sie, bis der Cluster die Änderung an Ihrem Rootschlüssel erkennt.
-
Versuchen Sie, Ihre geheimen Schlüssel aufzulisten. Sie erhalten einen Zeitlimitfehler, da Sie keine Verbindung mehr zu Ihrem Cluster herstellen können. Wenn Sie versuchen, den Kontext für Ihren Cluster zu definieren, indem Sie
ibmcloud oc cluster config
ausführen, schlägt der Befehl fehl.oc get secrets --all-namespaces
Beispielausgabe
Unable to connect to the server: dial tcp 169.48.110.250:32346: i/o timeout
-
Überprüfen Sie, ob sich Ihr Cluster im Status Warnung befindet. Ihr Cluster bleibt in diesem Status und kann erst wiederverwendet werden, wenn Sie den Rootschlüssel erneut aktivieren.
ibmcloud oc cluster get -c <cluster_name_or_ID>
-
Aktivieren Sie in Ihrer KMS-Instanz den Root-Schlüssel, damit Ihr Cluster wieder in einen normalen Zustand übergeht und wieder nutzbar wird.