UiPath Documentation
automation-suite
2.2510
true
Guide d'installation d'Automation Suite sur EKS/AKS
Important :
Veuillez noter que ce contenu a été localisé en partie à l’aide de la traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

Configuration de HashiCorp Vault en tant que magasin secret

Configurez HashiCorp Vault en tant que magasin de secrets pour Automation Suite sur EKS/AKS.

Vous pouvez configurer HashiCorp Vault en tant que magasin secret à l'aide de l'une des méthodes d'authentification suivantes :

  • Authentification Kubernetes
  • Authentification AppRole

HashiCorp Vault fournit un moteur de clés secrètes KV (Key-Value) pour le stockage des clés secrètes.

Par défaut, toutes les données sensibles sont définies dans input.json. Vous pouvez séparer ces données en deux parties :

  • input.json : contient uniquement les données de configuration.
  • HashiCorp Vault : enregistre les informations d'identification en toute sécurité.
Remarque :

Vous ne pouvez pas stocker les chemins de certificat ou les informations d'identification liées au certificat dans le magasin secret.

Important :

Toutes les informations d'identification référencées dans input.json doivent exister en tant que clés secrètes dans HashiCorp Vault avant de configurer le magasin de clés secrètes. S'il manque des informations d'identification référencées, l'installation échoue.

Utilisation de l'authentification Kubernetes​

Le pod ESO s'authentifie auprès de HashiCorp Vault à l'aide de son jeton de compte de service Kubernetes. Vault authentifie le jeton par rapport au serveur d'API Kubernetes et émet un jeton Vault avec les stratégies appropriées.

Prérequis​

  • HashiCorp Vault avec la méthode d'authentification Kubernetes activée
  • Rôle du coffre configuré pour autoriser le compte de service ESO. Par défaut, le nom du compte de service est external-secrets.
  • Connectivité réseau du cluster Kubernetes vers le serveur Vault
  • (Facultatif) Un Kubernetes ServiceAccount personnalisé, si le compte de service par défaut ESO n'est pas utilisé

Configuring input.json​

Pour configurer HashiCorp Vault en tant que magasin secret à l'aide de Kubernetes Auth, ajoutez la section suivante à input.json:

{
  "secret_store": {
    "enabled": true,
    "provider_configs": [
      {
        "name": "hc-vault",
        "type": "hashicorp",
        "auth_type": "kubernetes",
        "hashicorp_kv": {
          "server": "https://vault.example.com:8200",
          "path": "secret",
          "version": "v2",
          "role": "uipath-role",
          "mount_path": "kubernetes"
        }
      }
    ]
  }
}
{
  "secret_store": {
    "enabled": true,
    "provider_configs": [
      {
        "name": "hc-vault",
        "type": "hashicorp",
        "auth_type": "kubernetes",
        "hashicorp_kv": {
          "server": "https://vault.example.com:8200",
          "path": "secret",
          "version": "v2",
          "role": "uipath-role",
          "mount_path": "kubernetes"
        }
      }
    ]
  }
}

Pour utiliser un CompteService personnalisé, ajoutez le champ service_account_name comme suit :

{
  "secret_store": {
    "enabled": true,
    "provider_configs": [
      {
        "name": "hc-vault",
        "type": "hashicorp",
        "auth_type": "kubernetes",
        "service_account_name": "vault-auth-sa",
        "hashicorp_kv": {
          "server": "http://vault.example.com:8200",
          "path": "secret",
          "version": "v2",
          "role": "uipath-role",
          "mount_path": "kubernetes"
        }
      }
    ]
  }
}
{
  "secret_store": {
    "enabled": true,
    "provider_configs": [
      {
        "name": "hc-vault",
        "type": "hashicorp",
        "auth_type": "kubernetes",
        "service_account_name": "vault-auth-sa",
        "hashicorp_kv": {
          "server": "http://vault.example.com:8200",
          "path": "secret",
          "version": "v2",
          "role": "uipath-role",
          "mount_path": "kubernetes"
        }
      }
    ]
  }
}
Remarque :

Si service_account_name est configuré, le ServiceAccount doit être pré-créé par le client. uipathctl valide son existante mais ne la crée pas.

Utiliser l’authentification AppRole​

L'authentification AppRole utilise la méthode d'authentification AppRole de Vault, où ESO s'authentifie avec un ID de rôle et un ID de secret stockés dans une clé secrète Kubernetes. Cette méthode convient aux systèmes automatisés et ne nécessite pas que l'authentification Kubernetes soit activée dans Vault.

Prérequis​

  • HashiCorp Vault avec la méthode d'authentification AppRole activée
  • ID de rôle AppRole et ID de secret générés
  • Clé secrète Kubernetes pré-créée avec les informations d’identification AppRole

Configuring input.json​

Pour configurer HashiCorp Vault en tant que magasin secret à l'aide de l'authentification d'AppRole, procédez comme suit :

  1. Créez la clé secrète Kubernetes qui stocke les informations d’identification AppRole :

    kubectl create secret generic vault-approle-creds \
      --namespace uipath \
      --from-literal=role-id=<your-role-id> \
      --from-literal=secret-id=<your-secret-id>
    kubectl create secret generic vault-approle-creds \
      --namespace uipath \
      --from-literal=role-id=<your-role-id> \
      --from-literal=secret-id=<your-secret-id>
    

    Le secret doit contenir les clés suivantes :

    • role-id : ID de rôle AppRole du coffre
    • secret-id - ID du secret de l’application AppRole du coffre
  2. Ajoutez la section suivante à input.json:

    {
      "secret_store": {
        "enabled": true,
        "provider_configs": [
          {
            "name": "hc-vault",
            "type": "hashicorp",
            "auth_type": "approle",
            "credentials_secret_name": "vault-approle-creds",
            "hashicorp_kv": {
              "server": "https://vault.example.com:8200",
              "path": "secret",
              "version": "v2",
              "mount_path": "approle"
            }
          }
        ]
      }
    }
    {
      "secret_store": {
        "enabled": true,
        "provider_configs": [
          {
            "name": "hc-vault",
            "type": "hashicorp",
            "auth_type": "approle",
            "credentials_secret_name": "vault-approle-creds",
            "hashicorp_kv": {
              "server": "https://vault.example.com:8200",
              "path": "secret",
              "version": "v2",
              "mount_path": "approle"
            }
          }
        ]
      }
    }
    

Champs de configuration​

Le tableau suivant décrit les champs de configuration disponibles.

ChampRequisDefaultDescription
hashicorp_kv.serverOui (Yes)-URL du serveur Vault
hashicorp_kv.pathNon (No)secretChemin de montage du moteur de clés secrètes KV
hashicorp_kv.versionNon (No)v2Version du moteur KV : v1 ou v2
hashicorp_kv.roleNon (No)uipath-roleNom du rôle du coffre pour l’authentification
hashicorp_kv.mount_pathNon (No)kubernetes ou approle (Basé sur auth_type)Chemin de montage de la méthode d’authentification
auth_typeOui (Yes)-Doit être kubernetes ou approle
credentials_secret_nameOui (AppRole uniquement)-Secret Kubernetes contenant les clés role-id et secret-id
service_account_nameNon (No)external-secretsKubernetes ServiceAccount pour Kubernetes Auth. Si un CompteService personnalisé est spécifié, vous devez le pré-créer dans le cluster.

Gestion des certificats CA TLS​

Lorsque le serveur Vault utilise HTTPS avec un certificat CA privé, configurez additional_ca_certs dans input.json avec le chemin d'accès au fichier de certificat CA :

additional_ca_certs: /path/to/client_cert
additional_ca_certs: /path/to/client_cert

Aucune configuration supplémentaire n'est nécessaire dans le bloc hashicorp_kv .

Référencement des clés secrètes dans input.json​

Pour référencer des informations d'identification stockées dans HashiCorp Vault ), utilisez le format suivant en input.json:

vault/<vault-name>/<secret-path>?key=<key-name>
vault/<vault-name>/<secret-path>?key=<key-name>
  • Champ spécifique : vault/hc-vault/s3-credentials?key=access_key
  • Version épinglée : vault/hc-vault/platform-sql?version=2

L'exemple suivant montre comment référencer une clé secrète HashiCorp Vault dans input.json:

admin_password: vault/hc-vault/admin-password-10832372?key=value
admin_password: vault/hc-vault/admin-password-10832372?key=value

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

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour