Zertifikate manuell rotieren

Wählen Sie eine Dokumentationsversion aus:

Standardmäßig verwendet der AlloyDB Omni Kubernetes-Operator cert-manager, um eine Reihe von TLS-Zertifikaten für jeden Datenbankcluster bereitzustellen. Neben dem Datenbankserverzertifikat erstellt der Operator Zertifikate für Steuerungsebenenkomponenten, um interne Verbindungen zu sichern.

Während cert-manager Zertifikatsverlängerungen basierend auf den Feldern duration und renewBefore eines Certificate-Objekts automatisiert, müssen Sie in den folgenden Szenarien möglicherweise manuell eine Zertifikatsrotation auslösen:

  • Ein privater Schlüssel wurde kompromittiert.
  • Ein CA-Zertifikat wird rotiert. Gemäß der cert-manager-Dokumentation werden die untergeordneten Zertifikate nicht automatisch neu ausgestellt, wenn ein CA-Zertifikat rotiert wird, das mit einem Aussteller verknüpft ist.
  • Die automatische Neuausstellung von cert-manager schlägt fehl. Obwohl selten, müssen Sie eine manuelle Rotation auslösen, wenn die automatische Neuausstellung aufgrund bestimmter Bedingungen, die in den FAQs zu `cert-manager` beschrieben sind, nicht ausgelöst wird.

Hinweis

  • Achten Sie darauf, dass kubectl für den Zugriff auf Ihren Kubernetes-Cluster konfiguriert ist.
  • Achten Sie darauf, dass cert-manager in Ihrem Kubernetes-Cluster ausgeführt wird.

Manuelle Zertifikatsrotation

Wenn Sie die Zertifikatsrotation manuell auslösen möchten, löschen Sie das Secret, das mit dem cert-manager-Certificate-Objekt verknüpft ist. Der cert-manager-Controller gleicht das Objekt ab und stellt das Zertifikat neu aus, wodurch ein neues Secret erstellt wird. Mit dem AlloyDB Omni-Operator verknüpfte Arbeitslasten laden ihre TLS-Konfigurationen automatisch neu, um das neue Zertifikat zu verwenden.

  1. Ermitteln Sie das cert-manager-Certificate, das Sie rotieren möchten. Diese Objekte befinden sich im DBCluster-Namespace und im Namespace, in dem der AlloyDB Omni-Operator installiert ist. Die Namen von CA-Zertifikaten haben das Präfix dbs-al-ca, während untergeordnete Zertifikate das Präfix dbs-al-cert haben. Verwenden Sie in den verbleibenden Schritten den Namen des zugehörigen Secrets aus der Ausgabe.

    kubectl get certificate CERTIFICATE_NAME -n NAMESPACE -o wide
    
  2. Sichern Sie das Zertifikatssecret, bevor Sie die Rotation auslösen:

    kubectl get secret SECRET_NAME -n NAMESPACE -o yaml > SECRET_NAME-NAMESPACE.yaml.bak
    
  3. Löschen Sie das Zertifikatssecret:

    kubectl delete secret SECRET_NAME -n NAMESPACE
    
  4. Warten Sie, bis cert-manager das Zertifikatssecret neu erstellt hat:

    kubectl get secret SECRET_NAME -n NAMESPACE -w
    

Zertifikatsrotation überprüfen

Nachdem Sie die Zertifikate manuell rotiert haben, prüfen Sie, ob die neuen Zertifikate verwendet werden:

  1. Prüfen Sie das Zertifikatssecret. Der Wert creationTimestamp muss die Zeit widerspiegeln, nachdem Sie das Zertifikat manuell rotiert haben:

    kubectl get secret SECRET_NAME -n NAMESPACE -o yaml
    
  2. Prüfen Sie den Status von Certificate. Prüfen Sie, ob die Daten notBefore und notAfter im Statusbereich korrekt sind:

    kubectl describe certificate CERTIFICATE_NAME -n NAMESPACE
    

Nächste Schritte