UiPath Documentation
automation-suite
2.2510
true
Automation Suite in der EKS/AKS-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.

Konfigurieren von HashiCorp Vault als Secretstore

Konfigurieren Sie HashiCorp Vault als Geheimnisspeicher für die Automation Suite auf EKS/AKS.

Sie können HashiCorp Vault mit einer der folgenden Authentifizierungsmethoden als Secretstore konfigurieren:

  • Kubernetes-Authentifizierung
  • AppRole-Authentifizierung

HashiCorp Vault bietet eine KV-Geheimnis-Engine zum Speichern von Geheimnissen.

Standardmäßig werden alle vertraulichen Daten in input.json definiert. Sie können diese Daten in zwei Teile aufteilen:

  • input.json – enthält nur Konfigurationsdaten.
  • HashiCorp Vault – Speichert Anmeldeinformationen sicher.
Hinweis:

Sie können Zertifikatspfade oder zertifikatbezogene Anmeldeinformationen nicht als Teil des Secretstore speichern.

Wichtig:

Alle Anmeldeinformationen, auf die in input.json verwiesen wird, müssen als Geheimnisse im HashiCorp Vault vorhanden sein, bevor Sie den Geheimnisspeicher konfigurieren. Fehlen referenzierte Anmeldeinformationen, schlägt die Installation fehl.

Verwenden der Kubernetes-Authentifizierung​

Der ESO-Pod authentifiziert sich bei HashiCorp Vault mithilfe seines Kubernetes-Dienstkontotokens. Vault authentifiziert das Token beim Kubernetes API-Server und stellt ein Vault-Token mit den entsprechenden Richtlinien aus.

Voraussetzungen​

  • HashiCorp Vault mit aktivierter Kubernetes-Authentifizierungsmethode
  • Tresorrolle, die so konfiguriert ist, dass sie das ESO-Dienstkonto zulässt. Standardmäßig ist der Dienstkontoname external-secrets.
  • Netzwerkkonnektivität vom Kubernetes-Cluster zum Vault-Server
  • (Optional) Ein benutzerdefiniertes Kubernetes ServiceAccount, wenn nicht das ESO-Standarddienstkonto verwendet wird

Configuring input.json​

Um HashiCorp Vault als Secretstore mit Kubernetes Auth zu konfigurieren, fügen Sie den folgenden Abschnitt zu input.json hinzu:

{
  "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"
        }
      }
    ]
  }
}

Um ein benutzerdefiniertes Servicekonto zu verwenden, fügen Sie das Feld service_account_name wie folgt hinzu:

{
  "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"
        }
      }
    ]
  }
}
Hinweis:

Wenn service_account_name konfiguriert ist, muss das Servicekonto vom Kunden vorab erstellt werden. uipathctl überprüft seine Existenz, erstellt es aber nicht.

Verwenden der AppRole-Authentifizierung​

Die AppRole-Authentifizierung verwendet die AppRole-Authentifizierung von Vault, bei der sich ESO mit einer Rollen-ID und einer Geheimnis-ID authentifiziert, die in einem Kubernetes-Geheimnis gespeichert sind. Diese Methode eignet sich für automatisierte Systeme und erfordert nicht, dass die Kubernetes-Authentifizierung in Vault aktiviert ist.

Voraussetzungen​

  • HashiCorp Vault mit aktivierter AppRole-Authentifizierungsmethode
  • AppRole-Rollen-ID und geheime ID werden generiert
  • Kubernetes-Geheimnis, vorerstellt mit AppRole-Anmeldeinformationen

Configuring input.json​

Um HashiCorp Vault als Secretstore mit AppRole Auth zu konfigurieren, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie das Kubernetes-Geheimnis, in dem die AppRole-Anmeldeinformationen gespeichert werden:

    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>
    

    Das Geheimnis muss folgende Schlüssel enthalten:

    • role-id – AppRole-Rollen-ID vom Vault
    • secret-id – Geheime AppRole-ID vom Vault
  2. Fügen Sie den folgenden Abschnitt zu input.json hinzu:

    {
      "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"
            }
          }
        ]
      }
    }
    

Konfigurationsfelder​

In der folgenden Tabelle werden die verfügbaren Konfigurationsfelder beschrieben.

FeldErforderlichStandardBeschreibung
hashicorp_kv.serverJa-Tresorserver-URL
hashicorp_kv.pathNeinsecretBereitstellungspfad der Geheimnis-KV-Engine
hashicorp_kv.versionNeinv2KV-Engine-Version: v1 oder v2
hashicorp_kv.roleNeinuipath-roleName der Tresorrolle für die Authentifizierung
hashicorp_kv.mount_pathNeinkubernetes oder approle (basiert auf auth_type)Bereitstellungspfad der Auth-Methode
auth_typeJa-Muss kubernetes oder approlesein
credentials_secret_nameJa (Nur AppRole)-Kubernetes-Geheimnis, das die Schlüssel role-id und secret-id enthält
service_account_nameNeinexternal-secretsKubernetes-Dienstkonto für Kubernetes-Authentifizierung Wenn ein benutzerdefiniertes Dienstkonto angegeben ist, müssen Sie es im Cluster vorab erstellen.

Verarbeitung von TLS-Zertifizierungsstellen​

Wenn der Vault-Server HTTPS mit einem privaten Zertifizierungsstellenzertifikat verwendet, konfigurieren Sie additional_ca_certs in input.json mit dem Dateipfad des Zertifizierungsstellenzertifikats:

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

Im hashicorp_kv -Block ist keine zusätzliche Konfiguration erforderlich.

Verweisen auf Geheimnisse in input.json​

Um auf Anmeldeinformationen zu verweisen, die in HashiCorp Vault gespeichert sind, verwenden Sie das folgende Format in input.json:

vault/<vault-name>/<secret-path>?key=<key-name>
vault/<vault-name>/<secret-path>?key=<key-name>
  • Bestimmtes Feld: vault/hc-vault/s3-credentials?key=access_key
  • Angeheftete Version: vault/hc-vault/platform-sql?version=2

Das folgende Beispiel zeigt, wie auf ein HashiCorp Vault-Geheimnis in input.json verwiesen wird:

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

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