次の方法で共有


レポート サーバーのサービス プリンシパル名 (SPN) の登録

相互認証に Kerberos プロトコルを使用するネットワークに Reporting Services を展開する場合は、レポート サーバー サービスのサービス プリンシパル名 (SPN) を作成する必要があります。 ドメイン ユーザー アカウントとして実行するように構成する場合は、名前を作成する必要があります。

SPN について

SPN は、Kerberos 認証を使用するネットワークでのサービスの一意識別子です。 サービス クラスとホスト名で構成されますが、ポートが含まれることもあります。 HTTP SPN の場合、ポートは不要です。 Kerberos 認証を使用するネットワークでは、ビルトイン コンピューター アカウント (NetworkService や LocalSystem など) またはユーザー アカウントにサーバーの SPN を登録する必要があります。 ビルトイン アカウントには、自動的に SPN が登録されます。 一方、ドメイン ユーザー アカウントでサービスを実行する場合は、使用するアカウントに手動で SPN を登録する必要があります。

SPN を作成するには、 SetSPN コマンド ライン ユーティリティを使用します。 詳細については、以下を参照してください:

このユーティリティをドメイン コントローラーで実行するには、ドメイン管理者であることが必要です。

構文

SetSPN を使用して SPN を操作する場合は、SPN を正しい形式で入力する必要があります。 HTTP SPN の形式は http/host です。 SetSPN ユーティリティを使用してレポート サーバーの SPN を作成するためのコマンド構文は、次のようになります。

Setspn -s http/<computer-name>.<domain-name> <domain-user-account>

SetSPN は、Windows Server で使用できます。 -s 引数は、重複する SPN がないことを検証してから、SPN を追加します。

Note

-s は Windows Server 2008 以降の Windows Server で使用できます。

HTTP はサービス クラスです。 レポート サーバー Web サービスは、HTTP.SYS で実行されます。 HTTP 用に SPN を作成すると、副次的に、HTTP.SYS で実行される同じコンピューター上のすべての Web アプリケーション (IIS でホストされるアプリケーションを含む) に対して、ドメイン ユーザー アカウントに基づいてチケットが付与されます。 これらのサービスを別のアカウントで実行すると、認証要求が失敗します。 この問題を回避するには、すべての HTTP アプリケーションが同じアカウントで実行されるように構成するか、またはアプリケーションごとにホスト ヘッダーを作成し、作成したホスト ヘッダーごとに個別の SPN を作成することを検討してください。 ホスト ヘッダーを構成する場合、 Reporting Services 構成にかかわらず DNS を変更する必要があります。

<computername><domainname> に指定した値により、レポート サーバーをホストするコンピューターの一意のネットワーク アドレス識別されます。 この価値は、ローカル ホスト名にすることも、完全修飾ドメイン名 (FQDN) にすることもできます。 ドメインが 1 つしかない場合、コマンド ラインから <domainname> を省略できます。 <domain-user-account> は、レポート サーバー サービスが実行され、SPN を登録する必要があるユーザー アカウントです。

ドメイン ユーザーとして実行されるレポート サーバー サービスの SPN を登録する

  1. Reporting Services をインストールし、レポート サーバー サービスをドメイン ユーザー アカウントとして実行するように構成します。 次の手順が完了しないと、ユーザーはレポート サーバーに接続できません。

  2. ドメイン管理者としてドメイン コントローラーにログインします。

  3. コマンド プロンプトを開きます。

  4. 次のコマンドをコピーし、プレースホルダーの値を実際のネットワークで有効な値で置き換えます。

    Setspn -s http/<computer-name>.<domain-name> <domain-user-account>
    

    例: Setspn -s http/MyReportServer.MyDomain.com MyDomainUser

  5. コマンドを実行します。

  6. RsReportServer.config ファイルを開き、<AuthenticationTypes> セクションを探します。

  7. このセクションの最初のエントリとして <RSWindowsNegotiate> を追加し、Kerberos を有効にします。