アカウントの選択と 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 の場合も同じです。