アカウントの選択と SPN の例

このトピックでは、setspn ユーティリティを使用して Active Directory にサービスプリンシパル名 (SPN) を割り当てる例について説明します。

SPN の割り当てを行う場合、名前が定義された Windows アカウントを使用する方法がベストプラクティスですが、名前が定義された Windows アカウントを使用する必要がない場合もあります。以下の例では、setspn コマンドの使用方法と、アカウントの使用に関する有効な選択について説明します。

IP スプレーヤを介して複数の Domino® サーバーからサービスを受信する Web サイト

現在の SSO 環境が、複数の Domino® サーバー間で IP スプレーヤによって接続要求が分散される Web サイトの場合、Active Directory 内の 1 つの名前付きアカウントに SPN を定義する必要があります。すべての Domino® サーバーは、個々のローカルシステムアカウントではなく、Windows サービスとしてこの同じアカウントにログオンします。たとえば、ある Web サイト文書が次のように設定されているとします。

  • [ホスト名またはこのサイトにマップされたアドレス] = ipsprayer.renovations.com, domino1.ad.renovations.com, domino2.ad.renovations.com
  • [このサイトをホストとする Domino サーバー] = Domino1/Renovations, Domino2/Renovations

次のように、名前付きアカウント (この例では ssorenovations) で setspn を 3 回実行して、このアカウントに 3 つの SPN を定義します。

setspn -a HTTP/ipsprayer.renovations.com ssorenovations
setspn -a HTTP/domino1.ad.renovations.com ssorenovations
setspn -a HTTP/domino2.ad.renovations.com ssorenovations

Active Directory ドメインにログオンする Web ユーザーが、以下のいずれかの DNS 名を含む HTTP または HTTPS の URL を経由して Domino1/Renovations または Domino2/Renovations にアクセスする場合、パスワードの入力画面は表示されません。

ipsprayer.renovations.com
domino1.ad.renovations.com
domino2.ad.renovations.com

単一の Domino® サーバーからサービスを受信する Web サイト

単一の Domino® サーバーからサービスを受信する Web サイトの場合、名前付きアカウントとローカルシステムアカウントのどちらでも SPN を定義することができます。たとえば、ある Web サイト文書が次のように設定されているとします。

  • [ホスト名またはこのサイトにマップされたアドレス] = www.sso1.renovations.com, www.sso2.renovations.com
  • [このサイトをホストとする Domino サーバー] = Domino1/Renovations

このアカウントで、次のように setspn を 2 回実行します (この例では、ローカルシステムアカウントの domino1 で実行)。

setspn -a HTTP/www.sso1.renovations.com domino1
setspn -a HTTP/www.sso2.renovations.com domino1

Active Directory ドメインにログオンする Web ユーザーが、www.sso1.renovations.com または www.sso2.renovations.com を含む HTTP または HTTPS の URL を経由して Domino1/Renovations サーバーにアクセスする場合、パスワードの入力画面は表示されません。

URL で DNS 名を共有しない複数の Domino® サーバーからサービスを受信する Web サイト

URL で DNS 名を共有しない複数の Domino® サーバーからサービスを受信する Web サイトの場合、以下の処理を実行することができます。

  • すべてのサーバーの SPN を 1 つの名前付きアカウント内に定義する
  • サーバーごとの SPN を個別の名前付きアカウント内に定義する
  • サーバー別の SPN をサーバーのローカルシステムアカウントごとに定義する

たとえば、ある Web サイト文書が次のように設定されているとします。

  • [ホスト名またはこのサイトにマップされたアドレス] = domino1.ad.renovations.com, domino2.ad.renovations.com
  • [このサイトをホストとする Domino サーバー] = Domino1/Renovations, Domino2/Renovations

Domino1/Renovations は、domino1.ad.renovations.com を含む URL に対してのみサービスを提供し、Domino2/Renovations は、domino2.ad.renovations.com を含む URL に対してのみサービスを提供します。ローカルシステムアカウント (domino1, domino2) ごとに SPN を定義するには、次のようにアカウント 1 つにつき setspn を 1 回実行します。

setspn -a HTTP/domino1.ad.renovations.com domino1
setspn -a HTTP/domino2.ad.renovations.com domino2

Active Directory ドメインにログオンする Web ユーザーが、domino1.ad.renovations.com を含む URL を経由して Domino1/Renovations にアクセスする場合、または domino2.ad.renovations.com を含む URL を経由して Domino2/Renovations サーバーにアクセスする場合、パスワードの入力画面は表示されません。

サーバー文書を使用する SSO 設定

SSO 設定で Web サイト文書ではなくサーバー文書を使用する場合、次の処理を実行することができます。

  • すべてのサーバーに対して単一の名前付きアカウントを使用する
  • IP スプレーヤを使用しない場合、サーバークラスタなどで構成される複数の名前付きアカウントを使用する
  • IP スプレーヤを使用しない場合、ローカルシステムアカウント (domino1、domino2、domino3 など) を使用する

たとえば、それぞれのサーバーを複数サーバーのセッション認証用に設定し、指定された Web SSO 設定文書の [参加するサーバー] フィールドに次のサーバーがリストされていると想定します。

  • Domino1/Renovations
  • Domino2/Renovations
  • Domino3/Renovations

また、対応するホスト名が以下のとおりであるとします。

  • domino1.ad.renovations.com
  • domino2.ad.renovations.com
  • domino3.ad.renovations.com

ローカルシステムアカウントを使用するには、各アカウントで次のように setspn を 1 回実行します。

setspn -a HTTP/domino1.ad.renovations.com domino1
setspn -a HTTP/domino2.ad.renovations.com domino2
setspn -a HTTP/domino3.ad.renovations.com domino3

Web クライアントがローカルシステムアカウントで domino1 にログオンする場合、domino1.ad.renovations.com を含む HTTP または HTTPS の URL にアクセスしてもパスワードの入力画面は表示されません。domino2.ad.renovations または domino3.ad.renovations を含む URL の場合も同じです。