- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- 起動エラーのトラブルシューティング
Publish-IdentityServer.ps1 スクリプトを実行して、Identity Server の初期デプロイまたは更新を行います
Identity Server にパブリッシュする
次の表で、Publish-IdentityServer.ps1 スクリプトで使用できるすべてのパラメーターについて説明します。
| パラメーター | 説明 |
|---|---|
|
| 必須。開始するシナリオの種類を指定します。 次のオプションを使用できます。
|
|
| 必須。Azure のサービス プリンシパル ID。 使用するサービス プリンシパルには、サブスクリプション範囲で App Service に対するコントリビューター ロールが割り当てられている必要があることに注意してください。 |
|
| 必須。サービス プリンシパル ID の Azure トークン パスワード。 |
|
| 必須。Orchestrator をホストする App Service の Azure サブスクリプション ID。 |
|
| 必須。Azure テナント ID。 |
|
| 必須です。Orchestrator インスタンスの URL です。 |
|
| 必須。Identity Server の URL です。 /identity が含まれている必要があります。
例: |
|
| 必須。リソースの URL です。 カタログ。 |
|
| このパラメーターは以下の値を含むハッシュ テーブルです。
|
|
| このパラメーターは以下の値を含むハッシュ テーブルです。
|
|
| 必須。UiPath.IdentityServer.Web.zip アーカイブのフル パスまたは相対パスを指定します。 |
|
| 必須。UiPath.IdentityServer.Migrator.Cli.zip アーカイブのフル パスまたは相対パスを指定します。 |
|
| 任意です。Identity Server の App Service のデプロイ スロットが Azure で設定される既定の運用環境 App Service スロットと異なる場合にのみ使用できます。 |
|
| 任意です。存在する場合は、アプリケーションをデプロイ前に停止し、デプロイの完了後に起動します。 |
|
| 任意です。存在する場合は、ユーザーの確認なしにデプロイが続行されます。 |
|
| 任意です。必要なファイルをダウンロードおよび解凍するディレクトリの指定を有効化します。 |
|
| 任意です。サービス プリンシパルを作成することなく、ユーザー自身の ID を利用して Azure App Service にパブリッシュを行えます。
このパラメーターを使用すると、 |
Publish-IdentityServer.ps1 スクリプトが初期デプロイまたは Identity Server の更新に使用されます。このスクリプトは、Web アプリで既にデータベースの接続文字列 DefaultConnection を設定済みであることを前提としています。
.\Publish-IdentityServer.ps1 `
-action Deploy `
-orchestratorUrl "<orchestrator_address>" `
-identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
-resourceCatalogUrl "<resource_catalog_address>" `
-orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-azureSubscriptionId "<subscription_id>" `
-azureAccountTenantId "<azure_tenant_id>" `
-azureAccountApplicationId "<azure_application_id>" `
-azureAccountPassword "<azure_account_password>" `
-package "UiPath.IdentityServer.Web.zip" `
-cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
-stopApplicationBeforePublish `
-unattended
.\Publish-IdentityServer.ps1 `
-action Deploy `
-orchestratorUrl "<orchestrator_address>" `
-identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase
-resourceCatalogUrl "<resource_catalog_address>" `
-orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } `
-azureSubscriptionId "<subscription_id>" `
-azureAccountTenantId "<azure_tenant_id>" `
-azureAccountApplicationId "<azure_application_id>" `
-azureAccountPassword "<azure_account_password>" `
-package "UiPath.IdentityServer.Web.zip" `
-cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" `
-stopApplicationBeforePublish `
-unattended
上記スクリプトの実行後、初期デプロイを成功させるために以下の追加手順を実行する必要があります。
Identity Server のパブリッシュ後に次の手順を実行します。
- Azure Portal に移動します。
- Identity Server の App Service を選択します。
- [証明書] メニューの [独自の証明書を利用する] に移動します。
- 有効なパスワードを持つ秘密キー証明書の
.pfxファイルをアップロードします。
この証明書はアクセス トークンと ID トークンに署名するために使用されます。
-
[構成] メニューで、以下のアプリケーションの設定を [アプリケーションの設定] 列に記載されているとおりに追加します。
6.アプリケーション設定
値 (Value)
説明
AppSettings__IdentityServerAddressAppSettings__IdentityServerAddresshttps://[identity_server]/identity
重要: URL には、Identity Server のアドレス + サフィックスが含まれている必要がありますIdentity Server のパブリック URL。
は小文字です。/identity/identityAppSettings__SigningCredentialSettings__StoreLocation__LocationAppSettings__SigningCredentialSettings__StoreLocation__LocationCurrentUser
これは CurrentUser を指し示す必要があります。
AppSettings__SigningCredentialSettings__StoreLocation__NameAppSettings__SigningCredentialSettings__StoreLocation__NameXXXXXXXXXXXXXXXXXXXXXXXXXXXX
以前にアップロードした証明書の拇印です。
AppSettings__SigningCredentialSettings__StoreLocation__NameTypeAppSettings__SigningCredentialSettings__StoreLocation__NameTypeThumbprintThumbprintEnter を前のフィールドの型として設定します。ThumbprintThumbprintAppSettings__LoadBalancerSettings__RedisConnectionStringAppSettings__LoadBalancerSettings__RedisConnectionStringXXXXXXXXXXXX:XXXX,password=XXXXXXXXXXXXXXXXXX:XXXX,password=XXXXXXRedis サーバーを設定するために必要な接続文字列です。サーバーの URL、パスワード、ポートを含みます。
また、Orchestrator ノードと Redis サービスの間の SSL 暗号化接続を有効化することもできます。
AppSettings__LoadBalancerSettings__SlidingExpirationTimeInSecondsAppSettings__LoadBalancerSettings__SlidingExpirationTimeInSeconds秒数
キャッシュ内項目のスライド式有効期限です。
この有効期限は、Redis キャッシュとメモリ内キャッシュの両方に適用されます。
AppSettings__RedisSettings__UseRedisStoreCacheAppSettings__RedisSettings__UseRedisStoreCache/truetruefalsefalseこの値を OAuth クライアント データの Redis キャッシュを有効化します。truetrueこれにより、対話型サインインを使用して短時間に多数のロボットを接続する場合に、パフォーマンスの問題を防ぐことができます。このキャッシュは、
AppSettings__LoadBalancerSettingsAppSettings__LoadBalancerSettings
注: 外部アプリケーション 機能を使用している場合、この設定はクライアントをキャッシュし、外部アプリケーションへの更新は反映されないため、これは推奨されません。AppSettings__RedisSettings__UseRedisStoreClientCacheAppSettings__RedisSettings__UseRedisStoreClientCache/truetruefalsefalseファーストパーティ クライアント (UiPath アプリケーション) またはサードパーティ クライアント (外部アプリケーション) の Redis キャッシュを有効化するには、値を true に設定します。
大規模なデプロイの場合は、このフラグを有効化することをお勧めします。
App__Saml2ValidCertificateOnlyApp__Saml2ValidCertificateOnly/truetruefalsefalseAzure Web アプリ経由で Orchestrator をデプロイする場合、このパラメーターは .falsefalseこれは、SAML2 では証明書を信頼ストアに追加する必要がありますが、Azure Web アプリではこの操作が許可されていないためです。値を に設定する
に設定すると、証明書の確認がバイパスされます。falsefalseWEBSITE_LOAD_CERTIFICATESWEBSITE_LOAD_CERTIFICATESXXXXXXXXXXXXXXXXXXXXXXXXXXXX
以前にアップロードした証明書の拇印の値です。
WEBSITE_LOAD_USER_PROFILEWEBSITE_LOAD_USER_PROFILE1
ユーザー プロファイル。 -azureUSGovernmentLogin-azureUSGovernmentLogin任意です。このパラメーターは、米国政府機関のデプロイにのみ使用されます。 変更を保存します。
詳細については、Microsoft Azure ドキュメントをご覧ください。
秘密キーの証明書を置き換える
秘密キーの証明書を新しい証明書に置き換える場合は、必ず次の手順に従ってください。
AppSettings__SigningCredentialSettings__StoreLocation__NameパラメーターとWEBSITE_LOAD_CERTIFICATESパラメーターの値を、新しい証明書の拇印に置き換えます。- Identity アプリ サービスを再起動します。
- Orchestrator アプリ サービスを再起動します。
Identity Server へ移行する
次の表で、
MigrateTo-IdentityServer.ps1で使用できる全パラメーターについて説明します。パラメーター
説明
-cliPackageこのプロパティは必須です。 UiPath.IdentityServer.Migrator.Cli.zipアーカイブのフル パスまたは相対パスを指定します。-azureDetailsこのパラメーターは以下の値を含むハッシュ テーブルです。
-
azureAccountApplicationId- 必須です。Azure のサービス プリンシパル ID。使用するサービス プリンシパルには、サブスクリプション範囲で App Service に対するコントリビューター ロールが割り当てられている必要があることに注意してください。
-
azureSubscriptionId- 必須です。Orchestrator をホストする App Service の Azure サブスクリプション ID。 -
azureAccountTenantId- 必須です。Azure テナント ID。 -
azureAccountPassword- 必須です。サービス プリンシパル ID の Azure トークン パスワード。
-orchDetailsこのパラメーターは以下の値を含むハッシュ テーブルです。
-
resourceGroupName- 必須です。Orchestrator の App Service を含む Azure リソース グループの名前。 -
appServiceName- 必須です。Orchestrator の Azure App Service の名前。 -
targetSlot- 必須です。Azure によって設定された App Service のターゲット スロット。
-identityServerDetailsこのパラメーターは以下の値を含むハッシュ テーブルです。
-
resourceGroupName- 必須です。Identity Server の App Service を含む Azure リソース グループの名前。 -
appServiceName- 必須です。Identity Server の Azure App Service の名前。 -
targetSlot- 必須です。Azure によって設定された App Service のターゲット スロット。
-identityServerUrl重要: URL には、Identity Server のアドレス + サフィックス必須。Identity Server のパブリック アドレス。
/identity(小文字) を含める必要があります。例:
https://[identity_server]/identity-orchestratorUrl必須。Orchestrator のパブリック アドレス。
-tmpDirectory任意です。必要なファイルをダウンロードおよび解凍するディレクトリの指定を有効化します。
-hostAdminPassword[ -action] がDeployに設定されている新規デプロイに対してのみ必須です。ホスト管理者のカスタム パスワードを指定します。パスワードは 8 文字以上にする必要があり、1 文字以上の英文字の小文字と 1 文字以上の数字を含める必要があります。
-isHostPassOneTime任意です。ホスト管理者の初回ログイン時にパスワードを強制的にリセットさせることができます。
このパラメーターを省略すると、ホスト管理者のパスワードはワンタイム パスワードにはなりません。
-defaultTenantAdminPassword[ -action] がDeployに設定されている新規デプロイに対してのみ必須です。既定のテナント管理者のカスタム パスワードを指定します。パスワードは 8 文字以上にする必要があり、1 文字以上の英文字の小文字と 1 文字以上の数字を含める必要があります。
-isDefaultTenantPassOneTime任意です。既定のテナント管理者の初回ログイン時にパスワードを強制的にリセットさせることができます。
このパラメーターを省略すると、テナント管理者のパスワードはワンタイム パスワードにはなりません。
-noAzureAuthentication任意です。サービス プリンシパルを作成することなく、ユーザー自身の ID を利用して Azure App Service にパブリッシュを行えます。 このパラメーターを使用すると、
UseServicePrincipalパラメーター セット (Azure アプリケーション ID、パスワード、サブスクリプション ID、テナント ID などの項目を含む) は不要になります。MigrateTo-IdentityServer.ps1スクリプトは、Orchestrator から Identity Server にユーザー データを移行し、その両方の設定を行うために使用します。このスクリプトは Identity Server に対して Orchestrator の ID 権限を設定し、Identity Server 内で Orchestrator のクライアント構成を作成します。このスクリプトは、Orchestrator と Identity Server が既にパブリッシュ済みであることを前提としています。
.\MigrateTo-IdentityServer.ps1 ` -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" ` -azureDetails @{azureSubscriptionId = "<subscription_id>"; azureAccountTenantId = "<azure_tenant_id>"; azureAccountApplicationId = "<azure_application_id>"; azureAccountPassword = "<azure_account_password>" } ` -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase -orchestratorUrl "https://<OrchestratorURL>" ` -hostAdminPassword "12345qwert" ` -defaultTenantAdminPassword "12345qwert".\MigrateTo-IdentityServer.ps1 ` -cliPackage "UiPath.IdentityServer.Migrator.Cli.zip" ` -azureDetails @{azureSubscriptionId = "<subscription_id>"; azureAccountTenantId = "<azure_tenant_id>"; azureAccountApplicationId = "<azure_application_id>"; azureAccountPassword = "<azure_account_password>" } ` -orchDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerDetails @{ resourceGroupName = "<resourcegroup_name>"; appServiceName = "<appservice_name>"; targetSlot = "Production" } ` -identityServerUrl "https://<identity_server_url>/identity" ` // must be in lowercase -orchestratorUrl "https://<OrchestratorURL>" ` -hostAdminPassword "12345qwert" ` -defaultTenantAdminPassword "12345qwert"