- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- High Availability Add-on
- 起動エラーのトラブルシューティング
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) までで次に示します。
appsettings.Production.json
ファイル内の値appsettings.json
ファイル内の値- コード内の既定値です。特定の設定が
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
の設定からコピーされます。
UiPath.Orchestrator.dll.config
の SecureAppSettings セクション内の Orchestrator のキーと一致します。
Identity Server のキー |
Orchestrator のキー |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
UiPath.Orchestrator.dll.config
の CertificatesStoreLocation パラメーターが LocalMachine
に設定されている場合、appsettings.Production.json
の AzureKeyVaultCertificateStoreLocation
に同じ値が設定されていることを確認してください。
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"
}
}
Microsoft
や Microsoft.Hosting.Lifetime
などの主要なコンポーネントにいくつかの既定値が提供されます。
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=
	}}"
}
},
"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=
	}}"
}
},
"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"
- SSL が有効な場合 -
SlidingExpirationTimeInSeconds
- キャッシュ内項目のスライド式有効期限を制御します。この有効期限は、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 が秘密キーにアクセスできることを確認してください。
SigningCredentialSettings
セクションに加える必要のある調整については、「証明書のローテーション」をご覧ください。
資格情報ストアの場所の設定例
以下が、資格情報ストア内で資格情報を検索するためのクラシックな設定です。
"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
に設定されている場合は、ホスト レベルでの基本認証の資格情報を使用してログインできることになります。