Secrets Manager in Ihrem Kubernetes Service-Cluster einrichten
Wenn Sie IBM Cloud Secrets Manager in Ihren IBM Cloud Kubernetes Service-Cluster integrieren, können Sie Ingress-Subdomain-Zertifikate und andere Geheimnisse zentral verwalten.
Informationen zu Secrets Manager
Mit Secrets Managerkönnen Sie einen einzelnen Service verwenden, um Ihre geheimen Schlüssel zu verwalten und zu steuern, wer Zugriff auf sie hat. In Ihrem Cluster wird nicht automatisch eine Secrets Manager-Instanz bereitgestellt. Sie können jedoch eine einzelne Secrets Manager-Instanz über mehrere Cluster hinweg nutzen, und ein einzelner Cluster kann mehr als eine Instanz enthalten.
Welche Funktionalität kann ich mit Secrets Managernutzen?
Mit Secrets Managerhaben Sie folgende Möglichkeiten:
- Erstellen Sie verwaltete „ Kubernetes “-Geheimnisse, einschließlich Ingress- TLS-Zertifikaten.
- Erstellen Sie geheime Kubernetes-Schlüssel eines beliebigen Typs, indem Sie den CRN einer beliebigen Secrets Manager-Instanz verwenden, deren Eigner Sie sind.
- Aktualisieren Sie Ihre geheimen Schlüssel in Ihrem Cluster regelmäßig automatisch.
- Verfolgen Sie die Ablaufdaten Ihrer Zertifikate über die IBM Cloud-Konsole.
- Steuern Sie, wer Zugriff auf Ihre geheimen Schlüssel hat, indem Sie Gruppen geheimer Schlüssel für genehmigte Benutzer erstellen
Bitte beachten Sie: Damit Ihre Geheimnisse automatisch aktualisiert werden, müssen Sie mindestens eine „ Secrets Manager “-Instanz in Ihrem Cluster registrieren. Weitere Informationen finden Sie unter „ Registrieren Ihrer Secrets Manager-Instanz in Ihrem Cluster “.
Häufig gestellte Fragen zu Secrets Manager
Beachten Sie bei der Nutzung von Secrets Manager bitte die folgenden Punkte.
- Welche Typen von geheimen Schlüsseln werden mit Secrets Managerunterstützt?
- Secrets Manager unterstützt IAM-Berechtigungsnachweise, geheime Schlüsselwert-Schlüssel, Benutzerberechtigungsnachweise, beliebige geheime Schlüssel und geheime Kubernetes-Schlüssel. Für Kubernetes-Geheimnisse unterstützt Secrets Manager sowohl TLS- als auch non- TLS (Opaque)-Geheimnistypen. Mit TLS-Secrets können Sie eine Zertifikats-CRN angeben. Mit Non- TLS-Geheimnissen können Sie mehrere Felder angeben, um Geheimnisse abzurufen, die nicht in Zertifikaten enthalten sind. Wenn Sie beim Erstellen eines Secrets keinen Secret-Typ angeben, wird standardmäßig „ TLS “ verwendet. Weitere Informationen zu unterstützten geheimen Schlüsseln finden Sie unter Mit geheimen Schlüsseln verschiedener Typen arbeiten.
- Werden geheime Schlüssel, die in einer registrierten Secrets Manager-Instanz gespeichert sind, automatisch aktualisiert?
- Ja. Wenn Sie eine Secrets Manager-Instanz in Ihrem Cluster registriert haben, werden die geheimen Schlüssel im Cluster automatisch einmal täglich mit den Werten aus Secrets Manager aktualisiert. Diese Aktualisierungen werden mit dem Wert des geheimen Schlüssels aus dem entsprechenden CRN vorgenommen.
- Werden meine geheimen Schlüssel automatisch aktualisiert, wenn ich keine Secrets Manager-Instanz erstelle und registriere?
- Wenn keine Secrets Manager-Instanz in Ihrem Cluster registriert ist, werden Ihre standardmäßigen geheimen Ingress-Schlüssel alle 90 Tage automatisch aktualisiert und auf Ihren Cluster angewendet. Alle geheimen Schlüssel, die Sie erstellt haben und die auf den standardmäßigen geheimen Ingress-Schlüssel verweisen, werden jedoch nicht automatisch aktualisiert.
- Beispielszenario: Sie haben ein Ingress-Standardzertifikat im Namensbereich
default. Sie führen den Befehlibmcloud ks ingress secret createaus und verweisen auf den CRN des Ingress-Standardzertifikats, um das Zertifikat im Namensbereichistio-systemzu spiegeln. Ohne einSecrets Manager Instanz das Standard-Ingress-Zertifikat imdefaultDer Namespace wird automatisch aktualisiert. Sie sind jedoch für die regelmäßige Aktualisierung des Zertifikats imistio-systemNamespace mit demkubectlBefehle oder eine andere Rotationsmethode. - Ich habe geheime Schlüssel erstellt, die auf das Ingress-Standardzertifikat verweisen, aber ich habe keine Secrets Manager-Instanz erstellt und registriert. Wie verwalte ich meine Geheimnisse?
- Wenn Sie keine Secrets Manager-Instanz registrieren, aktualisiert IBM Cloud Kubernetes Service nur den standardmäßigen geheimen Ingress-Schlüssel. Sie sind für die Verwaltung aller anderen geheimen Schlüssel mit
kubectl-Befehlen oder einer anderen Rotationsmethode verantwortlich. Wenn Sie geheime Schlüssel haben, die auf das Ingress-Standardzertifikat verweisen, müssen Sie sie mithilfe vonibmcloud ks ingress secret rmentfernen. - Was ist der Unterschied zwischen den
ibmcloud ks ingress instance-CLI-Befehlen und denibmcloud ks ingress secret-CLI-Befehlen? - Es gibt zwei Gruppen von CLI-Befehlen, die direkt mit Secrets Manager-Instanzen in IBM Cloud Kubernetes Servicearbeiten: die
ibmcloud ks ingress secret-Befehle und dieibmcloud ks ingress instance-Befehle. Dieibmcloud ks ingress instance-Befehle werden verwendet, um Ihre Secrets Manager-Instanzen zu verwalten. Dieibmcloud ks ingress secret-Befehle werden verwendet, um Ihre geheimen Ingress-Schlüssel zu verwalten, die in einer Secrets Manager-Instanz oder in geheimen Schlüsseln gespeichert sind, die direkt in den Cluster geschrieben werden.
Secrets Manager-Instanz einrichten
Befolgen Sie die folgenden Schritte, um „ Secrets Manager “ in Ihrem Cluster einzurichten.
Service-zu-Service-Kommunikation aktivieren
Für die Integration von „ Secrets Manager “ in Ihren „ IBM Cloud Kubernetes Service “-Cluster ist eine Autorisierung für die Kommunikation zwischen Diensten erforderlich. Führen Sie die folgenden Schritte aus, um die Autorisierung einzurichten: Weitere Informationen finden Sie unter „Integrationen“ auf Secrets Manager.
- Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Access (IAM).
- Klicken Sie auf Autorisierungen.
- Klicken Sie auf Erstellen.
- Wählen Sie in der Liste **der Quelldienste **Kubernetes Service aus.
- Wählen Sie die Option aus, um den Zugriff auf Alle Ressourcen zu definieren.
- Wählen Sie in der Liste Target Service die Option Secrets Manager aus.
- Wählen Sie die Option aus, um den Zugriff auf Alle Ressourcen zu definieren.
- Aktivieren Sie im Abschnitt Servicezugriff die Option Manager.
- Klicken Sie auf Autorisieren.
Eine Secrets Manager-Instanz erstellen
Informationen zum Erstellen einer „ Secrets Manager “-Instanz über die CLI oder die Benutzeroberfläche finden Sie in der Dokumentation unter „ Secrets Manager “. Es kann einige Minuten dauern, bis Ihre „ Secrets Manager “-Instanz vollständig eingerichtet ist.
- Erstellen Sie eine Secrets Manager-Instanz in der Befehlszeilenschnittstelle.
- Erstellen Sie eine Secrets Manager-Instanz in der Benutzerschnittstelle.
Wenn Sie eine „ Secrets Manager “-Instanz erstellen, wird diese nicht direkt in Ihrem Cluster bereitgestellt. Im nächsten Schritt müssen Sie Ihre neue „ Secrets Manager “-Instanz in Ihrem Cluster registrieren.
Secrets Manager-Instanz im Cluster registrieren
Befolgen Sie die folgenden Schritte, um Ihre „ Secrets Manager “-Instanz in Ihrem Cluster zu registrieren.
-
Rufen Sie den CRN der Secrets Manager-Instanz ab. In der Ausgabe befindet sich der CRN in der Zeile ID.
ibmcloud resource service-instance <instance_name>Beispielausgabe
Name: my-secrets-manager-instance ID: crn:v1:bluemix:public:secrets-manager:us-south:a/1aa111aa1a11111aaa1a1111aa1aa111:111a1111-11a1-111a-1111-1a1a1a1111a1: GUID: 111a1111-11a1-111a-1111-1a1a1a1111a1 Location: us-south Service Name: secrets-manager Service Plan Name: standard Resource Group Name: default State: active Type: service_instance Sub Type: Created at: 2022-06-08T12:46:45Z Created by: user@ibm.com Updated at: 2022-06-08T12:54:45Z -
Registrieren Sie die Instanz in Ihrem Cluster. Geben Sie den im vorherigen Schritt gefundenen Instanz-CRN an.
Wenn Sie eine Instanz für einen Cluster und Als Standardinstanz festlegen registrieren möchten, schließen Sie die Option
--is-defaultein. Andernfalls können Sie mit dem Befehlibmcloud ks ingress instance default seteine Standardinstanz festlegen.ibmcloud ks ingress instance register --cluster CLUSTER_NAME_OR_ID --crn INSTANCE_CRN [--is-default] -
Überprüfen Sie, ob die Instanz Secrets Manager im Cluster registriert wurde.
ibmcloud ks ingress instance ls --cluster CLUSTER_NAME_OR_IDBeispielausgabe
Name Type Is Default Status Secret Group CRN my-secrets-manager-instance secrets-manager false created default crn:v1:bluemix:public:secrets-manager:us-south:a/1aa111aa1a11111aaa1a1111aa1aa111:111a1111-11a1-111a-1111-1a1a1a1111a1::
Secrets Manager Sie können beim Erstellen eines Clusters mit dem Befehl ibmcloud ks cluster create classic oder ibmcloud ks cluster create vpc-gen2 Befehls einen „xml-ph-0000@deepl.internal“-Instanz und eine „Secret“-Gruppe angeben.
Verwenden Sie die Option --sm-instance, um eine Instanz im Cluster zu registrieren, und die Option --sm-group, um eine Gruppe geheimer Schlüssel anzugeben, die auf die geheimen Schlüssel im Cluster zugreifen kann.
Siehe „ Registrieren einer Secrets Manager-Instanz beim Erstellen eines Clusters “.
Secrets Manager-Standardinstanz festlegen und geheime Schlüssel neu generieren
Wenn Sie eine Secrets Manager-Standardinstanz festlegen, werden alle neuen Zertifikate der Ingress-Unterdomäne in dieser Instanz gespeichert.
-
Führen Sie den Befehl aus, um die neue Standardinstanz festzulegen. Sie können optional eine Gruppe geheimer Schlüssel angeben, die Zugriff auf die geheimen Schlüssel in der Instanz hat.
ibmcloud ks ingress instance default set --cluster CLUSTER_NAME_OR_ID --name INSTANCE_NAME --secret-group SECRET_GROUP_ID -
Generieren Sie Ihre geheimen Schlüssel neu. Alle geheimen Schlüssel, die von IBMverwaltet werden, wie z. B. Ihre geheimen Ingress-Standardschlüssel, werden in die neue Standardinstanz hochgeladen. Diese geheimen Schlüssel werden automatisch aktualisiert und der CRN wird so geändert, dass er auf die Instanz Secrets Manager verweist.
- Listen Sie die nlb-dns-Subdomains in Ihrem Cluster auf.
ibmcloud ks nlb-dns ls --cluster CLUSTER_NAME_OR_ID ``` 2. Führen Sie für jede Unterdomäne in Ihrem Cluster den Befehl zum erneuten Generieren Ihrer von IBMverwalteten geheimen Schlüssel aus. Dadurch wird der CRN dieser geheimen Schlüssel aktualisiert, um auf den CRN der neuen Standardinstanz Secrets Manager zu verweisen. Die erneute Generierung Ihrer geheimen Schlüssel ist auf fünf Mal pro Woche begrenzt. Befolgen Sie die Schritte in diesem Dokument sorgfältig, da deren Wiederholung dazu führen kann, dass Sie den Grenzwert erreichen. Wenn Sie Ihre Geheimnisse nicht neu generieren oder das Limit erreicht haben, werden Ihre Geheimnisse beim nächsten Erneuerungszyklus auf Ihre „ Secrets Manager “-Instanz hochgeladen. {: important} ```sh {: pre} ibmcloud ks nlb-dns secret regenerate --cluster CLUSTER_NAME_OR_ID --nlb-subdomain NLB_SUBDOMAIN ``` 3. Überprüfen Sie, ob Ihre geheimen Ingress-Standardschlüssel neu generiert wurden. In der Ausgabe sollte der CRN der standardmäßigen geheimen Ingress-Schlüssel `secrets-manager` enthalten. Es kann einige Minuten dauern, bis Ihre geheimen Schlüssel neu generiert werden. Während dieses Prozesses wird in der Spalte **Status** in der Ausgabe `regenerating` angezeigt und nach Abschluss der Neugenerierung zu `created` gewechselt. {: note} ```sh {: pre} ibmcloud ks ingress secret ls --show-crn --cluster CLUSTER_NAME_OR_ID ``` Beispielausgabe ```sh {: screen} Name Namespace Expiry Domains Status Type CRN secret-11111aa1a1a11aa1111111-000 default 3 months from now secret-11111aa1a1a.us-s…domain.cloud created TLS crn:v1:bluemix:public:secrets-manager:us-south:a/1aa111aa1:secret:a111aa11-11a1 secret-22222aa2a2a22aa2222222-000 default 3 months from now secret-22222aa2a2a.us-s…domain.cloud created TLS crn:v1:bluemix:public:secrets-manager:us-south:a/2aa222aa2:secret:a222aa22-22a2 ```
Zugriff auf geheime Schlüssel mit Gruppen geheimer Schlüssel steuern
Mit „ Secrets Manager “ können Sie mithilfe von Secret-Gruppen steuern, wer Zugriff auf die Secrets in Ihrem Cluster hat. Eine Gruppe geheimer Schlüssel kann einer IAM-Zugriffsgruppe zugeordnet werden, sodass nur ausgewählte Benutzer oder Service-IDs auf die geheimen Schlüssel in der Gruppe geheimer Schlüssel zugreifen können. Weitere Informationen finden Sie unter Geheime Schlüssel organisieren.
Registrierung einer Secrets Manager-Instanz beim Erstellen eines Clusters
Wenn Sie einen neuen Classic- oder VPC-Cluster erstellen, können Sie während der Erstellung eine vorhandene „ Secrets Manager “-Instanz und eine Secret-Gruppe für den Cluster registrieren. Secrets im Cluster werden in der „ Secrets Manager “-Instanz gespeichert und auf die Secret-Gruppe angewendet.
Die bei der Clustererstellung registrierte „ Secrets Manager “-Instanz wird nicht automatisch zur Standardinstanz von „ Secrets Manager “. Sie müssen die Standardinstanz manuell festlegen.
Wenn Sie in der Befehlszeilenschnittstelle einen Cluster erstellen, ibmcloud ks cluster create classic oder ibmcloud ks cluster create vpc-gen2, können Sie eine Secrets Manager-Instanz oder eine Gruppe geheimer Schlüssel mit den folgenden
Befehlsoptionen angeben:
--sm-instance: Verwenden Sie diese Option, um eine Secrets Manager-Instanz im Cluster zu registrieren, indem Sie den CRN der Instanz angeben. Um die CRN einer Secrets Manager-Instanz zu finden, führen Sieibmcloud resource service-instance <name_of_instance>aus oder navigieren Sie zu Ihrer Ressourcenliste in der Benutzeroberfläche und klicken Sie auf die Instanz.--sm-group: Verwenden Sie diese Option, um die ID der Gruppe geheimer Schlüssel anzugeben. Führen Sieibmcloud secrets-manager secret-groupsaus, um die ID der Gruppe geheimer Schlüssel zu suchen.
Wenn Sie einen Cluster in der Benutzerschnittstelle erstellen, führen Sie die folgenden Schritte aus, um eine Secrets Manager-Instanz oder eine Gruppe geheimer Schlüssel anzugeben:
- Wählen Sie im Abschnitt Integrationen der Clustererstellungsseite die Option zum Aktivieren von Secrets Manager aus.
- Wählen Sie im Dropdown-Menü Secrets Manager-Instanz die Instanz aus, die im Cluster registriert werden soll. Wenn keine Instanzen verfügbar sind, erstellen Sie eine Instanz.
- Wählen Sie im Dropdown-Menü Secrets Manager group die Gruppe geheimer Schlüssel aus, die Sie anwenden möchten.
- Erstellen Sie den Cluster.
- Überprüfen Sie, ob die Secrets Manager-Instanz im Cluster registriert ist.
- Wenn Ihr Cluster vollständig bereitgestellt ist, klicken Sie auf den Cluster, um die Clusterdetails anzuzeigen. Suchen Sie unter Integrationen die Überschrift Secrets Manager und klicken Sie auf Verwalten.
- Überprüfen Sie in der Seitenanzeige, ob die richtige Instanz unter Registrierte Instanzen von Secrets Manager aufgelistet ist.
- Wenn Sie weitere Instanzen im Cluster registrieren möchten, klicken Sie auf Instanzen registrieren.