Orchestrator
2022.10
False
Image de fond de la bannière
Guide de l'utilisateur d'Orchestrator
Dernière mise à jour 19 avr. 2024

Intégration de HashiCorp Vault

HashiCorp Vault est un plug-in que vous pouvez utiliser comme magasin d'informations d'identification avec Orchestrator.

Deux plug-ins sont inclus :

  • HashiCorp Vault : plug-in en lecture-écriture (les clés secrètes sont créées via Orchestrator)
  • HashiCorp Vault (lecture seule) : plug-in en lecture seule (vous devez enregistrer les clés secrètes directement dans le coffre)

Prérequis

  • Vous devez configurer l'une des méthodes d'authentification prises en charge :

  • Vous devez configurer l'un des moteurs de secrets pris en charge :

    • KeyValueV1 : disponible pour les plug-ins HashiCorp Vault et HashiCorp Vault (lecture seule) (HashiCorp Vault (read-only))
    • KeyValueV2 : disponible pour les plug-ins HashiCorp Vault et HashiCorp Vault (lecture seule) HashiCorp Vault (read-only)
    • ActiveDirectory : disponible uniquement pour le plug-in HashiCorp Vault (lecture seule) (HashiCorp Vault (read-only))
  • La méthode d'authentification choisie doit avoir une stratégie qui autorise les fonctionnalités suivantes sur le chemin d'accès où vous prévoyez de stocker vos clés secrètes :

    • Pour le plug-in HashiCorp Vault (lecture seule) (HashiCorp Vault (read-only)) : read
    • Pour le plug-in HashiCorp Vault : create, read, update, delete et éventuellement delete sur le chemin des métadonnées, si vous utilisez le moteur de secrets KeyValueV2

Configuration de l'intégration

Voici un exemple de configuration d'une version de développement de HashiCorp Vault, exécutée dans un conteneur Docker, à utiliser comme magasin d'informations d'identification avec Orchestrator. Les exemples doivent être adaptés à votre propre environnement. Veuillez consulter la documentation officielle de HashiCorp Vault pour plus de détails.

Configuration de l'authentification

Pour commencer à créer et à lire des clés secrètes, vous devez d'abord configurer la méthode d'authentification en suivant ces étapes :

  1. Ouvrez un shell à l'intérieur du conteneur :
    docker exec -it dev-vault shdocker exec -it dev-vault sh
  2. Connectez-vous en tant que racine. Assurez-vous que le jeton racine est affiché dans les journaux pour définir une variable d'environnement en exécutant la commande suivante :
    export VAULT_TOKEN=s.hA7RJ5lBqSnKUPd8nrQBaK1fexport VAULT_TOKEN=s.hA7RJ5lBqSnKUPd8nrQBaK1f
  3. Vérifiez l'état du coffre en exécutant la commande suivante :
    vault statusvault status
  4. Ajoutez une clé secrète factice pour Orchestrator dans le magasin KV :
    vault kv put secret/applications/orchestrator/testSecret supersecretpassword=123456vault kv put secret/applications/orchestrator/testSecret supersecretpassword=123456
  5. Accordez à Orchestrator l'accès au chemin d'accès secret/applications/orchestrator créé. Pour cela, vous devez d'abord créer une stratégie de lecture et d'écriture pour ce chemin d'accès et tous ses sous-chemins d'accès en exécutant la commande suivante :
    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"]
    }
    EOF
    Remarque :
    Lors de l'utilisation d'un moteur de secrets KeyValueV2, les clés secrètes sont écrites et récupérées via le chemin d'accès <mount>/data/<secret-path>, par opposition à <mount>/<secret-path> dans KeyValueV1. Cela ne change aucune des commandes CLI (autrement dit, vous ne spécifiez pas de données au niveau de votre chemin d'accès).
    Cependant, cela modifie les politiques, car les capacités sont appliquées au chemin réel. Dans l'exemple précédent, le chemin d'accès est secret/data/applications/orchestrator/* puisque nous travaillons avec un moteur de secrets KeyValueV2. Si une KeyValueV1 avait été utilisée, le chemin aurait été secret/applications/orchestrator/* .

    La capacité de suppression au niveau du chemin d'accès des métadonnées n'est nécessaire que si vous voulez vous assurer qu'Orchestrator n'oublie aucune clé de test lors de la vérification de la connectivité. Si cette capacité n'est pas accordée, une clé sera créée et oubliée lors de la création du magasin d'informations d'identification dans Orchestrator.

  6. Activez l'authentification à l'aide de la méthode d'authentification userpass, puis créez un utilisateur pour Orchestrator et attribuez la stratégie créée précédemment :
    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-policy
    Remarque : Orchestrator prend en charge plusieurs modes d'authentification. Consultez la documentation de HashiCorp Vault pour savoir comment les configurer.
  7. Vérifiez que votre configuration est correcte en vous connectant et en essayant de lire la clé secrète créée précédemment :
    vault login -method=userpass username=orchestrator password=123456vault login -method=userpass username=orchestrator password=123456

    Sortie de cette commande :

    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
  8. Prenez ce jeton et définissez-le à la place du jeton racine, puis essayez de lire la clé secrète de test :
    export VAULT_TOKEN=s.nwombWQH3gGPDhJumRzxKqgI
    vault kv get secret/applications/orchestrator/testSecretexport VAULT_TOKEN=s.nwombWQH3gGPDhJumRzxKqgI
    vault kv get secret/applications/orchestrator/testSecret

Sortie de cette commande :

====== 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
Remarque :

Vous pouvez également activer la méthode Orchestrator appRole en exécutant la commande suivante :

/# 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

Vous disposerez alors d'un ID de rôle et d'un ID de secret à des fins de configuration dans Orchestrator.

Configuration du moteur de secrets Active Directory

Pour configurer le moteur de secrets Active Directory, suivez ces étapes :

  1. Activez le moteur de secrets Active Directory en exécutant la commande suivante :
    vault secrets enable advault secrets enable ad
  2. Configurez les informations d'identification utilisées par HashiCorp Vault pour communiquer avec Active Directory afin de générer des mots de passe :
    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'
  3. Configurez un rôle qui mappe un nom dans HashiCorp Vault à un compte dans Active Directory. Lorsque les applications demanderont des mots de passe, les paramètres de rotation des mots de passe seront gérés par ce rôle.
    vault write ad/roles/orchestrator service_account_name="my-application@example.com"vault write ad/roles/orchestrator service_account_name="my-application@example.com"
  4. Accordez à orchestrator l'accès à ses informations d'identification sur ad/creds/orchestrator à l'aide d'une méthode d'authentification, telle que 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

Utilisation de HashiCorp Vault (lecture seule) (HashiCorp Vault (read-only))

Lors de l'utilisation du plug-in HashiCorp Vault (lecture seule) (HashiCorp Vault (read-only)), l'administrateur Vault est responsable de l'enregistrement correct des clés secrètes utilisées par Orchestrator. Le format dans lequel ces clés secrètes doivent être enregistrées diffère entre les types de clés secrètes (ressource ou mot de passe du Robot) et entre les moteurs secrets.

Pour obtenir des instructions sur la façon d'enregistrer les clés secrètes, consultez les éléments suivants :

Cette page vous a-t-elle été utile ?

Obtenez l'aide dont vous avez besoin
Formation RPA - Cours d'automatisation
Forum de la communauté UiPath
Logo Uipath blanc
Confiance et sécurité
© 2005-2024 UiPath. All rights reserved.