Kerberos認証のサービスプリンシパル名(SPN)の構成

Blue Prismサーバー接続で次の接続モードを使用する場合、各Blue Prismサーバーサービスインスタンスが実行されているActive Directory(AD)アカウントに対してサービスプリンシパル名(SPN)を構成する必要があります。

  • WCF:メッセージの暗号化とWindows認証を使用するSOAP
  • WCF:トランスポートの暗号化とWindows認証を使用するSOAP
  • .NET Remoting:セキュア

これは、Blue Prismインタラクティブクライアントまたはランタイムリソースが上記の接続モードのいずれかを使用してアプリケーションサーバーに接続する場合、Microsoft Negotiateセキュリティパッケージを使用して、接続の認証に最適なセキュリティサポートプロバイダー(SSP)を選択するためです。Blue Prismインタラクティブクライアントの内部コードは、予想されるSPNをMicrosoft Negotiationセキュリティパッケージに提供します。これは、SPNがActive Directoryに存在することを条件として、Microsoft Negotiationに、New Technology LAN Manager(NTLM)SSPではなくKerberos SSPを選択するように促します。SPNがActive Directoryに存在しない場合、Kerberos認証は失敗します。この動作に影響するCVE-2022-21920のWindowsセキュリティ更新の詳細については、こちらのナレッジベースの記事を参照してください。Blue Prism 7.0.2以降、SPNがActive Directoryに存在せず、/forcentlm<flag>がAutomate Cで設定されている場合は、NTLM SSPが使用されます。

この構成に関するサポートについては組織のITチームに問い合わせ、まず非本番環境で構成をテストすることをお勧めします。

この構成はすべてのBlue Prism環境に適用されますが、BPサーバーインスタンスが実行されているActive Directoryアカウントが、Blue Prismインタラクティブクライアントとランタイムリソースに使用されるActive Directoryアカウントとは異なるドメインに存在する場合は、CVE-2022-21920のWindowsセキュリティ更新プログラムをインストールしないことをお勧めします。すでにインストールされている場合は、アンインストールすることをお勧めします。Blue Prism 7.0.2以降は、以下に概説するAutomate Cの追加構成が必要です。

SPNを構成するには、各Blue Prismサーバーサービスインスタンスで以下の手順に従ってください。

  1. ドメイン管理者またはエンタープライズ管理者グループのメンバーである特権付きWindowsユーザーアカウントを使用してBlue Prismのサーバーにログインします。

    必要な許可を含む詳細については、このトピックのMicrosoftドキュメントを参照してください。これは、アカウントの許可がないことでSetspnコマンドの実行に失敗しないようにするために、組織のITチームと確認すべき重要なステップです。

  2. アプリケーションサーバーの管理者としてコマンドプロンプトを開き、次のコマンドを実行します。

    Blue Prismサーバーがローカルシステムアカウントとして実行されている場合:

    コピー
    Setspn -S HTTP/SERVER_FQDN:SERVER_PORT/BPServer COMPUTER_HOSTNAME 

    Blue Prismサーバーがユーザーアカウントとして実行されている場合:

    コピー
    Setspn -S HTTP/SERVER_FQDN:SERVER_PORT/BPServer DOMAIN\Username

    ここでは、

    • HTTPとHTTPSの両方のHTTPアカウントです。HTTPSを含むようにコマンドを変更すると、構成に失敗するので、変更しないでください。

    • 「SERVER_FQDN:SERVER_PORT」は、Blue Prismアプリケーションサーバーの完全修飾ドメイン名(FQDN)である必要があります。
    • 「COMPUTER_HOSTNAME」は、BPサーバーサービスがローカルシステムアカウントとして実行されている場合、コンピューターのホスト名です。

    • 「DOMAIN\Username」は、BPサーバーサービスがユーザーアカウントとして実行されている場合、ドメインユーザー名です。

      これは、Blue Prism[サーバープロパティ(ローカルコンピューター)]ウィンドウの[次のユーザーとしてログオン]の設定と一致する必要があります。

    ローカルシステムの例:

    DOMAIN\Usernameの例:

  3. SPNを設定した後、Kerberosチケットキャッシュが更新されるまで待つ必要があります(デフォルト設定は15分ですが、グループポリシーで変更できます)。詳細については、Kerberos認証のドキュメントを参照してください。

    または、以下のいずれかを行うことができます。

    • Blue Prismインタラクティブクライアントまたはランタイムリソースを再起動します。または、
    • インタラクティブクライアントまたはランタイムリソースを実行しているマシンでコマンドプロンプトを開き、Klist purgeを実行してKerberosチケットを更新します。

      このコマンドは、すべてのユーザーのKerberosチケットを消去しないため、昇格されたコマンドプロンプト内で実行しないでください。

  4. 別のマシンで実行されているBlue PrismインタラクティブクライアントからBlue Prismサーバーに接続して、正常に機能していることを確認します。
  5. すべてのBlue Prismサーバーで実行されているBlue Prismサーバーサービスの各インスタンスで、上記の手順を繰り返します。

SPNエントリを確認し、誤ったSPNを削除する

  1. トラブルシューティング目的でSPNエントリを確認するには、次のコマンドを使用して、アプリケーションサーバーに追加したSPNのリストを表示できます。

    コピー

    Setspn -L ACCOUNTNAME

  2. SPNリストの例:

  3. BPサーバーサービスに追加したSPNのエントリを確認します。以下のコマンドを使用して、誤って追加されたものを削除できます。

    コピー
    Setspn -D SPN_NAME ACCOUNTNAME

    SPN_NAMEは、「HTTP/SERVER_FQDN:SERVER_PORT/BPServer」など、SPNエントリリストに表示される名前です。

負荷分散環境でのBlue Prismアプリケーションサーバーの追加構成

同じロードバランサープール内のBlue Prismサーバーサービスのすべてのインスタンスが同じサービスアカウントで実行され、SPNがこのアカウントに登録されていることが不可欠です。

さらに、アプリケーションサーバーへの直接接続をテストできるため、アプリケーションサーバーのFQDNのSPNを同じサービスアカウントに登録することをお勧めします。詳細については、「SPNのトラブルシューティング」を参照してください。

マルチフォレスト環境でのActive Directory認証の追加構成

この機能は、Blue Prism 7.0.2以降でのみ使用できます。

Kerberos認証をサポートするには 複数のフォレストでActive Directory認証を使用するように構成されたBlue Prism環境でKerberos認証をサポートするには、Automate Cで次の設定を構成する必要があります。

  • /setkerberosrealm‬ – 例:/setkerberosrealm mycompany.com。ユーザーのKerberosレルムがBPサーバーを実行するために構成されたユーザーアカウントのレルムと異なる場合、インタラクティブクライアントでBPサーバー接続ごとに構成する必要があります。

    Kerberosレルムは通常ドメイン名と同じですが、ITチームに正しい値を確認してください。これは、Blue Prismサーバーサービスを実行しているサービスアカウントのレルムと一致します。環境によっては、同じフォレスト内の別のドメインにサービスアカウントがある場合と同じ構成を適用する必要があります。SPNに「klist get」コマンドを実行すると、Kerberosレルムを指定する必要があるかどうかを確認できます。詳細については、「SPNのトラブルシューティング」を参照してください。

  • /forcentlm <flag> – 例:/forcentlm true。Microsoft Negotiateセキュリティパッケージは、Blue Prismサーバー接続の認証時に、最後に使用された接続または指定された接続(/dbconnameスイッチを使用)のセキュリティサポートプロバイダー(SSP)としてNew Technology LAN Manager(NTLM)を選択しなければなりません。このオプションは、Kerberosが利用できない、あるいは構成されていない場合にNTLMを使用できるように提供されています。

    NTLMは安全性の低いプロトコルと見なされるため、このオプションを有効にする前にセキュリティチームに相談してください。