UiPath Documentation
automation-suite
2.2510
true
OpenShift の Automation Suite のインストール ガイド
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

HashiCorp Vault をシークレット ストアとして設定する

Kubernetes または AppRole の認証方法を使用して、HashiCorp Vault をシークレット ストアとして設定します。

HashiCorp Vault をシークレット ストアとして設定するには、以下のいずれかの認証方法を使用します。

  • Kubernetes 認証
  • AppRole 認証

HashiCorp Vault には、シークレットを格納するための KV (Key-Value) シークレット エンジンが用意されています。

デフォルトでは、すべての機密データは input.jsonで定義されます。このデータは、次の 2 つの部分に分けることができます。

  • input.json - 構成データのみが含まれます。
  • HashiCorp Vault - 資格情報を安全に保存します。
注:

証明書のパスや証明書関連の資格情報を secretstore の一部として保存することはできません。

重要:

シークレット ストアを設定する前に、 input.json で参照されるすべての資格情報が HashiCorp Vault にシークレットとして存在している必要があります。参照されている資格情報がない場合、インストールは失敗します。

Kubernetes 認証を使用する​

ESO ポッドは、Kubernetes サービス アカウント トークンを使用して HashiCorp Vault に対して認証を行います。Vault は Kubernetes API サーバに対してトークンを認証し、適切なポリシーを使用して Vault トークンを発行します。

前提条件​

  • Kubernetes 認証方法が有効化されている HashiCorp Vault
  • ESO サービスアカウントを許可するように設定された Vault ロール。既定では、サービス アカウント名は [ external-secrets] です。
  • KubernetesクラスタからVaultサーバへのネットワーク接続
  • (オプション)カスタムの Kubernetes ServiceAccount (ESO のデフォルト サービス アカウントを使用しない場合)

Configuring input.json​

Kubernetes 認証を使用して HashiCorp Vault をシークレット ストアとして設定するには、以下のセクションを追加します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"
        }
      }
    ]
  }
}

カスタムの ServiceAccount を使用するには、次のように service_account_name フィールドを追加します。

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

service_account_name を構成した場合、ServiceAccount は顧客が事前に作成する必要があります。uipathctl はその存在を検証しますが、作成はしません。

AppRole 認証を使用する​

AppRole 認証は Vault の AppRole 認証方法を使用し、ESO は Kubernetes シークレットに保存されたロール ID とシークレット ID で認証します。この方法は自動システムに適しており、Vault で Kubernetes 認証を有効化する必要はありません。

前提条件​

  • AppRole 認証方法が有効化された HashiCorp Vault
  • AppRole Role ロール ID とシークレット ID の生成
  • AppRole の資格情報で事前に作成された Kubernetes シークレット

Configuring input.json​

AppRole Auth を使用して HashiCorp Vault をシークレット ストアとして設定するには、以下の手順を実行します。

  1. AppRole の資格情報を格納する Kubernetes シークレットを作成します。

    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>
    

    シークレットには、次の各キーを記述する必要があります。

    • role-id - Vault の AppRole ロール ID
    • secret-id - Vault からの AppRole シークレット ID
  2. 次のセクションを 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"
            }
          }
        ]
      }
    }
    

設定フィールド​

次の表で、利用可能な設定フィールドについて説明します。

フィールドRequired既定 (Default)説明
hashicorp_kv.serverはい-ヴォールト サーバ URL
hashicorp_kv.pathいいえsecretKV シークレット エンジンのマウント パス
hashicorp_kv.versionいいえv2KVエンジンバージョン: v1 または v2
hashicorp_kv.roleいいえuipath-role認証用のコンテナー ロール名
hashicorp_kv.mount_pathいいえkubernetes または approle ( auth_typeに基づく)認証方法のマウント パス
auth_typeはい-[kubernetes] または [approle] である必要があります
credentials_secret_nameはい (AppRole のみ)-role-id キーと secret-id キーを含む Kubernetes シークレット
service_account_nameいいえexternal-secretsKubernetes ServiceAccountを認証します。カスタムの ServiceAccount が指定されている場合は、クラスター内で事前に作成する必要があります。

TLS CA 証明書の処理​

VaultサーバがプライベートCA証明書でHTTPSを使用する場合は、CA証明書ファイルパスを使用してinput.jsonでadditional_ca_certsを設定します。

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

hashicorp_kv ブロックで追加の設定を行う必要はありません。

input.json でシークレットを参照する​

HashiCorp Vault に格納されている資格情報を参照するには、次の形式の input.jsonを使用します。

vault/<vault-name>/<secret-path>?key=<key-name>
vault/<vault-name>/<secret-path>?key=<key-name>
  • 特定のフィールド: vault/hc-vault/s3-credentials?key=access_key
  • ピン留めされたバージョン: vault/hc-vault/platform-sql?version=2

次の例は、 input.jsonで HashiCorp Vault シークレットを参照する方法を示しています。

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

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得