Orchestrator
2023.10
バナーの背景画像
Orchestrator インストール ガイド
最終更新日 2024年4月19日

証明書を使用して HTTPS プロトコルを有効化する

認証機関に SAN SSL 証明書を要求する

このセクションでは、Orchestrator と Robot 間の通信に HTTP プロトコルを有効化する方法について説明します。

自己署名証明書ではなく、認証機関に提出された SAN SSL 証明書の使用をお勧めします。SAN SSL 証明書の場合は、ロボット コンピューターに証明書をインストールする必要がないからです。認証機関によって発行された SAN SSL 証明書は、ドメイン内のすべてのコンピューターから信頼されます。

プライマリ Orchestrator マシンが、ローカル認証機関と自動登録ポリシーを持つ Active Directory に登録されている場合、ユーザーは以下の手順に従って証明書の要求を入力できます。

  1. [Windows] + [R] キーを押し、「certlm.msc」と入力し、[OK] をクリックして、[証明書] スナップインを開きます。
  2. [個人] ノードを右クリックし、[すべてのタスク][詳細設定操作][カスタム要求の作成] の順に選択します。[開始する前に] ウィンドウで [次へ] をクリックします。


  3. [証明書の登録ポリシーの選択] ウィンドウで、[Active Directory 登録ポリシー] を選択し、[次へ] をクリックします。
  4. [カスタム要求] ウィンドウで、Web サーバーの使用のために指定された証明書テンプレートを選択します。このテンプレートの名前は [Web Server] または [Web.SAN] です。テンプレートが定義されていない場合は、[(テンプレートなし) レガシ キー] を選択します。次に、要求の形式として [PKCS #10] を選択します。


  5. [証明書情報] ウィンドウで、作成する要求に対応する [詳細] ボタンをクリックし、[プロパティ] を選択して、[証明書のプロパティ] ウィンドウを開き、証明書の要求をカスタマイズします。


  6. 以下に示すように [サブジェクト] タブの情報をカスタマイズします。

    6.1. [サブジェクト名] セクションで、[種類] に移動し、ドロップダウン メニューから [共通名] を選択します。[値] フィールドで、マシンの完全修飾ドメイン名 (FQDN) を入力します (例: myhost.domain.local)。次に [追加] をクリックします。

    6.2. [別名] セクションで、[種類] に移動し、ドロップダウン メニューから [DNS] を選択します。[値] フィールドに、マシンの FQDN (手順 6.1. と同じ) を入力します。次に [追加] をクリックします。

    6.3. Orchestrator が複数のノードにインストールされている場合は、手順 6.2. で説明したように、これらの FQDN すべてを追加する必要があります。また、ロード バランサーの FQDN も追加してください。



  7. 以下に示すように [秘密キー] タブの情報をカスタマイズします。

    7.1. [暗号化サービスプロバイダー] ボックスで、[暗号化サービス プロバイダー (CSP) を選択してください] に移動し、[Microsoft RSA SChannel Cryptographic Provider (Encryption)] をオンにします。



    7.2.[キーのオプション] セクションで、[キーのサイズ] が 2048 以上に設定され、[秘密キーをエクスポート可能にする] にチェックマークが付いていることを確認します。

    docs image
    7.3.[キーの種類] セクションで、キー使用法[Exchange] に設定されていることを確認します。


  8. 設定ウィンドウで [OK] をクリックして、[証明書情報] 画面で [次へ] をクリックします。
  9. [オフライン要求を保存する場所を指定してください。] 画面で、任意のファイル パスとファイル名を指定して (例:C:\Users\YourUser\Documents\sslRequest.req)、ファイル形式として [Base 64] を選択します。


  10. 認証機関が登録要求を受け入れた後、証明書は個人用ストアに表示されます。
    重要:

    企業に証明書を取得するための標準的な手順/テンプレートがある場合、ユーザーはその手順を参照する必要があります。

    その他の環境でも (例: 自動登録ポリシーを使用しない場合)、このドキュメントを証明書パラメーターの参照として使用できます。

自己署名 SAN SSL 証明書を作成する

テストの目的でのみ SSL 証明書を素早く作成する必要がある場合は、自己署名 SAN SSL 証明書を作成できます。

重要: Orchestrator マシンで Windows Server 2012 R2 を実行している場合、自己署名 SAN SSL 証明書を作成するには、回避策が必要になります。詳細については、「Windows Server 2012 R2 Orchestrator マシン上で自己署名 SAN SSL 証明書を作成する」をご覧ください。

プライマリ 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 ファイルもエクスポートされます。

証明書が作成されたら、以下を確認します。

  • ApplicationPoolIdentity を使用している場合は、証明書コンソールで [個人] > [証明書] に移動します。次に、Orchestrator の個人証明書を右クリックして、[すべてのタスク] > [秘密キーの管理] を選択し、IIS AppPool\IdentityIIS_IUSRS の両方にすべての権限を付与します。

  • カスタム アカウントを使用している場合は、証明書コンソールで [個人] > [証明書] に移動します。次に、Orchestrator の個人証明書を右クリックして、[すべてのタスク] > [秘密キーの管理] を選択し、Orchestrator アプリケーション プールに設定されているカスタム ユーザーにすべての権限を付与します。

注:

IIS AppPool\IdentityIIS_IUSRS はローカル グループであるため、ドメインではなくローカル マシンで検索する必要があります。

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 で回避するための例外を作成する方法は以下のとおりです。

  1. [例外を追加] ボタンをクリックします。[セキュリティ例外の追加] ウィンドウが表示されます。


  2. この例外をローカルで構成するには、[セキュリティ例外の追加] ウィンドウで [セキュリティ例外を承認] をクリックします。


    注: 特定のサイトが内部のサブドメインにリダイレクトする場合、毎回わずかに異なる URL で複数のセキュリティ警告プロンプトが表示されることがあります。上記の手順を実行して、URL の例外を追加します。

証明書のトラブルシューティング

インストールまたはアップグレード中に UiPathOrchestrator.msi の証明書の使用について問題が発生した場合は、以下の手順に沿ってトラブルシューティングを開始します。

コントロール パネルから:

  1. [コンピューター証明書の管理] > [個人] > [証明書] を開きます。お使いの証明書を確認し、ダブルクリックします。[全般] タブで有効期間に関する情報を確認できます。
  2. コマンド ラインから次のコマンドを実行して証明書を診断します: 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 $aclimport-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

スクリプトの実行後、以下を確認します。

  • ApplicationPoolIdentity を使用している場合は、証明書コンソールで [個人] > [証明書] に移動します。次に、Orchestrator の個人証明書を右クリックして、[すべてのタスク] > [秘密キーの管理] を選択し、IIS AppPool\IdentityIIS_IUSRS の両方にすべての権限を付与します。

  • カスタム アカウントを使用している場合は、証明書コンソールで [個人] > [証明書] に移動します。次に、Orchestrator の個人証明書を右クリックして、[すべてのタスク] > [秘密キーの管理] を選択し、Orchestrator アプリケーション プールに設定されているカスタム ユーザーにすべての権限を付与します。

注:

IIS AppPool\IdentityIIS_IUSRS はローカル グループであるため、ドメインではなくローカル マシンで検索する必要があります。

Insights 証明書エラー

Insights 証明書を変更しようとしてエラーが発生した場合は、「Insights 証明書の更新」に記載されている指示に従います。

Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.