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 Befehl ibmcloud ks ingress secret create aus und verweisen auf den CRN des Ingress-Standardzertifikats, um das Zertifikat im Namensbereich istio-system zu spiegeln. Ohne einSecrets Manager Instanz das Standard-Ingress-Zertifikat im default Der Namespace wird automatisch aktualisiert. Sie sind jedoch für die regelmäßige Aktualisierung des Zertifikats im istio-system Namespace mit dem kubectl Befehle 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 von ibmcloud ks ingress secret rm entfernen.
Was ist der Unterschied zwischen den ibmcloud ks ingress instance-CLI-Befehlen und den ibmcloud 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 die ibmcloud ks ingress instance-Befehle. Die ibmcloud ks ingress instance-Befehle werden verwendet, um Ihre Secrets Manager-Instanzen zu verwalten. Die ibmcloud 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.

  1. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Access (IAM).
  2. Klicken Sie auf Autorisierungen.
  3. Klicken Sie auf Erstellen.
  4. Wählen Sie in der Liste **der Quelldienste **Kubernetes Service aus.
  5. Wählen Sie die Option aus, um den Zugriff auf Alle Ressourcen zu definieren.
  6. Wählen Sie in der Liste Target Service die Option Secrets Manager aus.
  7. Wählen Sie die Option aus, um den Zugriff auf Alle Ressourcen zu definieren.
  8. Aktivieren Sie im Abschnitt Servicezugriff die Option Manager.
  9. 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.

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.

  1. 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
    
  2. 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-default ein. Andernfalls können Sie mit dem Befehl ibmcloud ks ingress instance default set eine Standardinstanz festlegen.

    ibmcloud ks ingress instance register --cluster CLUSTER_NAME_OR_ID --crn INSTANCE_CRN [--is-default]
    
  3. Überprüfen Sie, ob die Instanz Secrets Manager im Cluster registriert wurde.

    ibmcloud ks ingress instance ls --cluster CLUSTER_NAME_OR_ID
    

    Beispielausgabe

    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.

  1. 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
    
  2. 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.

    1. 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 Sie ibmcloud 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 Sie ibmcloud secrets-manager secret-groups aus, 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:

  1. Wählen Sie im Abschnitt Integrationen der Clustererstellungsseite die Option zum Aktivieren von Secrets Manager aus.
  2. 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.
  3. Wählen Sie im Dropdown-Menü Secrets Manager group die Gruppe geheimer Schlüssel aus, die Sie anwenden möchten.
  4. Erstellen Sie den Cluster.
  5. Überprüfen Sie, ob die Secrets Manager-Instanz im Cluster registriert ist.
    1. 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.
    2. Überprüfen Sie in der Seitenanzeige, ob die richtige Instanz unter Registrierte Instanzen von Secrets Manager aufgelistet ist.
    3. Wenn Sie weitere Instanzen im Cluster registrieren möchten, klicken Sie auf Instanzen registrieren.