Orchestrator
2020.10
サポート対象外
Orchestrator インストール ガイド
Last updated 2023年12月12日

Identity Server の AppSettings.json

appsettings.json ファイル (C:\Program Files (x86)\UiPath\Orchestrator\Identity) には Identity Server の設定が含まれています。そのままの設定で Identity Server を使用できます。同内容のもう 1 つのファイル appsettings.Production.json に、お使いの Identity Server に特有の設定を指定します。
重要: Identity Server を好みに合わせて設定するには、appsettings.Production.json ファイルを変更します。このファイルによって、各インストール処理の後に appsettings.json 内の既存の設定が上書きされます。
注:

これらのパラメーターの値の変更は管理者のみが行うことが推奨されます。

さらに、どのような状況でも appsettings.Production.json の設定を変更できるように、IIS サーバーを停止することをお勧めします。

このページに記載されていないパラメーターは、変更しないでください。

すべてのパラメーターは、大文字と小文字を区別します

設定の優先度

設定は複数の場所で行えます。設定値を決定する際に Identity Server で使用される優先度を、高 (1) から低 (3) までで次に示します。

  1. appsettings.Production.json ファイル内の値
  2. appsettings.json ファイル内の値
  3. コード内の既定値です。特定の設定が appsettings.Production.json または appsettings.json に見つからない場合にのみ使用されます。

設定

appsettings.json ファイルはコンマで区切られた複数の json セクションで構成される内部構造を持っています。

接続文字列

ConnectionStrings セクションには、Identity Server データベースの接続文字列が格納されます。この値はインストーラーによって設定されます。
この設定の値は appsettings.Production.json および appsettings.json に設定されています。
"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }"ConnectionStrings": { "DefaultConnection": "Server=.\\sqlexpress;Database=IdentityServer;User ID=<username>;Password=<password>;" }

暗号化

EncryptionSettings セクションには、テナントの暗号化キーが格納されます。これらの値は、インストール中に Orchestrator の UiPath.Orchestrator.dll.config から自動的に移行されます。
この設定の値は appsettings.Production.json および appsettings.json に設定されています。
"EncryptionSettings": {
  "EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}"EncryptionSettings": {
  "EncryptionKey": "3wkO1hkaXLwR9LZoRZIueIxG3GIEB/YMDZUWhD9AR8g="
}

Identity Server を設定すると、Orchestrator と同様にローカル キー (上記をご覧ください) や Azure Key Vault (下記をご覧ください) を使用できるようになります。

"EncryptionSettings": {
  "MultiTenantEncryptionKeyProvider": "AzureKeyVault",
  "EncryptionKeyPerTenant": true,
  "AzureKeyVaultAddress": "keyVaultAddress",
  "AzureKeyVaultCertificateThumbprint": "keyvaultCertificateThumbprint",
  "AzureKeyVaultClientId" : "azureClientId"
},"EncryptionSettings": {
  "MultiTenantEncryptionKeyProvider": "AzureKeyVault",
  "EncryptionKeyPerTenant": true,
  "AzureKeyVaultAddress": "keyVaultAddress",
  "AzureKeyVaultCertificateThumbprint": "keyvaultCertificateThumbprint",
  "AzureKeyVaultClientId" : "azureClientId"
},
  • MultiTenantEncryptionKeyProvider - Orchestrator からテナントごとに生成された暗号化キーを格納するキー管理アプリケーションを指定します。既定では、コード内のこの値は ConfigFileKey に設定されています。指定できる値は AzureKeyVaultConfigFileKey です。この値は、Identity Server のインストール時に UiPath.Orchestrator.dll.config の EncryptionKeyPerTenant.KeyProvider の設定からコピーされます。
次の Identity Server のキーは、UiPath.Orchestrator.dll.configSecureAppSettings セクション内の Orchestrator のキーと一致します。

Identity Server のキー

Orchestrator のキー

EncryptionKeyPerTenant

EncryptionKeyPerTenant.Enabled

AzureKeyVaultAddress

Azure.KeyVault.VaultAddress

AzureKeyVaultCertificateThumbprint

Azure.KeyVault.CertificateThumbprint

AzureKeyVaultClientId

Azure.KeyVault.ClientId

MultiTenantEncryptionKeyProvider

EncryptionKeyPerTenant.KeyProvider

重要: UiPath.Orchestrator.dll.configCertificatesStoreLocation パラメーターが LocalMachine に設定されている場合、appsettings.Production.jsonAzureKeyVaultCertificateStoreLocation に同じ値が設定されていることを確認してください。
重要: Orchestrator の UiPath.Orchestrator.dll.config 内の暗号化キーまたは Azure Key Vault の設定を変更する場合は、Identity Server の appsettings.Production.json も同じ値で更新する必要があります。

ログ

Logging セクションでは、Identity Server で使用される各コンポーネントのログ レベルを設定します。これは全般的なログ設定です。詳しくはこちらをご覧ください。
このセクションには appsettings.json 内の値が含まれます。
"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}"Logging": {
  "LogLevel": {
    "Default": "Trace",
    "Microsoft": "Warning",
    "Microsoft.Hosting.Lifetime": "Information"
  }
}
Identity Server では、MicrosoftMicrosoft.Hosting.Lifetime などの主要なコンポーネントにいくつかの既定値が提供されます。

NLog

NLog セクションには、Orchestrator と同様に、NLog ターゲット経由で Identity Server にログを記録する方法が定義されます。
このセクションには appsettings.json 内の値が含まれます。
json
"NLog": {
  "IncludeScopes": true,
  "throwConfigExceptions": false,
  "targets": {
    "EventLog": {
      "type": "EventLog",
      "source": "IdentityService",
      "layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=&#xD;&#xA;&#x9;}}"
    }
  },
  "rules": [
    {
      "logger": "*",
      "minLevel": "Info",
      "writeTo": "EventLog"
    }
  ]
},json
"NLog": {
  "IncludeScopes": true,
  "throwConfigExceptions": false,
  "targets": {
    "EventLog": {
      "type": "EventLog",
      "source": "IdentityService",
      "layout": "${longdate} ${logger} ${message}${onexception:${newline}${exception:maxInnerExceptionLevel=10:format=shortType,message,stacktrace:separator=*:innerExceptionSeparator=&#xD;&#xA;&#x9;}}"
    }
  },
  "rules": [
    {
      "logger": "*",
      "minLevel": "Info",
      "writeTo": "EventLog"
    }
  ]
},

既定では、NLog は ApplicationEvents にログを書き込むように構成されています。json のセクションを使用して NLog を設定する方法の詳細については、こちらをご覧ください。

アプリの設定

AppSettings セクションは、Identity Server の主要な設定セクションです。このセクションには appsettings.Production.json および appsettings.json 内の値が含まれます。
  • IdentityServerAddress - Identity Server API の呼び出しに使用されるトークンを検証するときに、Identity Server で確認されるオーディエンスを表します。インストール中、appsettings.Production.json の内のこのフィールドに Identity Server のアドレスが自動的に設定されます。Orchestrator のデータ伝達が遮断されるため、この値は変更しないでください
    この設定の値は appsettings.Production.json および appsettings.json に設定されています。
    注: IdentityServerAddress の値は小文字の URL を入力するようにしてください。それ以外の場合にはエラーが発生します。
  • Saml2ValidCertificateOnly - true に設定すると、SAML2 の設定時に無効な証明書を使用できなくなります。
    既定では、設定の値はコード内で true に設定されています。
  • EnablePII - true に設定すると、例外に機密情報が含まれるようになります。たとえば、外部 ID プロバイダーの URL アドレスや Identity Server のアドレスなどです。
    既定では、設定の値は appsettings.json およびコード内で false に設定されています。
  • HideErrorCodesInUi - ログインのエラー コードを UI に表示するかどうかを制御します。既定では、このパラメーターは表示されません。既定値は false です。UI でログインのエラー コードを非表示にするには、true に設定します (例: "HideErrorCodesInUi": true)。
  • CookieValidationInterval - ユーザーとテナントがまだアクティブかどうかや、ユーザーが別のブラウザーにログインしていないかどうかを判断するために、Cookie が確認されるまでの間隔 (秒単位) を表します。appsetttings.Production.json 内の値は、同じ設定を持つ Orchestrator から自動的に移行されます。
    既定では、値は appsettings.Production.json およびコード内で 60 秒に設定されています。
  • CookieExpireMinutes - Identity Server の Cookie の有効期限が切れるまでの時間 (分単位) を表します。appsetttings.Production.json 内の値は、同じ設定を持つ Orchestrator から自動的に移行されます。
    既定では、値は appsettings.Production.json およびコード内で 60 分に設定されています。
  • OrchestratorUrl - Orchestrator の URL を表します。ID 管理ポータルの [ハブ] メニュー内の Orchestrator アイコンをクリックするとリダイレクトされる URL です。
    この値はインストール中に appsettings.Production.json に設定されます。
    注: OrchestratorUrl の値は小文字の URL を入力するようにしてください。それ以外の場合にはエラーが発生します。
    "AppSettings": {
        "IdentityServerAddress": "https://myIdentity.domain.local/identity",
        "EnablePII": false,
        "HideErrorCodesInUi": true,
        "CookieExpireMinutes": 30,
        "OrchestratorUrl": "https://myOrchestratorURL.domain.local"
      }
    }"AppSettings": {
        "IdentityServerAddress": "https://myIdentity.domain.local/identity",
        "EnablePII": false,
        "HideErrorCodesInUi": true,
        "CookieExpireMinutes": 30,
        "OrchestratorUrl": "https://myOrchestratorURL.domain.local"
      }
    }

ローカライズ

LocalizationSettings セクションには、コード内の次の既定値が含まれます。
"LocalizationSettings": {
  "EnabledLanguages": "en,ja,de,es,es-MX,fr,ko,pt,pt-BR,ru,tr,zh-CN"
}"LocalizationSettings": {
  "EnabledLanguages": "en,ja,de,es,es-MX,fr,ko,pt,pt-BR,ru,tr,zh-CN"
}
  • EnabledLanguages - Identity Server で使用可能な言語が表示されます。使用可能な言語の数を制限するために使用します。

ロード バランサー

LoadBalancerSettings セクションには、appsettings.Production.json およびコード内の次の既定値が含まれます。
"LoadBalancerSettings": {
  "UseRedis": false,
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}"LoadBalancerSettings": {
  "UseRedis": false,
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}
マルチノード アップグレードの場合、appsetttings.Production.json 内の値は Orchestrator の UiPath.Orchestrator.dll.config から自動的に移行されます。Redis が Orchestrator 内に設定されていない場合、appsettings.Production.json にはこの設定が含まれます。
  • UseRedis - データベースとして Redis を使用して、ロード バランサー経由で接続しているすべてのサーバーとの間でメッセージの配信とキャッシュ処理を行います。マルチノードの場合、これは必須です。
  • RedisConnectionString - LoadBalancer.UseRedistrue に設定されている場合にのみ使用できます。Redis サーバーを設定するための接続文字列です。サーバーの URL、パスワード、Redis が使用するポートを含みます。また、Orchestrator ノードと Redis サービスの間で SSL 暗号化接続を有効化することもできます。詳しくは、こちらをクリックしてください。例:
    • SSL が有効な場合 - "RedisConnectionString": "DOCWREDIS02:6379,password=12345678,ssl=true"
    • SSL が有効でない場合 - "RedisConnectionString": "DOCWREDIS02:6379,password=12345678"
  • SlidingExpirationTimeInSeconds - キャッシュ内項目のスライド式有効期限を制御します。この有効期限は、Redis キャッシュとメモリ内キャッシュ (Redis が利用できない場合の既定値) の両方に適用されます。

署名資格情報

SigningCredentialSettings セクションには、Identity Server によって生成されたトークンの署名に使用される証明書の場所を記述します。このセクションの設定値は、ユーザーの入力に基づいてインストーラーによって設定されます。証明書ストアまたは Azure Key Vault からの証明書の読み取りを許可するように設定できます。

証明書のローテーションの設定

  • SigningCredential - 既定の証明書の NameLocation、および NameType を指定するために使用します。
  • ValidationKeys - 2 番目の証明書の NameLocation、および NameType を指定するために使用します。これは、証明書のローテーションに必要です。
    注:

    セキュリティ上の理由から、署名証明書には 2048 ビットの公開キーが必要です。証明書が有効かつ期限が切れておらず、Identity Server が秘密キーにアクセスできることを確認してください。

    常に有効期間内の証明書を使用するために、SigningCredentialSettings セクションに加える必要のある調整については、「証明書のローテーション」をご覧ください。

資格情報ストアの場所の設定例

以下が、資格情報ストア内で資格情報を検索するためのクラシックな設定です。

"SigningCredentialSettings": {
  "StoreLocation": {
    "Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
    "Location": "LocalMachine",
    "NameType": "Thumbprint"
  }"SigningCredentialSettings": {
  "StoreLocation": {
    "Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
    "Location": "LocalMachine",
    "NameType": "Thumbprint"
  }
この例では、Name は拇印の値を表します。
LocationNameType に他の値を使用することはお勧めしません。

Azure Key Vault の場所の設定例

"SigningCredentialSettings": {
  "AzureKeyVaultLocation": {
    "KeyName": "key_name_534553553"
  }"SigningCredentialSettings": {
  "AzureKeyVaultLocation": {
    "KeyName": "key_name_534553553"
  }
この例では、KeyName は Azure Key Vault 内で検索するキーを表します。

認可

  • RestrictBasicAuthentication - ユーザーによる Orchestrator インスタンスへの基本認証資格情報を使用したログインを可能にするかどうかを制御できます。既定では、この設定は appsettings.Production.json ファイルに表示されません。次の値を使用できます。
    • true - ユーザーは基本認証資格情報を使用してログインできません。
    • false - ユーザーは基本認証資格情報を使用してログインできます。これは既定値です。
  • EnableBasicAuthenticationForHostTenant - ホスト管理者による Orchestrator インスタンスのホスト テナントへの基本認証資格情報を使用したログインを可能にするかどうかを制御できます。既定では、この設定は appsettings.Production.json ファイルに表示されません。次の値を使用できます。
    • true - ホスト管理者は基本認証資格情報を使用してログインできます。これは既定値です。
    • false - ホスト管理者は基本認証資格情報を使用してログインできません。
このパラメーターは RestrictBasicAuthentication パラメーターをバイパスします。つまり、EnableBasicAuthenticationForHostTenanttrue に設定され、RestrictBasicAuthenticationtrue に設定されている場合は、ホスト レベルでの基本認証の資格情報を使用してログインできることになります。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.