- Erste Schritte
- Best Practices
- Mandant
- Über den Kontext „Mandant“
- Suche nach Ressourcen in einem Mandanten
- Verwaltung von Robotern
- Verbindung von Robotern mit Orchestrator
- Speicherung von Roboterzugangsdaten in CyberArk
- Speichern der Kennwörter von Unattended-Robotern im Azure Key Vault (schreibgeschützt)
- Speichern der Anmeldeinformationen von Unattended-Robotern im HashiCorp Vault (schreibgeschützt)
- Speichern der Anmeldeinformationen von Unattended-Robotern im AWS Secrets Manager (schreibgeschützt)
- Löschen von getrennten und nicht reagierenden Unattended-Sitzungen
- Roboter-Authentifizierung
- Roboter-Authentifizierung mit Client-Anmeldeinformationen
- Konfigurieren von Automatisierungsfunktionen
- Solutions (Lösungen)
- Audit
- Einstellungen
- Cloud Robots
- Cloud robots overview
- Ausführen von Unattended-Automatisierungen mit Cloud Robot – VM
- Hochladen Ihres eigenen Image
- Wiederverwenden von benutzerdefinierten Maschinen-Images (für manuelle Pools)
- Zurücksetzen der Anmeldeinformationen für eine Maschine (für manuelle Pools)
- Überwachung
- Sicherheitsupdates
- Testversion anfordern
- Häufig gestellte Fragen
- Konfigurieren einer VPN für Cloud-Roboter
- Konfigurieren einer ExpressRoute-Verbindung
- Live-Streaming und Remotesteuerung
- Events
- Anzeigen und Zugreifen auf Benachrichtigungen
- Anzeigen und Zugreifen auf E-Mail-Benachrichtigungen
- Es werden nur ungelesene Benachrichtigungen angezeigt
- Alle Benachrichtigungen als gelesen markieren
- Alle Benachrichtigungen löschen
- Löschen von Benachrichtigungen
- Abonnieren von Ereignissen
- Abbestellen von Ereignissen
- Automation Suite-Roboter
- Ordnerkontext
- Prozesse
- Jobs
- Apps
- Auslöser
- Protokolle
- Überwachung
- Indizes
- Warteschlangen
- Assets
- Über Assets
- Verwalten von Assets in Orchestrator
- Verwalten von Assets in Studio
- Speichern von Assets im Azure Key Vault (schreibgeschützt)
- Speichern von Assets im HashiCorp Vault (schreibgeschützt)
- Speichern von Assets im AWS Secrets Manager (schreibgeschützt)
- Speichern von Assets in Google Secret Manager (schreibgeschützt)
- Verbindungen
- Geschäftsregeln
- Speicher-Buckets
- MCP-Server
- Testverfahren in Orchestrator
- Ressourcenkatalogdienst
- Integrationen
- Fehlersuche und ‑behebung

Orchestrator-Anleitung
Der Orchestrator Credentials Proxy
Sie können dem Orchestrator Ihre eigenen Anmeldeinformationsspeicher hinzufügen, um die Sicherheit Ihrer Verbindungsdaten unabhängig zu steuern.
To do that, you can load your desired credential store plugins, in the form of.dll files, to the Orchestrator Credentials Proxy web service. The installation kit contains all plugins supported by UiPath, but you can also develop your own plugin.dll files to load. This service then makes your plugins available to Orchestrator via a proxy, which is created in Orchestrator based on the the public URL and the secret key generated by the proxy.
Bekanntes Problem
Dies gilt nur für Szenarien, in denen der Port des Orchestrator Credentials Proxy auf einen anderen Wert als den Standardwert 443 festgelegt ist.
Wenn Sie ein Upgrade von einer Version zwischen 1.0.0 und 2.0.1 durchführen und einen benutzerdefinierten Port verwendet haben, wird der lokale Port in der Eingangsregel UiPathOrchestratorCredentialsProxy automatisch in 443 geändert (Standard). Dadurch kann die Verbindung mit dem Proxy nicht hergestellt werden.
Um dies zu umgehen, müssen Sie den lokalen Port in der Eingangsregel beim Upgrade manuell ändern.
Installation
The Orchestrator Credentials Proxy can be installed either through an.msi installer or through a Docker image provided by UiPath.
Über das .msi-Installationsprogramm
Voraussetzungen
Hardwareanforderungen
Dies sind die Mindestanforderungen für die Ausführung des Proxys auf einem Windows Server mit IIS. Der tatsächliche Ressourcenbedarf hängt von der individuellen Verwendung ab.
| CPU-Cores | RAM |
|---|---|
| 2 | 4 GB |
Softwareanforderungen
Die folgenden Windows Server-Versionen sind für die Installation des Proxys erforderlich:
- 2012 R2
- 2016
- 2019
- 2022
- 2025
Folgendes ist erforderlich, um den Proxy verwenden zu können:
- ASP.NET Core versions 3.1 or later
- IIS-Version 8.0 oder höher
- Die folgenden Serverrollen müssen auf Ihrer Maschine installiert sein:
- IIS-DefaultDocument
- IIS-HttpErrors
- IIS-StaticContent
- IIS-RequestFiltering
- IIS-URLAuthorization
- IIS-WindowsAuthentication
- IIS-ASPNET45
- IIS-ISAPIExtensions
- IIS-ISAPIFilter
- IIS-WebSockets
- IIS-ApplicationInit
- IIS-ManagementConsole
- Installieren Sie für Windows Server-Maschinen die Rollen mit dem Server-Manager.
- For Windows 10 or Windows 11 machines, install the roles using the Turn Windows features on or off utility under Control Panel > Programs.
Installationsschritte
Führen Sie die folgenden Schritte aus, um die Installation durchzuführen:
- Download the UiPath Orchestrator Credential Proxy installer from the Customer Portal.
- Installieren Sie den Proxy.
Verbundener Proxy
- Public URL - the Orchestrator Credentials Proxy's URL that is publicly exposed
- SSL Certificate - the Subject or Thumbprint of the SSL certificate used to secure connections with the Orchestrator Credentials Proxy. This is the SSL certificate installed on the computer or web server hosting the proxy.
Note that it must be issued by a public certificate provider, and it needs to be valid for the Public URL.
- Port - the port corresponding to the Public URL
- Secret Key - (automatically generated) the key needed for configuring a custom proxy in the Orchestrator interface; make sure to copy it to your clipboard for future use.
Kann manuell geändert werden und ist auch für die Schlüsselrotation geeignet.
Getrennter Proxy
This feature is only available if you are on the Enterprise - Advanced licensing plan for Flex Pricing Plan, or Enterprise or Application Test Enterprise for Unified Pricing Plan.
- SSL Certificate - the Subject or Thumbprint of the SSL certificate used to secure connections with the Orchestrator Credentials Proxy. This is the SSL certificate installed on the computer or web server hosting the proxy.
- Port - the port corresponding to the URL
- Secret Key - (automatically generated) the key needed for configuring a custom proxy in the Orchestrator interface; make sure to copy it to your clipboard for future use.
Kann manuell geändert werden und ist auch für die Schlüsselrotation geeignet.
Nach der Installation wird der Parameter AppSettings.CredentialsProxyType in der Datei appsettings.Production.json auf „Getrennt“ festgelegt. So erkennt der Proxy den Typ beim Start.
The Anonymous Authentication option must be set to Enabled in IIS for the proxy to work.
Verschlüsseln des Parameters Jwt:Keys
To add an extra layer of security, you can encrypt the Jwt:Keys and SecureStoreConfigurations:Context parameters in your appsettings.json file.
This requires UiPath.ConfigProtector.exe version 1.0.9 or higher.
Über das Docker-Image
Vorläufige Informationen
Alle Orchestrator-Einstellungen für Credentials Proxy, die bearbeitet werden können, sind in der Datei appsettings.json verfügbar. Die folgenden Parameter sind bei der Ersteinrichtung wichtig:
Jwt:Keys– (anfänglich leer) Dieses Array von Strings wird verwendet, um die Authentifizierung des Proxys einzurichten. Dies ist der geheime Schlüssel, den Sie während des Proxy-Erstellungsprozesses verwenden und der es Orchestrator ermöglicht, Daten erfolgreich vom Proxy abzurufen. Alle ungültigen Werte werden ignoriert. Wenn keine gültigen Werte gefunden werden, wird der Proxy nicht gestartet.
Die geheimen Schlüssel müssen sich in base64 befinden und können mithilfe eines der folgenden PowerShell-Skripts generiert werden.
$bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64)
$jwtSigningKey = [Convert]::ToBase64String($bytes);
Write-Host $jwtSigningKey
$bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64)
$jwtSigningKey = [Convert]::ToBase64String($bytes);
Write-Host $jwtSigningKey
Das obige Skript generiert 64 zufällige Bytes (mit SeccureRandom) und konvertiert sie in einen base64-String.
[Byte[]] $bytes = 1..64
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$rng.GetBytes($bytes)
$jwtSigningKey = [Convert]::ToBase64String($bytes);
Write-Host $jwtSigningKey
[Byte[]] $bytes = 1..64
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$rng.GetBytes($bytes)
$jwtSigningKey = [Convert]::ToBase64String($bytes);
Write-Host $jwtSigningKey
appSettings:Plugins.SecureStores– (ursprünglich auf die im Orchestrator verfügbaren Standard-Anmeldeinformationsspeicher festgelegt) Dies ist ein CSV-String, der verwendet wird, um anzugeben, welche DLL- vom Datenträger (vonpath/plugins) geladen werden sollen, damit sichere Speicher vom Proxy verwendet werden können. Das Hinzufügen ungültiger Assemblys zur Liste unterbricht den Start nicht, aber Sie erhalten Protokollfehler, wenn Sie versuchen, sie bereitzustellen.appSettings:SigningCredentialSettings:FileLocation:SigningCredential:FilePathundappSettings:SigningCredentialSettings:FileLocation:SigningCredential:Password– (zunächst ausgeblendet) werden zum Verschlüsseln der ParameterJwt:KeysundSecureStoreConfigurations:Contextverwendet. Dies stellt den Dateipfad zu Ihrem Signaturzertifikat dar.appSettings:SigningCredentialSettings:StoreLocation:Name,appSettings:SigningCredentialSettings:StoreLocation:Location,appSettings:SigningCredentialSettings:StoreLocation:NameType– (zunächst ausgeblendet) werden zum Verschlüsseln der ParameterJwt:KeysundSecureStoreConfigurations:Contextverwendet.
Einrichten und Ausführen des Docker-Images
Führen Sie die folgenden Schritte aus, um den Orchestrator Credentials Proxy mit Docker auszuführen.
- Docker-Image herunterladen
You can download the image from http://registry.uipath.com/.
Make sure to include the required version of the Orchestrator Credentials Proxy in the URL. For example, to download the image for version 2.1.4, use:
http://registry.uipath.com/orchestrator-credentialsproxy:2.1.4
http://registry.uipath.com/orchestrator-credentialsproxy:2.1.4
Diese URL verweist auf ein Docker-Image und muss über die Docker CLI und nicht über einen Webbrowser aufgerufen werden.
Beachten Sie, dass Version 1.0.0 nur den verbundenen Proxy unterstützt, während die Versionen 2.0.0+ auch den getrennten Proxy unterstützen.
Verwenden Sie diesen Befehl, um das Image abzurufen:
$bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64);
$jwtSigningKey = [Convert]::ToBase64String($bytes);
docker run -e LICENSE_AGREEMENT=accept -e Jwt__Keys__0=$jwtSigningKey -p 8000:8080 registry.uipath.com/orchestrator-credentialsproxy:1.0.0
$bytes = [System.Security.Cryptography.RandomNumberGenerator]::GetBytes(64);
$jwtSigningKey = [Convert]::ToBase64String($bytes);
docker run -e LICENSE_AGREEMENT=accept -e Jwt__Keys__0=$jwtSigningKey -p 8000:8080 registry.uipath.com/orchestrator-credentialsproxy:1.0.0
Das ist das standardmäßige UiPath-Image, das die Anmeldeinformationsspeicher enthält, die bereits in Ihrem Cloud-Konto verfügbar sind. Sie können das Image in der Cloud-Umgebung Ihrer Wahl bereitstellen.
Der obige Befehl generiert auch den geheimen Schlüssel.
- Erstellen Sie Ihr eigenes benutzerdefiniertes Docker-Image
Sie können Ihr eigenes Docker-Image mit zusätzlichen Assemblys erstellen, das auf dem von UiPath bereitgestellten und in Schritt 1 heruntergeladenen Image basiert. Folgendes ist dafür notwendig:
- Erstellen Sie eine neue Dockerfile (zur Veranschaulichung nennen wir sie
CustomDockerfile) und fügen Sie Folgendes hinzu:FROM {docker-image-path} RUN rm -rf ./plugins COPY --chown=1001:0 {path of your custom assemblies} ./plugins ENTRYPOINT ["dotnet", "UiPath.OrchestratorCredentialsProxy.dll"]FROM {docker-image-path} RUN rm -rf ./plugins COPY --chown=1001:0 {path of your custom assemblies} ./plugins ENTRYPOINT ["dotnet", "UiPath.OrchestratorCredentialsProxy.dll"]- Ersetzen Sie
{docker-image-path}durch den Pfad zum ursprünglichen Docker-Image, das von UiPath bereitgestellt wird. - Replace
{path of your custom assemblies}with the path to your own credential store .dll files.Find out how Visual Studio uses this Dockerfile to build your images for faster debugging.
- Ersetzen Sie
- Generieren Sie das Docker-Image mit diesem Befehl, der den Namen der neu erstellten Dockerfile enthält:
docker build -f CustomDockerfile . -t customproxydocker build -f CustomDockerfile . -t customproxy - Führen Sie das Docker-Image aus:
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="{your-list-of-assemblies}" customproxydocker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="{your-list-of-assemblies}" customproxy- Ersetzen Sie
{your-list-of-assemblies}durch die DLL-Dateien der benutzerdefinierten Anmeldeinformationsspeicher, die Sie dem Orchestrator hinzufügen möchten.
- Ersetzen Sie
So führen Sie das Image mit einem Jwt:Keys-Parameter aus:
```
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey {docker-image-name}
```
```
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey {docker-image-name}
```
So führen Sie das Image mit mehreren Jwt:Keys-Parametern aus:
```
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0==$jwtSigningKey" -e Jwt__Keys__1==$jwtSigningKey" -e Jwt__Keys__2==$jwtSigningKey ... {docker-image-name}
```
* Replace `{docker-image-name}` with the name you set for your custom Docker image.
```
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0==$jwtSigningKey" -e Jwt__Keys__1==$jwtSigningKey" -e Jwt__Keys__2==$jwtSigningKey ... {docker-image-name}
```
* Replace `{docker-image-name}` with the name you set for your custom Docker image.
Um das Image mit einem benutzerdefinierten Wert für den Parameter appSettings:Plugins.SecureStores auszuführen (d. h. mit Ihrem gewünschten Anmeldeinformationsspeicher), ersetzen Sie den Inhalt dieses Parameters durch Ihre eigenen DLL-Dateien für den Anmeldeinformationsspeicher:
```
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll" {docker-image-name}
```
```
docker run --publish 8000:8080 -e LICENSE_AGREEMENT="accept" -e Jwt__Keys__0=$jwtSigningKey -e appSettings__Plugins.SecureStores="UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll" {docker-image-name}
```
4. (Optional) Test the new Docker image
Um Ihr Image zu testen, greifen Sie auf die Swagger-Schnittstelle auf http://localhost:8000/swagger/index.html zu und überprüfen Sie, ob der dedizierte unauthentifizierte Endpunkt /Health funktioniert. Eine erfolgreiche Anforderung gibt eine leere Antwort mit einem HTTP-Status-Code 200 OK zurück.
Konfiguration
Verbundener und getrennter Proxy
Der erste Schritt beim Konfigurieren Ihres Proxy besteht darin, dass Sie benutzerdefinierte .dll- Plugins, die Sie verwenden möchten, dem Ordner C:\Program Files\UiPath\CredentialsProxy\plugins hinzufügen.
Bei einigen Anmeldeinformationsspeichern müssen Sie möglicherweise Einstellungen auf Anwendungs-, Host- oder Proxyebene konfigurieren. Die Einstellungen entsprechen ihren Orchestrator-Pendants. Sie müssen diese Einstellungen in der appsettings.Production.json-Datei des Proxys angeben.
CyberArk
Sie müssen Einstellungen auf Hostebene wie CLIPasswordSDKExePath, UsePowerShellCLI und AdditionalAllowedCharacters unter dem Parameter Appsettings in der appsettings.Production.json-Datei hinzufügen:
{
// ...
"AppSettings": {
"Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath": "D:\\PathName\\CLIPasswordSDK.exe",
// ...
}
// ...
}
{
// ...
"AppSettings": {
"Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath": "D:\\PathName\\CLIPasswordSDK.exe",
// ...
}
// ...
}
CyberArk CCP
Wenn Sie das CyberArkCCP nicht über den Proxy abrufen können, fügen Sie der appsettings.Production.json-Datei den folgenden Parameter hinzu:
{
// ...
"AppSettings": {
"Plugins.SecureStores.CyberArkCCP.KeyStorageFlags": "MachineKeySet",
// ...
}
// ...
}
{
// ...
"AppSettings": {
"Plugins.SecureStores.CyberArkCCP.KeyStorageFlags": "MachineKeySet",
// ...
}
// ...
}
HashiCorp Vault
Um das Kerberos-Authentifizierungsprotokoll zu aktivieren und die Knotenweiterleitung für HashiCorp Vault zu aktivieren, fügen Sie der appsettings.Production.json-Datei folgende Parameter hinzu:
// ...
"AppSettings": {
"Plugins.SecureStores.HashiCorp Vault.KerberosEnabled": "true", // Optional, for Kerberos enablement
"Plugins.SecureStores.HashiCorp Vault.ForwardToActiveNode": "true", // Optional, for forwarding to active node
// ...
}
// ...
}
// ...
"AppSettings": {
"Plugins.SecureStores.HashiCorp Vault.KerberosEnabled": "true", // Optional, for Kerberos enablement
"Plugins.SecureStores.HashiCorp Vault.ForwardToActiveNode": "true", // Optional, for forwarding to active node
// ...
}
// ...
}
HashiCorp Vault (schreibgeschützt)
Um das Kerberos-Authentifizierungsprotokoll zu aktivieren und die Knotenweiterleitung für HashiCorp Vault (schreibgeschützt) zu aktivieren, fügen Sie der appsettings.Production.json-Datei folgende Parameter hinzu:
// ...
"AppSettings": {
"Plugins.SecureStores.HashiCorp Vault (read only).KerberosEnabled": "true", // Optional, for Kerberos enablement
"Plugins.SecureStores.HashiCorp Vault (read only).ForwardToActiveNode": "true", // Optional, for forwarding to active node
// ...
}
// ...
}
// ...
"AppSettings": {
"Plugins.SecureStores.HashiCorp Vault (read only).KerberosEnabled": "true", // Optional, for Kerberos enablement
"Plugins.SecureStores.HashiCorp Vault (read only).ForwardToActiveNode": "true", // Optional, for forwarding to active node
// ...
}
// ...
}
Nur Proxy getrennt
Dieser Proxytyp ist vollständig vom Orchestrator getrennt, deshalb müssen Sie die Informationen für die Anmeldeinformationstresore lokal in der Konfigurationsdatei appsettings.Production.json angeben. Sie finden die Dateien am folgenden Speicherort: C:\Program Files\UiPath\OrchestratorCredentialsProxy\appsettings.Production.json.
Sie müssen die folgenden Felder in der genannten Datei im Abschnitt AppSettings – SecureStoreConfigurations bearbeiten:
Key– Der Bezeichnerschlüssel für die KonfigurationType– Der Anmeldeinformationstresortyp, wie in den .dll- Dateien, konfiguriert über den ParameterPlugins.SecureStoresinappsettings.json(siehe Beispiele unten)Context– Die Verbindungsinformationen bezüglich der Implementierung des sicheren SpeichersWichtig:Nachdem Sie die Konfigurationsdatei bearbeitet haben, müssen Sie den Dienst über IIS neu starten.
Konfigurationsbeispiele
Sie müssen die folgenden Beispiele zur Konfigurationsdatei appsettings.Production.json hinzufügen, um den getrennten Proxy zu starten. Andernfalls wird der Dienst nicht gestartet.
Wählen Sie das geeignete Beispiel basierend auf Ihrem Anmeldeinformationsspeichertyp aus oder fügen Sie mehrere Anmeldeinformationsspeicher hinzu, indem Sie das allerletzte Beispiel auf dieser Seite verwenden.
Sie müssen die folgenden Felder in der genannten Datei im Abschnitt AppSettings – SecureStoreConfigurations bearbeiten:
Key– Der Bezeichnerschlüssel für die KonfigurationType– Der Anmeldeinformationstresortyp, wie in den .dll- Dateien, konfiguriert über den ParameterPlugins.SecureStoresinappsettings.json(siehe Beispiele unten)Context– Die Verbindungsinformationen bezüglich der Implementierung des sicheren SpeichersWichtig:Nachdem Sie die Konfigurationsdatei bearbeitet haben, müssen Sie den Dienst über IIS neu starten.
Bevor Sie Änderungen an der Datei appsettings.Production.json vornehmen, stellen Sie sicher, dass Sie eine Sicherungskopie der Originaldatei erstellen.Auf diese Weise können Sie die ursprüngliche Konfiguration einfach wiederherstellen oder Änderungen vergleichen, wenn während der Einrichtung Probleme auftreten.
AWS Secrets Manager/AWS Secrets Manager (schreibgeschützt)
...
"SecureStoreConfigurations": [
{
"Key": "<MyAwsStore>",
"Type": "AWS Secrets Manager" / "AWS Secrets Manager (read only)",
"Context": {
"UseDefaultCredentials": "true",
"AccessKey": "<AccessKey>",
"SecretKey": "<SecretKey>",
"Region": "<SelectedRegion>"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyAwsStore>",
"Type": "AWS Secrets Manager" / "AWS Secrets Manager (read only)",
"Context": {
"UseDefaultCredentials": "true",
"AccessKey": "<AccessKey>",
"SecretKey": "<SecretKey>",
"Region": "<SelectedRegion>"
}
},
]
...
Azure Key Vault (schreibgeschützt)
...
"SecureStoreConfigurations": [
{
"Key": "<MyAzureStore>",
"Type": "AzureKeyVault (read only)",
"Context": {
"KeyVaultUri": "<KeyVaultUri>",
"DirectoryId": "<DirectoryId>",
"ClientId": "<ClientId>",
"ClientSecret": "<ClientSecret>"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyAzureStore>",
"Type": "AzureKeyVault (read only)",
"Context": {
"KeyVaultUri": "<KeyVaultUri>",
"DirectoryId": "<DirectoryId>",
"ClientId": "<ClientId>",
"ClientSecret": "<ClientSecret>"
}
},
]
...
Azure Key Vault (lesen/schreiben) wird nicht unterstützt.
BeyondTrust Password Safe – Verwaltete Konten
...
"SecureStoreConfigurations": [
{
"Key": "<MyBeyondTrustManagedAccountsSafe>",
"Type": "BeyondTrust Password Safe - Managed Accounts",
"Context": {
"Hostname": "<HostName>",
"APIRegistrationKey": "<ApiRegistrationKey>",
"APIRunAsUsername": "<Username>",
"DefaultManagedSystemName": "", // can be empty or a string
"SystemAccountDelimiter": "/", // default account delimiter is "/", but it can be changed
"ManagedAccountType": "<ManagedAccountType>" // expected value is one of "system", "domainlinked", "database", "cloud", "application"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyBeyondTrustManagedAccountsSafe>",
"Type": "BeyondTrust Password Safe - Managed Accounts",
"Context": {
"Hostname": "<HostName>",
"APIRegistrationKey": "<ApiRegistrationKey>",
"APIRunAsUsername": "<Username>",
"DefaultManagedSystemName": "", // can be empty or a string
"SystemAccountDelimiter": "/", // default account delimiter is "/", but it can be changed
"ManagedAccountType": "<ManagedAccountType>" // expected value is one of "system", "domainlinked", "database", "cloud", "application"
}
},
]
...
BeyondTrust Password Safe – Team-Kennwörter
...
"SecureStoreConfigurations": [
{
"Key": "<MyBeyondTrustTeamPasswordSafe>",
"Type": "BeyondTrust Password Safe - Team Passwords",
"Context": {
"Hostname": "<HostName>",
"APIRegistrationKey": "<ApiRegistrationKey>",
"APIRunAsUsername": "<Username>",
"FolderPathPrefix" : "/", // default delimiter is "/", but it can be changed
"FolderPasswordDelimiter" : "/" // default delimiter is "/", but it can be changed
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyBeyondTrustTeamPasswordSafe>",
"Type": "BeyondTrust Password Safe - Team Passwords",
"Context": {
"Hostname": "<HostName>",
"APIRegistrationKey": "<ApiRegistrationKey>",
"APIRunAsUsername": "<Username>",
"FolderPathPrefix" : "/", // default delimiter is "/", but it can be changed
"FolderPasswordDelimiter" : "/" // default delimiter is "/", but it can be changed
}
},
]
...
CyberArk – AIM
...
"SecureStoreConfigurations": [
{
"Key": "<MyCyberArk>",
"Type": "CyberArk",
"Context": {
"ApplicationId": "<App_MyCyberArk>",
"Safe": "<Passwords>",
"Folder": "<MyFolder>"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyCyberArk>",
"Type": "CyberArk",
"Context": {
"ApplicationId": "<App_MyCyberArk>",
"Safe": "<Passwords>",
"Folder": "<MyFolder>"
}
},
]
...
Alle Einstellungen auf Hostebene, wie z. B. CLIPasswordSDKExePath, UsePowerShellCLI oder AdditionalAllowedCharacters müssen unter dem Parameter Appsettings gespeichert werden, ähnlich wie bei Orchestrator.
{
// ...
"AppSettings": {
"Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath": "D:\\<MyPath>\\CLIPasswordSDK.exe",
"Plugins.SecureStores": "UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll;UiPath.Orchestrator.SecureStore.CyberArkCCP.dll;UiPath.Orchestrator.SecureStore.CyberArkConjur.dll;UiPath.Orchestrator.SecureStore.HashiCorpVault.dll;UiPath.Orchestrator.SecureStore.ThycoticSecretServer.dll;UiPath.Orchestrator.SecureStore.BeyondTrust.dll;UiPath.Orchestrator.SecureStore.AWSSecretsManager.dll",
"CredentialsProxyType": "Disconnected"
// ...
}
// ...
{
// ...
"AppSettings": {
"Plugins.SecureStores.CyberArk.CLIPasswordSDKExePath": "D:\\<MyPath>\\CLIPasswordSDK.exe",
"Plugins.SecureStores": "UiPath.Orchestrator.CyberArk.dll;UiPath.Orchestrator.AzureKeyVault.SecureStore.dll;UiPath.Orchestrator.SecureStore.CyberArkCCP.dll;UiPath.Orchestrator.SecureStore.CyberArkConjur.dll;UiPath.Orchestrator.SecureStore.HashiCorpVault.dll;UiPath.Orchestrator.SecureStore.ThycoticSecretServer.dll;UiPath.Orchestrator.SecureStore.BeyondTrust.dll;UiPath.Orchestrator.SecureStore.AWSSecretsManager.dll",
"CredentialsProxyType": "Disconnected"
// ...
}
// ...
CyberArk – CCP
...
"SecureStoreConfigurations": [
{
"Key": "<MyCyberArkCCPStore>",
"Type": "CyberArkCCP",
"Context": {
"ApplicationId": "<ApplicationId>",
"Safe": "<CyberArkSafe>",
"Folder": "<CyberArkFolder>",
"WebServiceUrl": "<CentralCredentialProviderUrl>",
"WebServiceName": "<WebServiceName>",
"SerializedClientCertificate": "<ClientCertificate>", // must be the ".pfx" file's content as base64 string
"ClientCertificatePassword": "<ClientCertificatePassword>",
"SerializedRootCA": "<someServerRootCA>" // must be the ".crt" or ".cer" file's content as base64 string
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyCyberArkCCPStore>",
"Type": "CyberArkCCP",
"Context": {
"ApplicationId": "<ApplicationId>",
"Safe": "<CyberArkSafe>",
"Folder": "<CyberArkFolder>",
"WebServiceUrl": "<CentralCredentialProviderUrl>",
"WebServiceName": "<WebServiceName>",
"SerializedClientCertificate": "<ClientCertificate>", // must be the ".pfx" file's content as base64 string
"ClientCertificatePassword": "<ClientCertificatePassword>",
"SerializedRootCA": "<someServerRootCA>" // must be the ".crt" or ".cer" file's content as base64 string
}
},
]
...
Je nach Ihrer IIS-Konfiguration müssen Sie eventuell zusätzliche KeyStorageFlags wie folgt konfigurieren:
"AppSettings": {
...
"Plugins.SecureStores.CyberArkCCP.KeyStorageFlags": "MachineKeySet",
...
}
"AppSettings": {
...
"Plugins.SecureStores.CyberArkCCP.KeyStorageFlags": "MachineKeySet",
...
}
Sie können eine PFX-, CRT- oder CER-Datei wie folgt in eine Zeichenfolge base64 umwandeln:
$fileContentBytes = get-content 'C:\path\to\the.pfx' -Encoding Byte
[System.Convert]::ToBase64String($fileContentBytes) | Out-File 'C:\path\to\the.txt'
$fileContentBytes = get-content 'C:\path\to\the.pfx' -Encoding Byte
[System.Convert]::ToBase64String($fileContentBytes) | Out-File 'C:\path\to\the.txt'
CyberArk® Conjur Cloud (schreibgeschützt)
...
"SecureStoreConfigurations": [
{
"Key": "MyCyberArkConjur",
"Type": "CyberArk Conjur Cloud (read only)",
"Context": {
"ServiceUrl": "https://{myCyberArkConjurUrl}/",
"LoginName": "{myLoginName}",
"ApiKey": "{myApiKey}",
"VariableIdPrefix": "{myPrefix}"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "MyCyberArkConjur",
"Type": "CyberArk Conjur Cloud (read only)",
"Context": {
"ServiceUrl": "https://{myCyberArkConjurUrl}/",
"LoginName": "{myLoginName}",
"ApiKey": "{myApiKey}",
"VariableIdPrefix": "{myPrefix}"
}
},
]
...
CyberArk® Conjur (schreibgeschützt)
...
"SecureStoreConfigurations": [
{
"Key": "MyCyberArkConjur",
"Type": "CyberArk Conjur (read only)",
"Context": {
"ApplianceUrl": "https://{company}.secretsmgr.cyberark.cloud/api",
"Account": "{myAccount}",
"AuthenticationType": "{Jwt|ApiKey}",
"JWT": {
"JwtServiceId": "{myJwtServiceId}",
"IdentityProviderUrl": "{myIdentityProviderUrl}",
"ClientId": "{myClientId}",
"ClientSecret": "{myClientSecret}",
"Scope": "{myScope}"
},
"ApiKey": {
"LoginName": "{myLoginName}",
"Key": "{myApiKey}"
},
"HostId": "{myHostId}",
"VariableIdPrefix": "{myPrefix}"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "MyCyberArkConjur",
"Type": "CyberArk Conjur (read only)",
"Context": {
"ApplianceUrl": "https://{company}.secretsmgr.cyberark.cloud/api",
"Account": "{myAccount}",
"AuthenticationType": "{Jwt|ApiKey}",
"JWT": {
"JwtServiceId": "{myJwtServiceId}",
"IdentityProviderUrl": "{myIdentityProviderUrl}",
"ClientId": "{myClientId}",
"ClientSecret": "{myClientSecret}",
"Scope": "{myScope}"
},
"ApiKey": {
"LoginName": "{myLoginName}",
"Key": "{myApiKey}"
},
"HostId": "{myHostId}",
"VariableIdPrefix": "{myPrefix}"
}
},
]
...
HashiCorp Vault/HashiCorp Vault (schreibgeschützt)
...
"SecureStoreConfigurations": [
{
"Key": "<MyHashiCorp>",
"Type": "HashiCorp Vault" / "HashiCorp Vault (read only)",
"Context": {
"VaultUri": "<VaultUri>",
"AuthenticationType": "<AppRole>",
"RoleId": "<RoleId>",
"SecretId": "<SecretId>",
"Username": "<Username>",
"Password": "<Password>",
"Token": "<Token>",
"SecretsEngine": "<KeyValueV2>",
"SecretsEngineMountPath": "<Secret>",
"DataPath": "<applications/orchestrator>",
"Namespace": "<orchestrator>"
"LdapUseDynamicCredentials" : "true"
"KerberosSPN": "HTTP/vault-spn"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyHashiCorp>",
"Type": "HashiCorp Vault" / "HashiCorp Vault (read only)",
"Context": {
"VaultUri": "<VaultUri>",
"AuthenticationType": "<AppRole>",
"RoleId": "<RoleId>",
"SecretId": "<SecretId>",
"Username": "<Username>",
"Password": "<Password>",
"Token": "<Token>",
"SecretsEngine": "<KeyValueV2>",
"SecretsEngineMountPath": "<Secret>",
"DataPath": "<applications/orchestrator>",
"Namespace": "<orchestrator>"
"LdapUseDynamicCredentials" : "true"
"KerberosSPN": "HTTP/vault-spn"
}
},
]
...
Alle Einstellungen auf Hostebene, wie z. B. Plugins.SecureStores.HashiCorp Vault.KerberosEnabled, Plugins.SecureStores.HashiCorp Vault (read only).KerberosEnabled, Plugins.SecureStores.HashiCorp Vault (read only).ForwardToActiveNode oder Plugins.SecureStores.HashiCorp Vault.ForwardToActiveNode, müssen unter dem Appsettings-Parameter festgelegt werden, ähnlich wie für Orchestrator.
{
// ...
"AppSettings": {
// Optional, for Kerberos Enablement
"Plugins.SecureStores.HashiCorp Vault.KerberosEnabled": "true",
"Plugins.SecureStores.HashiCorp Vault (read only).KerberosEnabled": "true"
// Optional, for Forwarding to Active node
"Plugins.SecureStores.HashiCorp Vault.ForwardToActiveNode": "true",
"Plugins.SecureStores.HashiCorp Vault (read only).ForwardToActiveNode": "true"
// ...
}
// ...
}
{
// ...
"AppSettings": {
// Optional, for Kerberos Enablement
"Plugins.SecureStores.HashiCorp Vault.KerberosEnabled": "true",
"Plugins.SecureStores.HashiCorp Vault (read only).KerberosEnabled": "true"
// Optional, for Forwarding to Active node
"Plugins.SecureStores.HashiCorp Vault.ForwardToActiveNode": "true",
"Plugins.SecureStores.HashiCorp Vault (read only).ForwardToActiveNode": "true"
// ...
}
// ...
}
Thycotic Secret Server
...
"SecureStoreConfigurations": [
{
"Key": "<MyThicoticServer>",
"Type": "Thycotic Secret Server",
"Context": {
"SecretServerUrl": "<ServerUrl>",
"RuleName": "<Rule>",
"RuleKey": "<Key>",
"UsernameField": "<Username>",
"PasswordField": "<Password>"
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<MyThicoticServer>",
"Type": "Thycotic Secret Server",
"Context": {
"SecretServerUrl": "<ServerUrl>",
"RuleName": "<Rule>",
"RuleKey": "<Key>",
"UsernameField": "<Username>",
"PasswordField": "<Password>"
}
},
]
...
Google Secret Manager
...
"SecureStoreConfigurations": [
{
"Key": "<GoogleSecretManager>",
"Type": "Google Secret Manager",
"Context": {
"ProjectId": "<ProjectId>",
"ServiceAccountKeyJson": "<ServiceAccountKeyJson>",
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<GoogleSecretManager>",
"Type": "Google Secret Manager",
"Context": {
"ProjectId": "<ProjectId>",
"ServiceAccountKeyJson": "<ServiceAccountKeyJson>",
}
},
]
...
Google Secret Manager (schreibgeschützt)
...
"SecureStoreConfigurations": [
{
"Key": "<GoogleSecretManager>",
"Type": "Google Secret Manager (read only)",
"Context": {
"ProjectId": "<ProjectId>",
"ServiceAccountKeyJson": "<ServiceAccountKeyJson>",
}
},
]
...
...
"SecureStoreConfigurations": [
{
"Key": "<GoogleSecretManager>",
"Type": "Google Secret Manager (read only)",
"Context": {
"ProjectId": "<ProjectId>",
"ServiceAccountKeyJson": "<ServiceAccountKeyJson>",
}
},
]
...
Mehrere Anmeldeinformationsspeicher
Wenn Sie mehrere Anmeldeinformationsspeicher verwenden, können Sie einen unter dem anderen wie folgt hinzufügen:
{
...
"AppSettings": {
...
"SecureStoreConfigurations": [
{
"Key": "<SecureStoreKey1>",
"Type": "AzureKeyVault (read only)",
"Context": {
"KeyVaultUri": "<Uri>",
"DirectoryId": "<DirectoryId>",
"ClientId": "<ClientId>",
"ClientSecret": "<ClientSecret>"
}
},
{
"Key": "<SecureStoreKey2>",
"Type": "BeyondTrust Password Safe - Managed Accounts",
"Context": {
"Hostname": "<Host>",
"APIRegistrationKey": "<ApiKey>",
"APIRunAsUsername": "<ApiUsername>",
"DefaultManagedSystemName": "",
"SystemAccountDelimiter": "/",
"ManagedAccountType": "system"
}
}
]
...
}
}
{
...
"AppSettings": {
...
"SecureStoreConfigurations": [
{
"Key": "<SecureStoreKey1>",
"Type": "AzureKeyVault (read only)",
"Context": {
"KeyVaultUri": "<Uri>",
"DirectoryId": "<DirectoryId>",
"ClientId": "<ClientId>",
"ClientSecret": "<ClientSecret>"
}
},
{
"Key": "<SecureStoreKey2>",
"Type": "BeyondTrust Password Safe - Managed Accounts",
"Context": {
"Hostname": "<Host>",
"APIRegistrationKey": "<ApiKey>",
"APIRunAsUsername": "<ApiUsername>",
"DefaultManagedSystemName": "",
"SystemAccountDelimiter": "/",
"ManagedAccountType": "system"
}
}
]
...
}
}
Validierung
Das gilt nur für den getrennten Credentials Proxy.
Der Proxy validiert die Konfiguration beim Start, wenn der erkannte Typ Disconnected ist.
Das sind einige der Validierungsschritte, die der Proxy ausführt:
- The proxy ensures that that
appsettings.Production.jsoncontains the expected configurations, as detailed in the Configuration section above. - Der Proxy stellt sicher, dass
SecureStoreConfigurationskeine doppeltenKey-Parameter enthält, d. h., dass die in derappsettings.Production.json-Datei konfigurierten Anmeldeinformationsspeicher eindeutig sind. - Der Parameter
SecureStoreConfigurationsist ein Array von Konfigurationen. Sie können beliebig viele Anmeldeinformationsspeicher hinzufügen, auch vom gleichen Typ. Beispielsweise können Sie mehrere Azure Key Vault-Instanzen (schreibgeschützt) konfigurieren, sofern das FeldKeyeindeutig ist. - Der Proxy überprüft, ob alle
Type-Werte gültig sind. - Basierend auf der Implementierung jedes sicheren Speichers prüft der Proxy, ob der Tresor erfolgreich erreicht werden kann.
Protokollierung
Orchestrator Credentials Proxy-Protokolle werden lokal im Ordner C:\Program Files\UiPath\OrchestratorCredentialsProxy gespeichert, wenn der Anwendungspool des Proxys über Schreibberechtigungen für diesen Pfad verfügt. Diese werden in IIS konfiguriert.
Wenn Sie diesem Ordner keine Schreibberechtigungen erteilen möchten, können Sie einen relativen oder absoluten Pfad Ihrer Wahl über den Parameter NLog.targets.logfile.fileName in appsettings.Production.json angeben.
Auf Windows-Maschinen speichert der Proxy auch Protokolle in der Windows-Ereignisanzeige.
Sicherheitsüberlegungen
- Der Orchestrator lässt nur sichere URLs (HTTPS) für den Proxy zu. Das HTTPS-Zertifikat muss gültig und von einer allgemein anerkannten Zertifizierungsstelle signiert sein. Zertifikate, die selbstsigniert oder von einer internen Stelle signiert sind, werden nicht unterstützt.
- Der Orchestrator wird über einen geheimen Clientschlüssel validiert, der vom Orchestrator Credentials Proxy generiert wird. Der geheime Clientschlüssel wird in einer Konfigurationsdatei auf der Maschine gespeichert, auf der der Orchestrator Credentials Proxy installiert ist, und wird von Orchestrator verschlüsselt und in der Datenbank gespeichert.
- Wenn Sie einen Anmeldeinformationsspeicherproxy im Orchestrator bearbeiten und seine URL ändern, müssen Sie den geheimen Clientschlüssel eingeben.
- Aktionen des Orchestrator Credentials Proxy 2.0.0+ werden in der Windows-Ereignisanzeige protokolliert.
- Binärdateien müssen auf der Windows-Maschine signiert werden.
- Das Docker-Image muss signiert sein.
Verwenden des Orchestrator Credentials Proxy mit einem Lastausgleich
Wenn Sie den Proxy in Kombination mit einem Lastausgleich verwenden, stellen Sie sicher, dass Sie die gleiche Konfiguration auf allen Knoten beibehalten.
Elemente, die für alle Knoten identisch bleiben müssen
- Die Version des Proxy-Installationsprogramms. Wenn Sie z. B. Version 1.0.0 verwenden, müssen auch alle Lastausgleichsknoten 1.0.0 verwenden.
- Die Einstellungen in den Anwendungskonfigurationsdateien. In den meisten Fällen sind das
appsettings.jsonundappsettings.Production.json. Beachten Sie, dassappsettings.Production.jsonfür jede Installation einzigartig ist, deshalb müssen Sie diese Datei manuell zu jedem Knoten hinzufügen, um die Konsistenz sicherzustellen. - Die zu
path/pluginshinzugefügten Anmeldeinformationsspeicher-Plugins. Alle von uns unterstützten Plugins befinden sich bereits in diesem Ordner, sodass Sie nur auf die benutzerdefinierten Plugins achten müssen, die Sie hinzufügen.
Wichtige Punkte, die zu beachten sind
- Wenn Sie Änderungen an der Docker-Image-Konfiguration vornehmen möchten, die wir für die Installation des Proxys bereitstellen, empfehlen wir dringend, stattdessen ein benutzerdefiniertes Docker-Image zu erstellen. Sie sollten dieses benutzerdefinierte Image dann verwenden, um den Proxy auf allen Knoten bereitzustellen.
- Einige Umgebungsvariablen können Auswirkungen auf die Laufzeit haben. Zum Beispiel Umgebungsvariablen, die
appsettings.json-Konfigurationswerte überschreiben, oder solche, die sich auf die .NET-Umgebung auswirken. - Sie können den speziellen nicht authentifizierten Endpunkt
https://{YourOrchestratorCredentialsProxyURL}/api/v1/Healthverwenden, um zu überprüfen, ob der Orchestrator Credentials Proxy noch ausgeführt wird.
Aktualisieren des Orchestrator Credentials Proxy-Zertifikats
Aktualisieren Sie bei Installationen mit einem einzelnen Knoten das SSL-Zertifikat wie folgt:
- Import the new certificate into the Personal folder, under Certificates, in the local machine's certificate console (certlm.msc).
- In the IIS Management Console, expand Sites, and select UiPath Orchestrator Credential Proxy.
- From the right-side panel, select Bindings....
- From the Bindings... view, select the default
httpsrecord, then use the Select... button to choose a certificate. - In the Select Certificate pop-up window, select the newly added certificate.
- Select OK until you complete the setup.
Hinweis:
Stellen Sie bei Installationen mit mehreren Knoten sicher, dass Sie das Zertifikat auf allen Maschinen aktualisieren.
Um das Zertifikat für Installationen mit einem Lastausgleich zu aktualisieren, verwenden Sie die gleichen oben beschriebenen Schritte. Da Orchestrator Credentials Proxy zustandslos ist, entfernen Sie den Knoten aus dem Lastenausgleich, wenn Sie das Zertifikat aktualisieren.
Schlüsselrotation
Schlüsselrotation mit Ausfallzeit
This operation requires stopping and restarting the running Orchestrator Credentials Proxy. This can have an impact on any live requests done by Orchestrator.
- Generieren Sie einen neuen geheimen Schlüssel gemäß den Standards des Orchestrator Credentials Proxy.
- Stoppen Sie Ihren Orchestrator Credentials Proxy.
- Bearbeiten Sie die
appsettings.Production.jsonDatei und überschreiben Sie Ihren vorhandenen Schlüssel mit dem neuen Schlüssel. - Starten Sie Ihren Orchestrator Credentials Proxy.
- Gehen Sie in Orchestrator zu Ihrem Orchestrator Credentials Proxy und bearbeiten Sie das
SecretFeld, indem Sie Ihr neues Geheimnis eintragen.
Schlüsselrotation ohne Ausfallzeit
This operation requires an Orchestrator Credentials Proxy with a load balancer and a minimum of two Orchestrator Credentials Proxy instances. For more information, check the Installation section.
- Generieren Sie einen neuen geheimen Schlüssel gemäß den Standards des Orchestrator Credentials Proxy.
- Fügen Sie den neu generierten Schlüssel zu Ihren Credentials Proxy-Instanzen hinzu. Führen Sie für jede Instanz dieses Verfahren durch:
- Entfernen Sie eine Orchestrator Credentials Proxy-Instanz aus dem Load Balancer.
- Stoppen Sie diese Orchestrator Credentials Proxy-Instanz.
- Öffnen Sie die
appsettings.Production.jsonDatei. Die Datei sollte einen Code enthalten, der dem folgenden ähnelt:{ "Jwt": { "Keys": [ "{{OldKey}}" ],{ "Jwt": { "Keys": [ "{{OldKey}}" ], - Fügen Sie den neu generierten Schlüssel hinzu und behalten Sie den vorhandenen bei. Der
KeysParameter unterstützt mehrere durch Kommas getrennte Werte:{ "Jwt": { "Keys": [ "{{OldKey}}", "{{NewKey}}" ],{ "Jwt": { "Keys": [ "{{OldKey}}", "{{NewKey}}" ], - Starten Sie den Orchestrator Credentials Proxy.
- Fügen Sie die Orchestrator Credentials Proxy-Instanz wieder in den Load Balancer ein.
- Gehen Sie in Orchestrator zu Ihrem Orchestrator Credentials Proxy und bearbeiten Sie das
SecretFeld, indem Sie Ihr neues Geheimnis eintragen. - Entfernen Sie nach einiger Zeit Ihren alten Schlüssel aus den Credentials Proxy-Instanzen.Führen Sie für jede Instanz dieses Verfahren durch:
- Entfernen Sie eine Orchestrator Credentials Proxy-Instanz aus dem Load Balancer.
- Stoppen Sie diese Orchestrator Credentials Proxy-Instanz.
- Öffnen Sie die
appsettings.Production.jsonDatei. Die Datei sollte zwei Schlüssel enthalten, wie in den vorherigen Schritten beschrieben:{ "Jwt": { "Keys": [ "{{OldKey}}", "{{NewKey}}" ],{ "Jwt": { "Keys": [ "{{OldKey}}", "{{NewKey}}" ], - Entfernen Sie den alten Schlüssel aus der Datei:{ "Jwt": { "Keys": [ "{{NewKey}}"],
- Starten Sie den Orchestrator Credentials Proxy.
- Fügen Sie die Orchestrator Credentials Proxy-Instanz wieder in den Load Balancer ein.
- Bekanntes Problem
- Installation
- Über das .msi-Installationsprogramm
- Über das Docker-Image
- Konfiguration
- Verbundener und getrennter Proxy
- CyberArk
- CyberArk CCP
- HashiCorp Vault
- HashiCorp Vault (schreibgeschützt)
- Nur Proxy getrennt
- Konfigurationsbeispiele
- Validierung
- Protokollierung
- Sicherheitsüberlegungen
- Verwenden des Orchestrator Credentials Proxy mit einem Lastausgleich
- Elemente, die für alle Knoten identisch bleiben müssen
- Wichtige Punkte, die zu beachten sind
- Aktualisieren des Orchestrator Credentials Proxy-Zertifikats
- Schlüsselrotation
- Schlüsselrotation mit Ausfallzeit
- Schlüsselrotation ohne Ausfallzeit