- 基本情報
- 要件
- ベスト プラクティス
- インストール
- 更新
- Identity Server
- High Availability Add-on
認証機関に SAN SSL 証明書を要求する
このセクションでは、Orchestrator と Robot 間の通信に HTTP プロトコルを有効化する方法について説明します。
自己署名証明書ではなく、認証機関に提出された SAN SSL 証明書の使用をお勧めします。SAN SSL 証明書の場合は、ロボット コンピューターに証明書をインストールする必要がないからです。認証機関によって発行された SAN SSL 証明書は、ドメイン内のすべてのコンピューターから信頼されます。
プライマリ Orchestrator マシンが、ローカル認証機関と自動登録ポリシーを持つ Active Directory に登録されている場合、ユーザーは以下の手順に従って証明書の要求を入力できます。
-
[Windows] + [R] キーを押し、「
certlm.msc」と入力し、[OK] をクリックして、[証明書] スナップインを開きます。 -
[個人] ノードを右クリックし、[すべてのタスク]、[詳細設定操作]、[カスタム要求の作成] の順に選択します。[開始する前に] ウィンドウで [次へ] をクリックします。
-
[証明書の登録ポリシーの選択] ウィンドウで、[Active Directory 登録ポリシー] を選択し、[次へ] をクリックします。
-
[カスタム要求] ウィンドウで、Web サーバーの使用のために指定された証明書テンプレートを選択します。このテンプレートの名前は [Web Server] または [Web.SAN] です。テンプレートが定義されていない場合は、[(テンプレートなし) レガシ キー] を選択します。次に、要求の形式として [PKCS #10] を選択します。
-
[証明書情報] ウィンドウで、作成する要求に対応する [詳細] ボタンをクリックし、[プロパティ] を選択して、[証明書のプロパティ] ウィンドウを開き、証明書の要求をカスタマイズします。
-
以下に示すように [サブジェクト] タブの情報をカスタマイズします。
6.1. [サブジェクト名] セクションで、[種類] に移動し、ドロップダウン メニューから [共通名] を選択します。[値] フィールドで、マシンの完全修飾ドメイン名 (FQDN) を入力します (例: myhost.domain.local)。次に [追加] をクリックします。
6.2. [別名] セクションで、[種類] に移動し、ドロップダウン メニューから [DNS] を選択します。[値] フィールドに、マシンの FQDN (手順 6.1. と同じ) を入力します。次に [追加] をクリックします。
6.3. Orchestrator が複数のノードにインストールされている場合は、手順 6.2. で説明したように、これらの FQDN すべてを追加する必要があります。また、ロード バランサーの FQDN も追加してください。
-
以下に示すように [秘密キー] タブの情報をカスタマイズします。
7.1. [暗号化サービスプロバイダー] ボックスで、[暗号化サービス プロバイダー (CSP) を選択してください] に移動し、[Microsoft RSA SChannel Cryptographic Provider (Encryption)] をオンにします。
7.2.[キーのオプション] セクションで、[キーのサイズ] が 2048 以上に設定され、[秘密キーをエクスポート可能にする] にチェックマークが付いていることを確認します。
7.3. In the Key type section, make sure Key usage is set to Exchange.
-
設定ウィンドウで [OK] をクリックして、[証明書情報] 画面で [次へ] をクリックします。
-
[オフライン要求を保存する場所を指定してください。] 画面で、任意のファイル パスとファイル名を指定して (例:
C:\Users\YourUser\Documents\sslRequest.req)、ファイル形式として [Base 64] を選択します。 -
認証機関が登録要求を受け入れた後、証明書は個人用ストアに表示されます。
重要:企業に証明書を取得するための標準的な手順/テンプレートがある場合、ユーザーはその手順を参照する必要があります。
その他の環境でも (例: 自動登録ポリシーを使用しない場合)、このドキュメントを証明書パラメーターの参照として使用できます。
自己署名 SAN SSL 証明書を作成する
テストの目的でのみ SSL 証明書を素早く作成する必要がある場合は、自己署名 SAN SSL 証明書を作成できます。
If your Orchestrator machine is running Windows Server 2012 R2, a workaround is needed to create a self-signed SAN SSL certificate. Refer to Creating a Self-Signed SAN SSL Certificate on a Windows Server 2012 R2 Orchestrator Machine for more details.
プライマリ Orchestrator マシン上で自己署名 SSL 証明書を作成する
管理者として PowerShell コンソールを開き、次のコマンドを発行します。環境に応じて値をカスタマイズすることを忘れないでください。
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
$ssc = New-SelfSignedCertificate -FriendlyName "TestingCertificate" -DnsName "loadbalancer.domain.local","node1.domain.local","node2.domain.local"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($ssc)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
Export-PfxCertificate -Cert $ssc -FilePath "C:\temp\testingCertificate.pfx" -Password $pass
上記のコマンドでは、後で使用するための C:\temp\testingCertificate.pfx ファイルもエクスポートされます。
SAN 自己署名証明書をその他のマシンにインポートする
自己署名証明書を他のマシン (Orchestrator のセカンダリ ノード/ロボット端末) で利用できるようにするには、管理者として PowerShell コンソールを開き、次のコマンドを発行します。
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
$pass = ConvertTo-SecureString -String "myPass" -Force -AsPlainText
$imported = Import-PfxCertificate -FilePath "C:\temp\testingCertificate.pfx" -CertStoreLocation Cert:\LocalMachine\My\ -Exportable -Password $pass
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store( "Root", "LocalMachine")
$store.Open("MaxAllowed")
$store.Add($imported)
Firefox – 例外の許可
Firefox ではこのプロセスの取り扱いが若干異なり、Windows ストアの証明書情報を読み込むことができません。証明書をインストールするのではなく、特定のサイトの SSL 証明書の例外を定義することができます。
証明書エラーのあるサイトを開くと、以下のスクリーンショットのように警告メッセージが表示されます。アクセスしようとする URL が青色のエリアに表示されます。この警告を特定の URL で回避するための例外を作成する方法は以下のとおりです。
-
[例外を追加] ボタンをクリックします。[セキュリティ例外の追加] ウィンドウが表示されます。
-
この例外をローカルで構成するには、[セキュリティ例外の追加] ウィンドウで [セキュリティ例外を承認] をクリックします。
注:特定のサイトが内部のサブドメインにリダイレクトする場合、毎回わずかに異なる URL で複数のセキュリティ警告プロンプトが表示されることがあります。上記の手順を実行して、URL の例外を追加します。
証明書のトラブルシューティング
インストールまたはアップグレード中に UiPathOrchestrator.msi の証明書の使用について問題が発生した場合は、以下の手順に沿ってトラブルシューティングを開始します。
コントロール パネルから:
- [コンピューター証明書の管理] > [個人] > [証明書] を開きます。お使いの証明書を確認し、ダブルクリックします。[全般] タブで有効期間に関する情報を確認できます。
- コマンド ラインから次のコマンドを実行して証明書を診断します:
certutil -v -verifystore My <certificateThumbprint>。概要は出力結果の最後に表示されます。
証明書の拇印は、手順 1 の [詳細] タブで確認できます。
内部サーバー エラー
証明書に適切な権限一式が設定されていない場合、内部のサーバー エラーが発生する可能性があります。必要な権限を付与するには、管理者として次のことを実行します。
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
Insights 証明書エラー
Insights 証明書を変更しようとしてエラーが発生した場合は、「Insights 証明書の更新」に記載されている指示に従います。
Windows Server 2012 R2 Orchestrator マシン上で自己署名 SAN SSL 証明書を作成する
Windows Server 2012 R2 では、-FriendlyName パラメーターをサポートしていません。Orchestrator マシンでこのオペレーティング システムを実行している場合、自己署名 SAN SSL 証明書を作成するには、以下の手順を実行する必要があります。
-
Create the certificate on a machine running an OS newer than Windows Server 2012 R2, as described in the Creating a Self-Signed SSL Certificate on the Primary Orchestrator Machine section.
-
Import the self-signed SAN SSL certificate to the Windows Server 2012 R2 machine as described in the Importing the SAN Self-Signed Certificate to Other Machines section.
証明書は、個人用ストアと信頼されたルート証明機関ストアの両方に追加してください。
-
[Windows] + [R] キーを押して「certlm.msc」と入力し、[OK] をクリックして [証明書] スナップインを開きます。
-
秘密キーへの読み取り権限を許可するには、以下のいずれかの手順を実行します。
-
If you are using ApplicationPoolIdentity, go to Personal store > All Tasks > Manage Private Keys, and give read permission to the IIS AppPool\UiPath Orchestrator user.
-
If you are using a custom account, go to Personal store > All Tasks > Manage Private Keys, and give read permissions to the custom user that is set on the Orchestrator Application Pool.