- Erste Schritte
- Best Practices
- Mandant
- Über den Kontext „Mandant“
- Suche nach Ressourcen in einem Mandanten
- Verwaltung von Robotern
- Verbindung von Robotern mit Orchestrator
- Beispiele für die Einrichtung
- Speicherung von Roboterzugangsdaten in CyberArk
- Einrichten von Attended-Robotern
- Einrichten von Unattended-Robotern
- Speichern von Unattended-Roboterkennwörtern in Azure Key Vault (schreibgeschützt)
- Speichern der Anmeldeinformationen von Unattended-Robotern im HashiCorp Vault (schreibgeschützt)
- Löschen von getrennten und nicht reagierenden Unattended-Sitzungen
- Roboter-Authentifizierung
- Roboter-Authentifizierung mit Client-Anmeldeinformationen
- SmartCard-Authentifizierung
- Audit
- Ressourcenkatalogdienst
- Ordnerkontext
- Automatisierungen
- Prozesse
- Jobs
- Auslöser
- Protokolle
- Überwachung
- Warteschlangen
- Assets
- Speicher-Buckets
- Testverfahren in Orchestrator
- Integrationen
- Klassische Roboter
- Fehlersuche und ‑behebung
HashiCorp Vault ist ein Plugin, das Sie als Anmeldeinformationsspeicher mit dem Orchestrator verwenden können.
Es sind zwei Plugins enthalten:
- HashiCorp Vault – ein Lese-Schreib-Plugin (Geheimschlüssel werden über den Orchestrator erstellt)
- HashiCorp Vault (schreibgeschützt) – ein schreibgeschütztes Plugin (Sie müssen die Geheimschlüssel im Tresor direkt bereitstellen)
Voraussetzungen
- Sie müssen eine der unterstützten Authentifizierungsmethoden konfigurieren:
-
AppRole (empfohlen)
-
UsernamePassword
-
LDAP (Lightweight Directory Access Protocol)
-
Token
See how to configure authentication.
-
- Sie müssen eine der unterstützten Geheimnis-Engines konfigurieren:
- KeyValueV1 – sowohl für das HashiCorp Vault-Plugin als auch für das HashiCorp Vault-Plugin (schreibgeschützt) verfügbar
- KeyValueV2 – sowohl für das HashiCorp Vault-Plugin als auch für das HashiCorp Vault-Plugin (schreibgeschützt) verfügbar
- ActiveDirectory – nur für das HashiCorp Vault-Plugin (schreibgeschützt) verfügbar
- Die gewählte Authentifizierungsmethode muss über eine Richtlinie verfügen, die die folgenden Fähigkeiten auf dem Pfad zulässt, auf dem Sie Ihre Geheimnisse speichern wollen:
- Für das HashiCorp Vault-Plugin (schreibgeschützt):
read - Für HashiCorp Vault-Plugin:
create,read,update,deleteund optionaldeleteim Metadatenpfad, wenn Sie die Geheimnis-EngineKeyValueV2verwenden
- Für das HashiCorp Vault-Plugin (schreibgeschützt):
Konfigurieren der Integration
Im Folgenden wird anhand eines Beispiels gezeigt, wie eine Entwicklungsversion von HashiCorp Vault, die in einem Docker-Container läuft, so konfiguriert wird, dass sie als Anmeldeinformationsspeicher mit dem Orchestrator verwendet werden kann. Die Beispiele sollten an Ihre eigene Umgebung angepasst werden. Weitere Informationen finden Sie in der offiziellen Dokumentation zu HashiCorp Vault.
Konfigurieren der Authentifizierung
Zum Erstellen und Lesen von Geheimnissen müssen Sie zunächst die Authentifizierungsmethode konfigurieren, indem Sie die folgenden Schritte ausführen:
-
Öffnen Sie eine Shell innerhalb des Containers:
docker exec -it dev-vault shdocker exec -it dev-vault sh -
Melden Sie sich als Root an. Stellen Sie sicher, dass das Root-Token in den Protokollen angezeigt wird, um damit eine Umgebungsvariable zu setzen, indem Sie den folgenden Befehl ausführen:
export VAULT_TOKEN=s.hA7RJ5lBqSnKUPd8nrQBaK1fexport VAULT_TOKEN=s.hA7RJ5lBqSnKUPd8nrQBaK1f -
Überprüfen Sie den Vault-Status, indem Sie den folgenden Befehl ausführen:
vault statusvault status -
Fügen Sie ein Dummy-Geheimnis für den Orchestrator in den KV-Speicher ein:
vault kv put secret/applications/orchestrator/testSecret supersecretpassword=123456vault kv put secret/applications/orchestrator/testSecret supersecretpassword=123456 -
Gewähren Sie dem Orchestrator Zugriff auf den neu erstellten
secret/applications/orchestrator-Pfad. Dazu müssen Sie zuerst eine Richtlinie zum Lesen und Schreiben in diesem Pfad und allen seinen Unterpfaden erstellen, indem Sie den folgenden Befehl ausführen:cat <<EOF | vault policy write orchestrator-policy - path "secret/data/applications/orchestrator/*" { capabilities = ["create", "read", "update", "delete"] } path "secret/metadata/applications/orchestrator/*" { capabilities = ["delete"] } EOFcat <<EOF | vault policy write orchestrator-policy - path "secret/data/applications/orchestrator/*" { capabilities = ["create", "read", "update", "delete"] } path "secret/metadata/applications/orchestrator/*" { capabilities = ["delete"] } EOFHinweis:Wenn Sie eine KeyValueV2-Geheimnis-Engine verwenden, werden die Geheimnisse am Pfad
<mount>/data/<secret-path>geschrieben und abgerufen, im Gegensatz zu<mount>/<secret-path>in KeyValueV1. Die CLI-Befehle werden nicht geändert (d. h. Sie geben keine Daten in Ihrem Pfad an).Die Richtlinien werden dadurch jedoch geändert, da Funktionen auf den echten Pfad angewendet werden. Im vorherigen Beispiel ist der Pfad
secret/data/applications/orchestrator/*, da wir mit einer KeyValueV2 Geheimnis-Engine arbeiten. Würde ein KeyValueV2 verwendet, wäre der Pfadsecret/applications/orchestrator/*.Die Funktion zum Löschen im Metadatenpfad ist nur erforderlich, wenn Sie sicherstellen möchten, dass der Orchestrator beim Überprüfen der Konnektivität keine Testschlüssel hinterlässt. Wenn diese Fähigkeit nicht gewährt wird, wird ein Schlüssel erstellt und bei der Erstellung des Anmeldeinformationsspeichers im Orchestrator zurückgelassen.
-
Aktivieren Sie die Authentifizierung mit der
userpass-Authentifizierungsmethode, erstellen Sie dann einen Benutzer für den Orchestrator und weisen Sie die zuvor erstellte Richtlinie zu:vault auth enable userpass vault write auth/userpass/users/orchestrator password=123456 policies=orchestrator-policyvault auth enable userpass vault write auth/userpass/users/orchestrator password=123456 policies=orchestrator-policyHinweis:Der Orchestrator unterstützt mehrere Authentifizierungsmodi. In der Dokumentation zu HashiCorp Vault finden Sie weitere Informationen zu deren Konfiguration.
-
Überprüfen Sie, ob Sie alles richtig konfiguriert haben, indem Sie sich anmelden und versuchen, das zuvor erstellte Geheimnis zu lesen:
vault login -method=userpass username=orchestrator password=123456vault login -method=userpass username=orchestrator password=123456Ausgabe dieses Befehls:
WARNING! The VAULT_TOKEN environment variable is set! This takes precedence over the value set by this command. To use the value set by this command, unset the VAULT_TOKEN environment variable or set it to the token displayed below. Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.nwombWQH3gGPDhJumRzxKqgI token_accessor aGJL6Pzc6fRRuP8d8tTjS2Kj token_duration 768h token_renewable true token_policies ["default" "orchestrator-policy"] identity_policies [] policies ["default" "orchestrator-policy"] token_meta_username orchestratorWARNING! The VAULT_TOKEN environment variable is set! This takes precedence over the value set by this command. To use the value set by this command, unset the VAULT_TOKEN environment variable or set it to the token displayed below. Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.nwombWQH3gGPDhJumRzxKqgI token_accessor aGJL6Pzc6fRRuP8d8tTjS2Kj token_duration 768h token_renewable true token_policies ["default" "orchestrator-policy"] identity_policies [] policies ["default" "orchestrator-policy"] token_meta_username orchestratorWARNING! The VAULT_TOKEN environment variable is set! This takes precedence over the value set by this command. To use the value set by this command, unset the VAULT_TOKEN environment variable or set it to the token displayed below. Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.nwombWQH3gGPDhJumRzxKqgI token_accessor aGJL6Pzc6fRRuP8d8tTjS2Kj token_duration 768h token_renewable true token_policies ["default" "orchestrator-policy"] identity_policies [] policies ["default" "orchestrator-policy"] token_meta_username orchestratorWARNING! The VAULT_TOKEN environment variable is set! This takes precedence over the value set by this command. To use the value set by this command, unset the VAULT_TOKEN environment variable or set it to the token displayed below. Success! You are now authenticated. The token information displayed below is already stored in the token helper. You do NOT need to run "vault login" again. Future Vault requests will automatically use this token. Key Value --- ----- token s.nwombWQH3gGPDhJumRzxKqgI token_accessor aGJL6Pzc6fRRuP8d8tTjS2Kj token_duration 768h token_renewable true token_policies ["default" "orchestrator-policy"] identity_policies [] policies ["default" "orchestrator-policy"] token_meta_username orchestrator -
Nehmen Sie dieses Token und setzen Sie es anstelle des Stammtokens. Dann versuchen Sie, das Testgeheimnis zu lesen:
export VAULT_TOKEN=s.nwombWQH3gGPDhJumRzxKqgI vault kv get secret/applications/orchestrator/testSecretexport VAULT_TOKEN=s.nwombWQH3gGPDhJumRzxKqgI vault kv get secret/applications/orchestrator/testSecret
Ausgabe dieses Befehls:
====== Metadata ======
Key Value
--- -----
created_time 2020-10-12T06:24:41.7827631Z
deletion_time n/a
destroyed false
version 1
=========== Data ===========
Key Value
--- -----
supersecretpassword 123456====== Metadata ======
Key Value
--- -----
created_time 2020-10-12T06:24:41.7827631Z
deletion_time n/a
destroyed false
version 1
=========== Data ===========
Key Value
--- -----
supersecretpassword 123456
====== Metadata ======
Key Value
--- -----
created_time 2020-10-12T06:24:41.7827631Z
deletion_time n/a
destroyed false
version 1
=========== Data ===========
Key Value
--- -----
supersecretpassword 123456====== Metadata ======
Key Value
--- -----
created_time 2020-10-12T06:24:41.7827631Z
deletion_time n/a
destroyed false
version 1
=========== Data ===========
Key Value
--- -----
supersecretpassword 123456
Sie können auch den appRole-Orchestrator aktivieren, indem Sie den folgenden Befehl ausführen:
/ # vault auth enable approle
/ # vault write auth/approle/role/orchestrator policies=orchestrator-policy
/ # vault read auth/approle/role/orchestrator/role-id
/ # vault write -f auth/approle/role/orchestrator/secret-id
/ # vault auth enable approle
/ # vault write auth/approle/role/orchestrator policies=orchestrator-policy
/ # vault read auth/approle/role/orchestrator/role-id
/ # vault write -f auth/approle/role/orchestrator/secret-id
Sie verfügen jetzt über eine Rollen-ID und eine Geheimnis-ID zum Konfigurieren im Orchestrator.
Konfigurieren der Active Directory Geheimnis-Engine
Führen Sie die folgenden Schritte aus, um die Active Directory Geheimnis-Engine zu konfigurieren:
-
Aktivieren Sie die Active Directory Geheimnis-Engine, indem Sie den folgenden Befehl ausführen:
vault secrets enable advault secrets enable ad -
Konfigurieren Sie die Anmeldeinformationen, die HashiCorp Vault für die Kommunikation mit Active Directory verwendet, um Kennwörter zu generieren:
vault write ad/config \ binddn=$USERNAME \ bindpass=$PASSWORD \ url=ldaps://138.91.247.105 \ userdn='dc=example,dc=com'vault write ad/config \ binddn=$USERNAME \ bindpass=$PASSWORD \ url=ldaps://138.91.247.105 \ userdn='dc=example,dc=com' -
Konfigurieren Sie eine Rolle, die einen Namen im HashiCorp Vault einem Konto in Active Directory zuweist. Wenn Anwendungen Kennwörter anfordern, werden die Einstellungen für die Kennwortrotation von dieser Rolle verwaltet.
vault write ad/roles/orchestrator service_account_name="my-application@example.com"vault write ad/roles/orchestrator service_account_name="my-application@example.com" -
Gewähren Sie
orchestratorZugriff auf seine Anmeldeinformationen beiad/creds/orchestratormithilfe einer Authentifizierungsmethode, z. B. AppRole.cat <<EOF | vault policy write orchestrator-policy - path "ad/creds/orchestrator" { capabilities = ["read"] } EOFcat <<EOF | vault policy write orchestrator-policy - path "ad/creds/orchestrator" { capabilities = ["read"] } EOF
Verwenden von HashiCorp Vault (schreibgeschützt)
Wenn Sie das HashiCorp Vault-Plugin (schreibgeschützt) verwenden, ist der Vault-Administrator für die korrekte Bereitstellung der Geheimnisse verantwortlich, die der Orchestrator verwenden wird. Das Format, in dem diese Geheimnisse bereitgestellt werden müssen, unterscheidet sich zwischen den verschiedenen Geheimnistypen (Asset- oder Roboterkennwort) und den verschiedenen Geheimnis-Engines.
Anweisungen zum Bereitstellen der Geheimnisse finden Sie unter: