- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- ハードウェアおよびソフトウェアの要件
- インストールの前提条件
- インストール
- メンテナンスに関する考慮事項
- Identity Server のトラブルシューティング
- High Availability Add-on
Identity Server のトラブルシューティング
Identity Server がスローするエラー メッセージには機密情報が含まれる場合があります。たとえば、Identity Server によって生成されたアクセス トークンの署名に使用された証明書が、2048 ビットではなく 1024 ビットの公開キーだった場合、新たにインストールまたはアップグレードした Orchestrator テナントにログインしようとすると、次のエラー メッセージが表示されます。
InternalServerError - IDX10630 The '[PII is hidden. For more details, see https://aka.ms/IdentityModel/PII.]'
appsettings.Production.json
ファイルの既存の AppSettings セクションの設定を次のように更新します。
"AppSettings": {
"EnablePII": true
},
"AppSettings": {
"EnablePII": true
},
appsettings.Production.json
ファイルで EnablePII
の設定を更新しても、一部の情報が非表示のままになる場合があります。Orchestrator の PII を表示するには、Orchestrator の UiPath.Orchestrator.dll.config
に ExternalAuth.ShowPII の設定を追加します。
この新しい設定により、より役に立つ情報がエラー メッセージに表示されるようになります。
The 'Microsoft.IdentityModel.Tokens.X509SecurityKey, KeyId: 'F9B1F6C18B728C02C8853470C71C365F000C86B5', InternalId: 'd3dadcac-e5aa-48e6-a20a-9232a3c3d16f'.'
for signing cannot be smaller than '2048' bits. KeySize: '1024'. (Parameter 'key.KeySize')
.NET Core ホスティング バンドルが適切にインストールされない場合があります。その場合、次のような影響があると考えられます。
- IIS (Identity Server など) で動作する .NET Core アプリケーションが起動せずに、
System.IO.IOException: IDX20807: Unable to retrieve document
エラーが表示される - IIS 内の Identity Server のハンドラー マッピングにアクセスするとエラーが表示される。
- ブラウザーで URL https://localhost/identity にアクセスすると、エラー
500.19 Error Code: 0x8007000d
が発生します。
この問題への確実な対処方法は、.NET Core ホスティング バンドルを再インストールすることです。
Orchestrator を v2020.4 以降のバージョンに更新する場合、Identity Server は、以前の設定を移行します。以前に Windows 認証を有効化し、同時に Windows AD ユーザーの自動ログインを設定していた場合、アップグレードを実行すると、以前に Identity Server にログインしていたユーザーは、[外部プロバイダー] ページにアクセスできなくなります。これらのユーザーは、各自の Windows 資格情報を入力すると、テナントに直接ログインされます。
ホスト管理者は [ログイン] ページにアクセスできず、ホスト テナントにログインできません。また、ID 管理ポータルにアクセスすることもできません。
https://<OrchestratorURL>/identity/configuration
」のような URL を入力してください。
Invalid credentials, failed to login
というエラー メッセージが表示されます。
その場合、ユーザーは Orchestrator の [プロファイル] ページでパスワードを変更する必要があります。
Keyset does not exist
が発生することがあります。
管理者権限で以下の PowerShell スクリプトを実行して、証明書に権限を付与します。
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
import-module WebAdministration
$siteName = 'UiPath Orchestrator'
$binding = (Get-ChildItem -Path IIS:\SSLBindings | Where Sites -eq $siteName)[0]
$certLoc = "cert:\LocalMachine\MY\$($binding.Thumbprint)"
$cert = Get-Item $certLoc
$keyPath = $env:ProgramData + "\Microsoft\Crypto\RSA\MachineKeys\"
$keyName = $cert.PrivateKey.CspKeyContainerInfo.UniqueKeyContainerName
$keyFullPath = $keyPath + $keyName
$acl = (Get-Item $keyFullPath).GetAccessControl('Access')
$permission="IIS_IUSRS","Full","Allow"
$accessRule = New-Object -TypeName System.Security.AccessControl.FileSystemAccessRule -ArgumentList $permission
$acl.AddAccessRule($accessRule)
Set-Acl -Path $keyFullPath -AclObject $acl
$siteName
の値を変更します。
設定に何らかの変更を加えたら、IIS サイトを再起動します。
Identity Server サービスを更新/アップグレードする際は、あらかじめ Orchestrator サービスを停止する必要があります。Identity Server の更新中に Orchestrator 内でロボットに対する変更が行われた場合、更新に失敗します。
この問題が発生した場合は Orchestrator サービスを停止して移行を再度実行してください。
非 ASCII 文字を含む言語でのローカライズに関する問題に、複数の問題が関連しています。完全なローカライズ サポートが必要な場合は、Insights v20.10 以降にアップグレードしてください。
以下の回避策は、Orchestrator v2020.4 以降がインストールされていて、SAML プロバイダーが機能するために特定の設定を必要とする場合に適用できます。
Identity Server の UI は SAML 設定に関するほとんどのニーズを満たすはずですが、このセクションでは、既定で公開されていない追加の SAML 設定を制御する方法について説明します。利用可能なすべての設定のリストについては、Sustainsys.Saml2 の公式ドキュメントをご覧ください。
Sustainsys.Saml2 は Identity Server が SAML のサポートのために依存するライブラリで、XML 設定ファイルを使用します。Identity Server の UI で利用できないフィールドにアクセスできるようにするには、この XML ファイルを上書きする必要があります。その管理方法を以下に示します。
- ID 管理ポータルの [外部プロバイダー] ページで、SAML 外部 ID プロバイダーが有効化されていて、適切に設定されていることを確認してください。
-
appsettings.json
ファイルまたはappsettings.Production.json
ファイルを編集して、ルート レベルに以下のセクションを含めるようにします。これにより、Identity Server は、Web アプリケーションおよびappsettings.json
またはappsettings.Production.json
と同じフォルダーでsaml2.xml
というファイルを探すよう指示されます。"Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } },
"Authentication": { "Saml2": { "ConfigFile": "saml2.xml" } }, saml2.xml
という名前の XML ファイルを作成して、SAML 設定を追加します。-
ID 管理ポータルの [外部プロバイダー] ページ上のフィールドを、
saml2.xml
内の対応するノードにマッピングします。<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration>
<?xml version="1.0" encoding="utf-8"?> <configuration> <configSections> <section name="sustainsys.saml2" type="Sustainsys.Saml2.Configuration.SustainsysSaml2Section, Sustainsys.Saml2" /> </configSections> <sustainsys.saml2 entityId="--1--" returnUrl="--5--"> <identityProviders> <add entityId="--2--" signOnUrl="--3--" allowUnsolicitedAuthnResponse="--4--" binding="--6--"> <signingCertificate storeName="--7--" storeLocation="--8--" findValue="--9--" x509FindType="FindByThumbprint"/> </add> </identityProviders> <serviceCertificates> <add use="Both" storeName="--10--" storeLocation="--11--" findValue="--12--" x509FindType="FindByThumbprint"/> </serviceCertificates> </sustainsys.saml2> </configuration> - 必要な設定を追加します。たとえば、負荷を分散したい場合は
publicOrigin
を使用し、既定の SHA256 オプションを変更する場合は、minIncomingSigningAlgorithm
を使用します。 - ファイルを保存し、IIS で Identity Server の Web アプリケーションを再起動します。SAML 設定でエラーが発生した場合は、エラー イベントがログに表示される必要があります。そのために、既定のツールである Windows イベント ビューアーを使用できます。
UiPath.Orchestrator.dll.config
ファイルでは、ベアラー トークンの有効期限を更新できません。
Clients
データベースで、Orchestrator.Ropc
クライアントの AccessTokenLifetime
プロパティを設定する必要があります。
次の例では、ベアラー トークンの有効期限が 86400 秒 (24 時間) に設定されています。
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
UPDATE [identity].[Clients]
SET AccessTokenLifetime = 86400
WHERE ClientName = 'Orchestrator.Ropc'
- ログのその他の情報を表示する
- 誤った .NET Core ホスティング バンドルのインストール
- Orchestrator v2020.4 以降のバージョンへアップグレードすると [外部プロバイダー] ページにアクセスできない
- /api/account/authenticate の呼び出しが、初回ログイン時にパスワードを変更したユーザーに対して失敗する
- インストール後にキーセットが存在しないエラー
- 更新中に RobotKeyMigration が失敗する
- 非 ASCII 文字を含む言語を使用したデプロイ
- Identity Server の UI で SAML の設定を利用不可に設定する
- ベアラー トークンの有効期限を更新する