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

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 内の既存の設定が上書きされます。

  • バージョン 2023.4 以降を使用している場合に、X-Content-Type-Options を追加して applicationhost.config を変更しているときは、Identity の appsettings.Production.json ファイルからこの記述を削除する必要があります。以下の例をご覧ください。

    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <location path="." inheritInChildApplications="false">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <remove name="X-Powered-By" />
    
    <!--
    <add name="X-Content-Type-Options" value="nosniff" />
    -->
    </customHeaders>
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
    <location path="." inheritInChildApplications="false">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <remove name="X-Powered-By" />
    
    <!--
    <add name="X-Content-Type-Options" value="nosniff" />
    -->
    </customHeaders>
    
注:

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

さらに、どのような状況でも 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 に設定されています。指定できる値は AzureKeyVault と ConfigFileKey です。この値は、Identity Server のインストール時に UiPath.Orchestrator.dll.config の EncryptionKeyPerTenant.KeyProvider の設定からコピーされます。

The following Identity Server keys match the Orchestrator keys within UiPath.Orchestrator.dll.config's SecureAppSettings section:

Identity Server のキーOrchestrator のキー
EncryptionKeyPerTenantEncryptionKeyPerTenant.Enabled
AzureKeyVaultAddressAzure.KeyVault.VaultAddress
AzureKeyVaultCertificateThumbprintAzure.KeyVault.CertificateThumbprint
AzureKeyVaultClientIdAzure.KeyVault.ClientId
AzureKeyVaultDirectoryIdAzure.KeyVault.DirectoryId
MultiTenantEncryptionKeyProviderEncryptionKeyPerTenant.KeyProvider
重要:

If CertificatesStoreLocation parameter in UiPath.Orchestrator.dll.config is set to LocalMachine, make sure that AzureKeyVaultCertificateStoreLocation in appsettings.Production.json has the same value.

重要:

If you change the Encryption Key or the Azure Key Vault settings inside Orchestrator’s UiPath.Orchestrator.dll.config, you must also update Identity Server's appsettings.Production.json with the same values.

ログ​

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 では、Microsoft や Microsoft.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 およびコード内で 30 分に設定されています。

  • 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": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}
"LoadBalancerSettings": {
  "RedisConnectionString": "",
  "SlidingExpirationTimeInSeconds":  600
}

マルチノード アップグレードの場合、appsetttings.Production.json 内の値は Orchestrator の UiPath.Orchestrator.dll.config から自動的に移行されます。Redis が Orchestrator 内に設定されていない場合、appsettings.Production.json にはこの設定が含まれます。

  • RedisConnectionString - LoadBalancer.UseRedis が true に設定されている場合にのみ使用できます。Redis サーバーを設定するための接続文字列です。サーバーの URL、パスワード、Redis が使用するポートを含みます。また、Orchestrator ノードと Redis サービスの間で SSL 暗号化接続を有効化することもできます。詳しくは、こちらをご覧ください。 例:
    • SSL が有効な場合 - "RedisConnectionString": A"DOCWREDIS02:6379,password=12345678,ssl=true"
    • SSL が有効でない場合 - "RedisConnectionString": "DOCWREDIS02:6379,password=12345678"
  • SlidingExpirationTimeInSeconds - キャッシュ内項目のスライド式有効期限を制御します。この有効期限は、Redis キャッシュとメモリ内キャッシュ (Redis が利用できない場合の既定値) の両方に適用されます。

Redis の設定​

RedisSettings セクションでは、有効化するキャッシュを制御します。

  • UseRedisStoreCache - OAuth クライアント データの Redis キャッシュを有効化するには、値を true に設定します。これは、対話型サインインを使用して短時間に大量のロボットを接続する際のパフォーマンスの問題を回避するのに役立ちます。このキャッシュは、LoadBalancerSettings で指定されたものと同じ Redis 接続文字列を使用します。既定では、UseRedisStoreCache 設定は表示されません。
注:

この設定はクライアントをキャッシュし、外部アプリケーションの更新は反映されないため、 外部アプリケーション 機能を使用している場合には推奨されません。

  • UseRedisStoreClientCache - ファーストパーティ クライアント (UiPath アプリケーション) またはサードパーティ クライアント (外部アプリケーション) の Redis キャッシュを有効化するには、値を true に設定します。大規模なデプロイの場合は、このフラグを有効化することをお勧めします。

署名資格情報​

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

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

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

注:

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

Refer to Certificate Rotation for more on the adjustments you need to make to the SigningCredentialSettings section to ensure that you always use a certificate within its validity period.

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

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

"SigningCredentialSettings": {
  "StoreLocation": {
    "Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
    "Location": "LocalMachine",
    "NameType": "Thumbprint"
  }
"SigningCredentialSettings": {
  "StoreLocation": {
    "Name": "30f3c11e676fc8eb1f9dd4e330f3ce668d796796",
    "Location": "LocalMachine",
    "NameType": "Thumbprint"
  }

この例では、Name は拇印の値を表します。

Location と NameType に他の値を使用することはお勧めしません。

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 パラメーターをバイパスします。つまり、EnableBasicAuthenticationForHostTenant が true に設定され、RestrictBasicAuthentication が true に設定されている場合は、ホスト レベルでの基本認証の資格情報を使用してログインできることになります。

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

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得