次の方法で共有


Web 登録プロキシ ページの Kerberos 制約付き委任を構成する方法

この記事では、Web 登録プロキシ ページのカスタム サービス アカウントにユーザー間サービス (S4U2Proxy) または Kerberos Only Constrained Delegation を実装する手順について説明します。

元の KB 番号: 4494313

まとめ

この記事では、Web 登録プロキシ ページに対してユーザー間サービス (S4U2Proxy) または Kerberos のみの制約付き委任を実装する手順について説明します。 この記事では、次の構成シナリオについて説明します。

  • カスタム サービス アカウントの委任の構成
  • NetworkService アカウントへの委任の構成

Note

この記事で説明するワークフローは、特定の環境に固有のものです。 同じワークフローは、別の状況では機能しない場合があります。 ただし、原則は変わりません。 次の図は、この環境をまとめたものです。
サンプル環境のサーバーの種類。

シナリオ 1: カスタム サービス アカウントの制約付き委任を構成する

このセクションでは、Web 登録プロキシ ページにカスタム サービス アカウントを使用する場合に、ユーザー間のサービス (S4U2Proxy) または Kerberos のみの制約付き委任を実装する方法について説明します。

1. サービス アカウントに SPN を追加する

サービス アカウントをサービス プリンシパル名 (SPN) に関連付けます。 これを行うには、次の手順を実行します。

  1. Active Directory ユーザーとコンピューターでドメインに接続し、PKI>PKI Users を選択します。

  2. サービス アカウント (web_svc など) を右クリックし、 Properties を選択します。

  3. Attribute Editor>servicePrincipalName を選択します。

  4. 新しい SPN 文字列を入力し、次の図に示すように Add を選択し、 OKを選択します。

    H T T P SPN を追加および構成するためのガイダンス。

    Windows PowerShell を使用して SPN を構成することもできます。 これを行うには、管理者特権の PowerShell ウィンドウを開き、 setspn -s SPN Accountname実行します。 たとえば、次のコマンドを実行します。

    setspn -s HTTP/webenroll2016.contoso.com web_svc
    

2. 委任を構成する

  1. サービス アカウントで S4U2proxy (Kerberos のみ) の制約付き委任を構成します。 これを行うには、(前の手順で説明したように) サービス アカウントの Properties ダイアログ ボックスで Delegation>このユーザーを特定のサービスのみに委任するを選択します。 Kerberos のみ使用が選択されていることを確認します。

    [プロパティ] ダイアログ ボックスの [委任] タブで、web_svcプロパティを構成します。

  2. ダイアログ ボックスを閉じる

  3. コンソール ツリーで Computers を選択し、Web 登録フロントエンド サーバーのコンピューター アカウントを選択します。

    Note

    このアカウントは、"マシン アカウント" とも呼ばれます。

  4. コンピューター アカウントで S4U2 自身 (プロトコル遷移) の制約付き委任を構成します。 これを行うには、コンピューター アカウントを右クリックし、 Properties>Delegation>このコンピューターを選択して、指定したサービスへの委任のみを行います[任意の認証プロトコルを使う] をオンにします。

    [指定されたサービスへの委任にこのコンピューターを信頼する] オプションの下にある [任意の認証プロトコルを使用する] を選択します。

3. Web 登録用の SSL 証明書を作成してバインドする

Web 登録ページを有効にするには、Web サイトのドメイン証明書を作成し、既定の Web サイトにバインドします。 これを行うには、次の手順を実行します。

  1. [インターネット インフォメーション サービス (IIS) マネージャー] を開きます。

  2. コンソール ツリーで <HostName> を選択し、 Server Certificates を選択します。

    Note

    <HostName> はフロントエンド Web サーバーの名前です。
    Web サイトのドメイン証明書を追加します。

  3. [ Actions メニューの ドメイン証明書の作成を選択します。

  4. 証明書が作成されたら、コンソール ツリーで Default Web Site を選択し、 Bindings を選択します。

  5. Port443 に設定されていることを確認します。 次に、 SSL 証明書で、手順 3 で作成した証明書を選択します。

    シナリオ 1 では、証明書を追加してポート 443 にバインドします。

  6. OK を選択して、証明書をポート 443 にバインドします。

4. サービス アカウントを使用するように Web 登録フロントエンド サーバーを構成する

重要

サービス アカウントが、web サーバーの ローカル管理者 または IIS_Users グループのいずれかに含まれていることを確認します。
Web サーバー上のサービス アカウントのグループ。

  1. DefaultAppPool を右クリックし、[Advanced Settings選択

    アプリケーション プールの詳細設定を構成します。

  2. Process Model>Identity を選択し、Custom アカウントを選択し、Set を選択します。 サービス アカウントの名前とパスワードを指定します。

    アプリケーション プール ID をカスタム サービス アカウントとして構成します。

  3. [資格情報の設定アプリケーション プール ID] ダイアログ ボックスでOK を選択します。

  4. Advanced 設定で、Load User Profile を探し、True に設定されていることを確認します。

    [ユーザー プロファイルの読み込み] 設定を True に設定します。

  5. コンピューターを再起動します。

シナリオ 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

このような構成を使用するには、次の手順に従います。

  1. ドメインの DNS ゾーン ファイルで、新しい接続名を Web 登録ロールの IP アドレスにマップするエイリアス レコードまたはホスト名レコードを作成します。 Ping ツールを使用して、ルーティング構成をテストします。

    前に説明した例では、 Contoso.com ゾーン ファイルには、ContosoWebEnroll を Web 登録ロールの IP アドレスにマップするエイリアス レコードがあります。

  2. Web 登録フロントエンド サーバーの SPN として新しい名前を構成します。 これを行うには、次の手順を実行します。

    1. Active Directory ユーザーとコンピューターでドメインに接続し、Computers を選択します。
    2. Web 登録フロントエンド サーバーのコンピューター アカウントを右クリックし、 Properties を選択します。

      Note

      このアカウントは、"マシン アカウント" とも呼ばれます。

    3. Attribute Editor>servicePrincipalName を選択します。
    4. HTTP/<ConnectionName>.<」と入力しますDomainName.com>、 Add を選択し、 OK を選択します。

      Note

      この文字列では、 <ConnectionName> は定義した新しい名前、 <DomainName> はドメインの名前です。 この例では、文字列は HTTP/ContosoWebEnroll.contoso.com です。 フロントエンド サーバー コンピューター アカウントに S P N を追加します。

1. 委任を構成する

  1. ドメインにまだ接続していない場合は、Active Directory ユーザーとコンピューターでこれを行い、Computersを選択します。

  2. Web 登録フロントエンド サーバーのコンピューター アカウントを右クリックし、 Properties を選択します。

    Note

    このアカウントは、"マシン アカウント" とも呼ばれます。

  3. Delegationを選択し、指定したサービスへの委任にのみこのコンピューター信頼するを選択します。

    Note

    クライアントがこのサーバーに接続するときに常に Kerberos 認証を使用することを保証できる場合は、 Kerberos のみを使用するを選択します。 一部のクライアントが NTLM やフォーム ベースの認証など、他の認証方法を使用する場合は、 認証プロトコルを使用しますを選択します。

    Web サーバー コンピューター アカウントで委任を構成します。

2. Web 登録用の SSL 証明書を作成してバインドする

Web 登録ページを有効にするには、Web サイトのドメイン証明書を作成し、既定の最初のサイトにバインドします。 これを行うには、次の手順を実行します。

  1. IIS マネージャーを開きます。

  2. コンソール ツリーで <HostName> を選択し、操作ウィンドウで Server Certificates を選択します。

    Note

    <HostName> はフロントエンド Web サーバーの名前です。 Web サイトのドメイン証明書を追加します。

  3. [ Actions メニューの ドメイン証明書の作成を選択します。

  4. 証明書が作成されたら、 既定の Web サイトを選択し、 Bindings を選択します。

  5. Port443 に設定されていることを確認します。 次に、 SSL 証明書で、手順 3 で作成した証明書を選択します。 OK を選択して、証明書をポート 443 にバインドします。

    証明書を追加し、ポート 443 にバインドします。

3. NetworkService アカウントを使用するように Web 登録フロントエンド サーバーを構成する

  1. DefaultAppPool を右クリックし、[Advanced Settings選択

    既定のアプリケーション プールの [詳細設定] を選択します。

  2. Process Model>Identity を選択します。 組み込みアカウントが選択されていることを確認し、NetworkService を選択します。 [OK] をクリックします。

    組み込みの NetworkService アカウントとしてアプリケーション プール ID を構成します。

  3. Advanced プロパティで、Load User Profileを探し、True に設定されていることを確認します。

    [詳細設定] で [ユーザー プロファイルの読み込み] を True に設定します。

  4. IIS サービスを再起動します。

これらのプロセスの詳細については、「 Web アプリケーション ユーザーの認証」を参照してください。

S4U2self および S4U2proxy プロトコル拡張機能の詳細については、次の記事を参照してください。