Web 登録プロキシ ページの Kerberos 制約付き委任を構成する方法
この記事では、Web 登録プロキシ ページのカスタム サービス アカウントにユーザー間サービス (S4U2Proxy) または Kerberos Only Constrained Delegation を実装する手順について説明します。
元の KB 番号: 4494313
まとめ
この記事では、Web 登録プロキシ ページに対してユーザー間サービス (S4U2Proxy) または Kerberos のみの制約付き委任を実装する手順について説明します。 この記事では、次の構成シナリオについて説明します。
- カスタム サービス アカウントの委任の構成
- NetworkService アカウントへの委任の構成
Note
この記事で説明するワークフローは、特定の環境に固有のものです。 同じワークフローは、別の状況では機能しない場合があります。 ただし、原則は変わりません。 次の図は、この環境をまとめたものです。
シナリオ 1: カスタム サービス アカウントの制約付き委任を構成する
このセクションでは、Web 登録プロキシ ページにカスタム サービス アカウントを使用する場合に、ユーザー間のサービス (S4U2Proxy) または Kerberos のみの制約付き委任を実装する方法について説明します。
1. サービス アカウントに SPN を追加する
サービス アカウントをサービス プリンシパル名 (SPN) に関連付けます。 これを行うには、次の手順を実行します。
Active Directory ユーザーとコンピューターでドメインに接続し、PKI>PKI Users を選択します。
サービス アカウント (web_svc など) を右クリックし、 Properties を選択します。
Attribute Editor>servicePrincipalName を選択します。
新しい SPN 文字列を入力し、次の図に示すように Add を選択し、 OKを選択します。
Windows PowerShell を使用して SPN を構成することもできます。 これを行うには、管理者特権の PowerShell ウィンドウを開き、
setspn -s SPN Accountname
実行します。 たとえば、次のコマンドを実行します。setspn -s HTTP/webenroll2016.contoso.com web_svc
2. 委任を構成する
サービス アカウントで S4U2proxy (Kerberos のみ) の制約付き委任を構成します。 これを行うには、(前の手順で説明したように) サービス アカウントの Properties ダイアログ ボックスで Delegation>このユーザーを特定のサービスのみに委任するを選択します。 Kerberos のみ使用が選択されていることを確認します。
ダイアログ ボックスを閉じる
コンソール ツリーで Computers を選択し、Web 登録フロントエンド サーバーのコンピューター アカウントを選択します。
Note
このアカウントは、"マシン アカウント" とも呼ばれます。
コンピューター アカウントで S4U2 自身 (プロトコル遷移) の制約付き委任を構成します。 これを行うには、コンピューター アカウントを右クリックし、 Properties>Delegation>このコンピューターを選択して、指定したサービスへの委任のみを行います。 [任意の認証プロトコルを使う] をオンにします。
3. Web 登録用の SSL 証明書を作成してバインドする
Web 登録ページを有効にするには、Web サイトのドメイン証明書を作成し、既定の Web サイトにバインドします。 これを行うには、次の手順を実行します。
[インターネット インフォメーション サービス (IIS) マネージャー] を開きます。
コンソール ツリーで <HostName> を選択し、 Server Certificates を選択します。
Note
<HostName> はフロントエンド Web サーバーの名前です。
[ Actions メニューの ドメイン証明書の作成を選択します。
証明書が作成されたら、コンソール ツリーで Default Web Site を選択し、 Bindings を選択します。
Port が 443 に設定されていることを確認します。 次に、 SSL 証明書で、手順 3 で作成した証明書を選択します。
OK を選択して、証明書をポート 443 にバインドします。
4. サービス アカウントを使用するように Web 登録フロントエンド サーバーを構成する
重要
サービス アカウントが、web サーバーの ローカル管理者 または IIS_Users グループのいずれかに含まれていることを確認します。
DefaultAppPool を右クリックし、[Advanced Settings選択。
Process Model>Identity を選択し、Custom アカウントを選択し、Set を選択します。 サービス アカウントの名前とパスワードを指定します。
[資格情報の設定とアプリケーション プール ID] ダイアログ ボックスでOK を選択します。
Advanced 設定で、Load User Profile を探し、True に設定されていることを確認します。
コンピューターを再起動します。
シナリオ 2: NetworkService アカウントで制約付き委任を構成する
このセクションでは、Web 登録プロキシ ページに NetworkService アカウントを使用する場合に、S4U2Proxy または Kerberos のみの制約付き委任を実装する方法について説明します。
省略可能な手順: 接続に使用する名前を構成する
クライアントが接続に使用できる Web 登録ロールに名前を割り当てることができます。 この構成は、受信要求が Web 登録フロントエンド サーバーのコンピューター名や、DNS 正規名 (CNAME) などの他のルーティング情報を認識している必要がないことを意味します。
たとえば、Web 登録サーバーのコンピューター名が WEBENROLLMAC (Contoso ドメイン内) であるとします。 受信接続では、代わりに ContosoWebEnroll という名前を使用する必要があります。 この場合、接続 URL は次のようになります。
https://contosowebenroll.contoso.com/certsrv
これは次のものではありません。
https://WEBENROLLMAC.contoso.com/certsrv
このような構成を使用するには、次の手順に従います。
ドメインの DNS ゾーン ファイルで、新しい接続名を Web 登録ロールの IP アドレスにマップするエイリアス レコードまたはホスト名レコードを作成します。 Ping ツールを使用して、ルーティング構成をテストします。
前に説明した例では、
Contoso.com
ゾーン ファイルには、ContosoWebEnroll を Web 登録ロールの IP アドレスにマップするエイリアス レコードがあります。Web 登録フロントエンド サーバーの SPN として新しい名前を構成します。 これを行うには、次の手順を実行します。
- Active Directory ユーザーとコンピューターでドメインに接続し、Computers を選択します。
- Web 登録フロントエンド サーバーのコンピューター アカウントを右クリックし、 Properties を選択します。
Note
このアカウントは、"マシン アカウント" とも呼ばれます。
- Attribute Editor>servicePrincipalName を選択します。
- 「 HTTP/<ConnectionName>.<」と入力しますDomainName.com>、 Add を選択し、 OK を選択します。
Note
この文字列では、 <ConnectionName> は定義した新しい名前、 <DomainName> はドメインの名前です。 この例では、文字列は HTTP/ContosoWebEnroll.contoso.com です。
1. 委任を構成する
ドメインにまだ接続していない場合は、Active Directory ユーザーとコンピューターでこれを行い、Computersを選択します。
Web 登録フロントエンド サーバーのコンピューター アカウントを右クリックし、 Properties を選択します。
Note
このアカウントは、"マシン アカウント" とも呼ばれます。
Delegationを選択し、指定したサービスへの委任にのみこのコンピューター信頼するを選択します。
Note
クライアントがこのサーバーに接続するときに常に Kerberos 認証を使用することを保証できる場合は、 Kerberos のみを使用するを選択します。 一部のクライアントが NTLM やフォーム ベースの認証など、他の認証方法を使用する場合は、 認証プロトコルを使用しますを選択します。
2. Web 登録用の SSL 証明書を作成してバインドする
Web 登録ページを有効にするには、Web サイトのドメイン証明書を作成し、既定の最初のサイトにバインドします。 これを行うには、次の手順を実行します。
IIS マネージャーを開きます。
コンソール ツリーで <HostName> を選択し、操作ウィンドウで Server Certificates を選択します。
Note
<HostName> はフロントエンド Web サーバーの名前です。
[ Actions メニューの ドメイン証明書の作成を選択します。
証明書が作成されたら、 既定の Web サイトを選択し、 Bindings を選択します。
Port が 443 に設定されていることを確認します。 次に、 SSL 証明書で、手順 3 で作成した証明書を選択します。 OK を選択して、証明書をポート 443 にバインドします。
3. NetworkService アカウントを使用するように Web 登録フロントエンド サーバーを構成する
DefaultAppPool を右クリックし、[Advanced Settings選択。
Process Model>Identity を選択します。 組み込みアカウントが選択されていることを確認し、NetworkService を選択します。 [OK] をクリックします。
Advanced プロパティで、Load User Profileを探し、True に設定されていることを確認します。
IIS サービスを再起動します。
関連トピック
これらのプロセスの詳細については、「 Web アプリケーション ユーザーの認証」を参照してください。
S4U2self および S4U2proxy プロトコル拡張機能の詳細については、次の記事を参照してください。