UiPath Documentation
automation-suite
2024.10
false
Automation Suite in OpenShift – Installationsanleitung
Wichtig :
Bitte beachten Sie, dass dieser Inhalt teilweise mithilfe von maschineller Übersetzung lokalisiert wurde. Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Verwalten der Zertifikate

Verwalten und ersetzen Sie selbstsignierte Zertifikate durch von der Zertifizierungsstelle signierte Zertifikate nach der Installation in der Automation Suite auf OpenShift.

Wichtig:

Der Installationsprozess generiert selbstsignierte Zertifikate in Ihrem Namen. Diese Zertifikate laufen in 90 Tagen ab. Sie müssen sie durch Zertifikate ersetzen, die von einer vertrauenswürdigen Zertifizierungsstelle (CA) signiert wurden, sobald die Installation abgeschlossen ist. Wenn Sie die Zertifikate nicht aktualisieren, funktioniert die Installation nach 90 Tagen nicht mehr.

Sie können das uipathctl -CLI-Tool verwenden, um Zertifikate nach der Installation zu aktualisieren. Weitere Informationen finden Sie in der uipathctl-Dokumentation.

Generieren einer Certificate Signing Request (CSR) und eines privaten Schlüssels

Führen Sie den folgenden Befehl aus, um die CSR und den privaten Schlüssel zu generieren:

# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr
# copy the machine openssl configuration locally
cp /etc/pki/tls/openssl.cnf ./openssl.tmp.cnf

# Replace the [AUTOMATION_SUITE_FQDN] value. For example, "automationsuite.corp.com"
AS_FQDN=[AUTOMATION_SUITE_FQDN]
cat >> ./openssl.tmp.cnf <<EOF
[SAN]
subjectAltName=DNS:$AS_FQDN,DNS:alm.$AS_FQDN,DNS:monitoring.$AS_FQDN,DNS:registry.$AS_FQDN,DNS:objectstore.$AS_FQDN,DNS:insights.$AS_FQDN,DNS:apps.$AS_FQDN
EOF

# create the certificate request
openssl req -new -sha256 -newkey rsa:2048 -nodes -keyout server.key -subj "/C=xx/ST=xx/O=xx/OU=xx/CN=$AS_FQDN" -reqexts SAN -config openssl.tmp.cnf -out ${AS_FQDN}.csr

Ihr IT-Team verwendet die erhaltenen Werte, um ein signiertes Zertifikat zu generieren. Der generierte private Schlüssel bleibt lokal.

Verwalten des TLS-Zertifikats

Um weitere Informationen zum Aktualisieren der TLS-Zertifikate anzuzeigen, führen Sie den folgenden Befehl aus:

uipathctl config update-tls-certificates --help
uipathctl config update-tls-certificates --help

Ausgabe:

************************************************************************************
Manage tls certificates

Usage:
  uipathctl config tls-certificates [flags]
  uipathctl config tls-certificates [command]

Available Commands:
  get         Get the current tls certificates
  update      Update tls certificates

Flags:
  -h, --help   help for tls-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************
************************************************************************************
Manage tls certificates

Usage:
  uipathctl config tls-certificates [flags]
  uipathctl config tls-certificates [command]

Available Commands:
  get         Get the current tls certificates
  update      Update tls certificates

Flags:
  -h, --help   help for tls-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "error")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default 1h0m0s)

************************************************************************************

Suchen der TLS-Zertifikate

Zertifikate werden als geheimer Schlüssel auf Istio-Ebene gespeichert. Sie finden Zertifikate unter dem Namen istio-ingressgateway-certs im Namespace <istio-system> .

Sehen Sie sich die Zertifikatsdateien in der folgenden Liste an:

  • Das Server-TLS-Zertifikat wird als tls.crt gespeichert.
  • Privater Server-TLS-Schlüssel als tls.key
  • CA-Paket wird als ca.crt gespeichert.

Sie können die Geheimnisse mit dem folgenden Befehl überprüfen:

oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml
oc -n <istio-system> get secrets istio-ingressgateway-certs -o yaml

Zertifikate werden auch im <uipath> -Namespace gespeichert. Das gilt für jedes UiPath®-Produkt, das Zertifikatinformationen benötigt, um eingehenden Aufrufen zu vertrauen. Weitere Informationen dazu finden Sie unter Grundlegendes zur Containerarchitektur bezüglich Zertifikaten.

Aktualisieren der TLS-Zertifikate

Wichtig:

Bevor Sie das Serverzertifikat aktualisieren, müssen Sie den privaten Schlüssel entschlüsseln, der im Abschnitt Generieren einer Zertifikatsignierungsanforderung (CSR) und eines privaten Schlüssels generiert wurde. Das Überspringen dieses Entschlüsselungsschritts führt zu einem Fehler.

Führen Sie den folgenden Befehl aus, um den Zertifikatschlüssel zu entschlüsseln:

# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
# replace /path/to/encrypted/cert/key to absolute file path of key
# replace /path/to/decrypt/cert/key to store decrypt key
# Once prompted, please entry the passphrase or password to decrypt the key

openssl rsa -in /path/to/encrypted/cert/key -out /path/to/decrypt/cert/key
Wie die Zertifikatkette zusammengesetzt wird

Wenn Sie den Befehl uipathctl config tls-certificates update ausführen, stellt uipathctl die vollständige Zertifikatkette aus zwei separaten Eingabedateien zusammen:

  • server.crt – Die vollständige öffentliche Serverzertifikatkette im PEM-Format: das Blattserverzertifikat, gefolgt von den Zwischenzertifikaten der Zertifizierungsstelle und der Stammzertifizierungsstelle, die den Signaturpfad für dieses Blattzertifikat bilden. Schließen Sie nur Zertifikate ein, die Teil der tatsächlichen Signaturkette des Blattzertifikats sind – keine gleichgeordneten, nicht verwandten, doppelten oder alternativen Zertifikate von Zertifizierungsstellen.
  • ca.crt – Die vollständige Zertifizierungsstellenkette, einschließlich aller Zwischenzertifikate und der Stammzertifizierungsstelle. Die Datei darf nur die Zertifikate enthalten, die zum Signieren des TLS-Serverzertifikats verwendet werden. Das Einschließen von allem anderen führt zu einem Fehler.

uipathctl führt diese Dateien zur Laufzeit zusammen.

Um das Zertifikat zu aktualisieren, geben Sie den Pfad zu jeder der drei Zertifikatsdateien an. Alle Zertifikatsdateien müssen das Format pem haben.

  • Zertifizierungsstellenpaket – Die vollständige Zertifizierungsstellenkette, die zum Signieren des TLS-Serverzertifikats verwendet wird. Schließen Sie alle Zwischenzertifikate und die Stammzertifizierungsstelle ein. Fügen Sie weder das Blattzertifikat noch andere Zertifikate ein, die nicht zum Signieren des TLS-Serverzertifikats verwendet werden, da das Einschließen von allem anderen zu einem Fehler führt. Das Kettenlimit liegt bei bis zu neun Zertifikaten.
  • Serverzertifikat – Die vollständige öffentliche Serverzertifikatkette im PEM-Format, beginnend mit dem Blattserverzertifikat, gefolgt von den Zwischenzertifikat(en) der Zertifizierungsstelle und der Stammzertifizierungsstelle. Schließen Sie nur die Zertifikate ein, die die eigentliche Signaturkette des Blattzertifikats bilden.
  • Privater Schlüssel – Privater Schlüssel für das Serverzertifikat.
uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key
uipathctl config tls-certificates update --cert server.crt --cacert ca.crt --key server.key

Informationen zur Fehlerbehebung bei Validierungsfehlern von TLS-Zertifikaten finden Sie unter Validierungsfehler bei TLS-Zertifikaten.

Wenn Sie die Zertifikate selbst verwalten möchten, müssen Sie das Flag --use-istio-cert mit dem Befehl zum Aktualisieren der Zertifikate verwenden. Dieses Flag ermöglicht das Kopieren der vorhandenen geheimen Schlüssel in den Namespace uipath . Beachten Sie, dass Sie bei Verwendung des Flags --use-istio-cert keine anderen Zertifikat-Flags verwenden dürfen, da der Befehl andernfalls fehlschlägt.

Wenn Sie einen anderen Namespace anstelle von uipath verwenden, müssen Sie ihn angeben, indem Sie ihn an das Flag--namespace <uipath> übergeben, wobei <uipath> den Namespace darstellt, in dem die Automation Suite bereitgestellt wird.

Zugriff auf das TLS-Zertifikat

Um die Zertifikatsdateien auszudrucken, führen Sie den folgenden Befehl aus:

uipathctl config tls-certificates get
uipathctl config tls-certificates get

Verwalten zusätzlicher Zertifikate von Zertifizierungsstellen

Wichtig:

Wenn der Cluster externer Software vertrauen soll, müssen Sie möglicherweise zusätzliche vertrauenswürdige Zertifizierungsstellen bereitstellen. Beispiele sind das SQL Server-Zertifizierungsstellenzertifikat, das SMTP-Server-Zertifizierungsstellenzertifikat und das externe S3-kompatible Objektspeicher-Zertifizierungsstellenzertifikat.

Sie müssen Zertifikate von Zertifizierungsstellen für jede externe Software bereitstellen, die während der Installation sichere TLS-Kommunikation erfordert. Wenn Sie die TLS-Kommunikation jedoch nicht aktiviert haben, können Sie sie nach der Installation konfigurieren.

Um weitere Informationen über zusätzliche Zertifikate von Zertifizierungsstellen anzuzeigen, führen Sie den folgenden Befehl aus:

 uipathctl config additional-ca-certificates --help
 uipathctl config additional-ca-certificates --help

Ausgabe:

***************************************************************************************

Manage additional ca certificates

Usage:
  uipathctl config additional-ca-certificates [flags]
  uipathctl config additional-ca-certificates [command]

Available Commands:
  get         Get the current additional ca certificates
  update      Update additional ca certificates

Flags:
  -h, --help   help for additional-ca-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.

***************************************************************************************
***************************************************************************************

Manage additional ca certificates

Usage:
  uipathctl config additional-ca-certificates [flags]
  uipathctl config additional-ca-certificates [command]

Available Commands:
  get         Get the current additional ca certificates
  update      Update additional ca certificates

Flags:
  -h, --help   help for additional-ca-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config additional-ca-certificates [command] --help" for more information about a command.

***************************************************************************************

In den folgenden Abschnitten werden die Vorgänge beschrieben, die Sie mit dem Befehl uipathctl config additional-ca-certificates ausführen können.

Aktualisieren der Zertifikate von Zertifizierungsstellen

Um die Zertifikate von Zertifizierungsstellen zu aktualisieren, gehen Sie wie folgt vor:

  1. Aktualisieren Sie die Datei input.json , um auf die Datei mit additional_ca_certs zu verweisen. Weitere Informationen zu diesem Parameter finden Sie unter Zertifikatkonfiguration.
  2. Wenden Sie das Manifest an:
    uipathctl manifest apply input.json --versions versions.json
    uipathctl manifest apply input.json --versions versions.json
    
    Dieser Befehl kann mit Fehlern fehlschlagen wie:
    Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition,
    failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]
    Error: [failed to wait for application argocd/<app-name1>: timed out waiting for the condition,
    failed to wait for application argocd/<app-name2>: timed out waiting for the condition]]
    
    Fahren Sie unabhängig vom Fehler mit Schritt 3 fort, um Bereitstellungen neu zu starten und die Umgebung zu stabilisieren.
  3. Starten Sie alle Bereitstellungen und zustandsbehafteten Gruppen im uipath -Namespace manuell neu:
    kubectl rollout restart deployment -n <uipath>
    kubectl rollout restart sts -n <uipath>
    kubectl rollout restart deployment -n <uipath>
    kubectl rollout restart sts -n <uipath>
    
Hinweis:

Um die alten Zertifikate anzufügen, müssen Sie den Befehl get aus dem Abschnitt Zugriff auf die Zertifikate von Zertifizierungsstellen verwenden und sie an die .pem -Datei des Zertifizierungsstellenzertifikats anhängen, die Sie im Feld additional_ca_certs angeben müssen.

Die Zertifikatspaketdatei von der Zertifizierungsstelle muss in einem gültigen .pem-Format sein und kann mehr als ein Zertifikat enthalten.

Zugriff auf das Zertifikat von einer Zertifizierungsstelle

Um die bereits konfigurierten Zertifikate von Zertifizierungsstellen herunterzuladen, führen Sie den folgenden Befehl aus:

uipathctl config additional-ca-certificates get --namespace <uipath>
uipathctl config additional-ca-certificates get --namespace <uipath>

Verwalten von Identitätstoken-Signaturzertifikaten

Die Automation Suite bietet zwei Methoden, um die Rotation von Identitätstoken-Signaturzertifikaten zu verwalten: automatisch und manuell.

Um weitere Informationen zu Identitätstoken-Signaturzertifikaten anzuzeigen, führen Sie den folgenden Befehl aus:

 uipathctl config token-signing-certificates --help
 uipathctl config token-signing-certificates --help

Ausgabe:

************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  automatic-key-management Manage key management
  get                      Get the current token signing certificate
  rotate                   Rotate token signing certificates
  update                   Update future token signing certificate

Flags:
  -h, --help   help for token-signing-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.

************************************************************************************
************************************************************************************

Manage token signing certificates

Usage:
  uipathctl config token-signing-certificates [flags]
  uipathctl config token-signing-certificates [command]

Available Commands:
  automatic-key-management Manage key management
  get                      Get the current token signing certificate
  rotate                   Rotate token signing certificates
  update                   Update future token signing certificate

Flags:
  -h, --help   help for token-signing-certificates

Global Flags:
      --context string      name of the kubeconfig context to use
  -f, --force               override all user prompts to true
      --kubeconfig string   kubectl configuration file (default: ~/.kube/config)
      --log-format string   log format. one of [text,json] (default "text")
      --log-level string    set log level. one of [trace,debug,info,error] (default "info")
  -q, --quiet               suppress all output except for errors and warnings
      --timeout duration    timeout of the command (default: 90 minutes) (default 1h30m0s)
      --versions string     optional path to versions file

Use "uipathctl config token-signing-certificates [command] --help" for more information about a command.

************************************************************************************
Wichtig:

Sie können eine maximale Schlüssellänge von 4096 Bit zum Signieren von Zertifikaten verwenden. Als Best Practice empfehlen wir dringend, eine Schlüssellänge von mindestens 512 Bit (64 Byte) zu verwenden.

Im folgenden Abschnitt finden Sie Details zu den Vorgängen, die Sie mit dem Befehl uipathctl config token-signing-certificates ausführen können.

Automatische Zertifikatsrotation

Automatische Zertifikatsrotation bedeutet, dass die Automation Suite den Lebenszyklus der Signaturschlüssel verwaltet. Dazu gehören das Rotieren von Schlüsseln alle 90 Tage, die Ankündigung neuer Schlüssel 14 Tage vor der Rotation, die Aufbewahrung alter Schlüssel für 14 Tage nach der Rotation und das Löschen nach Ablauf des 14-Tage-Zeitraums.

Wenn Sie von einer älteren Version auf 2024.10 aktualisieren, ist die automatische Zertifikatsrotation standardmäßig deaktiviert. Führen Sie den folgenden Befehl aus, um die automatische Schlüsselverwaltung zu aktivieren:

uipathctl config token-signing-certificates automatic-key-management enable
uipathctl config token-signing-certificates automatic-key-management enable
Wichtig:

Die Aktivierung der automatischen Zertifikatsrotation kann zu einer Ausfallzeit von bis zu einer Stunde führen.

Die automatische Zertifikatsrotation ist für saubere Automation Suite-Installationen standardmäßig aktiviert. Um die automatische Schlüsselverwaltung zu deaktivieren, führen Sie den folgenden Befehl aus:

uipathctl config token-signing-certificates automatic-key-management disable
uipathctl config token-signing-certificates automatic-key-management disable

Wenn die automatische Verwaltungsfunktion deaktiviert ist, müssen Signaturzertifikate manuell aktualisiert und rotiert werden. Weitere Informationen zur manuellen Schlüsselverwaltung finden Sie in der Dokumentation zum manuellen Aktualisieren und Rotieren des Zertifikats.

Manuelles Aktualisieren des Zertifikats

Hinweis:

Der folgende Befehl ersetzt nicht das vorhandene Tokensignaturzertifikat.

Stellen Sie sicher, dass das von Ihnen bereitgestellte Zertifikat das Format .pem hat. Die Datei server.crt muss die gesamte Kette enthalten, wie im folgenden Beispiel gezeigt:

-----server cert-----
-----root ca chain-----
-----server cert-----
-----root ca chain-----

Führen Sie den folgenden Befehl aus, um das neue Zertifikat zum Signieren des Tokens hochzuladen:

uipathctl config token-signing-certificates update --namespace <uipath> --cert server.crt --key server.key
uipathctl config token-signing-certificates update --namespace <uipath> --cert server.crt --key server.key

Manuelles Rotieren des Zertifikats

Um das alte Zertifikat zu rotieren oder durch das neue zu ersetzen, führen Sie den folgenden Befehl aus:

uipathctl config token-signing-certificates rotate --namespace <uipath>
uipathctl config token-signing-certificates rotate --namespace <uipath>

Starten Sie nach der Rotation Bereitstellungen und StatefulSets neu, indem Sie die folgenden Befehle ausführen:

kubectl -n <uipath> rollout restart deploy
kubectl -n <uipath> rollout restart sts
kubectl -n <uipath> rollout restart deploy
kubectl -n <uipath> rollout restart sts

Zugreifen auf das Zertifikat

Um das aktuelle Tokensignaturzertifikat herunterzuladen, führen Sie den folgenden Befehl aus:

uipathctl config token-signing-certificates get --namespace <uipath>
uipathctl config token-signing-certificates get --namespace <uipath>
Hinweis:

Die Vorlaufzeit zwischen der Zertifikat-Aktualisierung und dem Rotieren sollte etwa 24–48 Stunden betragen.

Wir benötigen diese Vorlaufzeit, um die Authentifizierung für zwischengespeicherte Token, die von einem alten Zertifikat signiert wurden, weiterhin unterstützen zu können.

Wenn Sie das Zertifikat zu früh vor dem Ablauf des Cache-Tokens rotieren, kann dies zu Ausfallzeiten führen. In diesem Fall müssen Sie möglicherweise alle Ihre Roboter neu starten.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben