Power BI レポートを使用するために Kerberos を構成するConfigure Kerberos to use Power BI reports

分散環境用の Power BI レポートで使用されるデータ ソースに対して Kerberos 認証を使うようにレポート サーバーを構成する方法を説明します。Learn how to configure your report server for Kerberos authentication to data sources used within your Power BI reports for a distributed environment.

Power BI レポート サーバーには、Power BI レポートをホストする機能があります。Power BI Report Server includes the ability to host Power BI reports. レポート サーバーでは多くのデータ ソースがサポートされています。Many data sources are supported by your report server. この記事では SQL Server Analysis Services に特に注目しますが、同じ概念を SQL Server などの他のデータ ソースにも適用できます。While this article focuses specificly on SQL Server Analysis Services, you can use the concepts and apply that to other data sources such as SQL Server.

Power BI レポート サーバー、SQL Server、Analysis Services を 1 台のコンピューターにインストールでき、特に何も構成しなくてもすべて動作するはずです。You can install Power BI Report Server, SQL Server and Analysis Services on a single machine and everything should work without additional configuration. これは、テスト環境に最適です。This is great for a test environment. これらのサービスを異なるコンピューターにインストールした場合 (分散環境と呼ばれます)、エラーが発生する可能性があります。You may hit errors if you have these services installed on separate machines which is called a distributed environment. この環境では、Kerberos 認証を使う必要があります。In this environment, you are required to use Kerberos authentication. この環境を実装するために必要な構成があります。There is configuration required to implement this.

具体的には、制約付き委任を構成する必要があります。Specifically, you will need to configure constrained delegation. 環境に Kerberos が構成されていても、制約付き委任は構成されていない可能性があります。You may have Kerberos configured in your environment but it may not be configured for constrained delegation.

エラー実行レポートError running report

レポート サーバーが正しく構成されていない場合、次のエラーが表示されることがあります。If your report server is not configured properly, you may receive the following error.

Something went wrong.

We couldn’t run the report because we couldn’t connect to its data source. The report or data source might not be configured correctly. 

技術的な詳細には、次のメッセージが表示されます。Within Technical details, you will see the following message.

We couldn’t connect to the Analysis Services server. The server forcibly closed the connection. To connect as the user viewing the report, your organization must have configured Kerberos constrained delegation.

Kerberos の制約付き委任を構成するConfiguring Kerberos constrained delegation

Kerberos の制約付き委任が機能するために、構成する必要のある項目がいくつかあります。There are several items that need to be configured in order for Kerberos constrained delegation to work. これには、サービス アカウントでのサービス プリンシパル名 (SPN) と委任の設定が含まれます。This includes Service Principal Names (SPN) and delegation settings on service accounts.

注意

SPN および委任の設定を構成するには、ドメイン管理者である必要があります。In order to configure SPNs and delegation settings, you need to be a domain administrator.

次のものを構成または検証する必要があります。We will need to configure, or validate, the following.

  1. レポート サーバー構成内の認証の種類。Authentication type within Report Server config.
  2. レポート サーバー サービス アカウントの SPN。SPNs for the report server service account.
  3. Analysis Services サービスの SPN。SPNs for the Analysis Services service.
  4. Analysis Services コンピューター上の SQL Browser サービスの SPN。SPNs for the SQL Browser service on the Analysis Services machine. これは名前付きインスタンスの場合のみです。This is for named instances only.
  5. レポート サーバー サービス アカウントでの委任の設定。Delegation settings on the report server service account.

レポート サーバー構成内の認証の種類Authentication type within Report Server configuration

Kerberos の制約付き委任に対応するように、レポート サーバーの認証の種類を構成する必要があります。We need to configure the authentication type for the report server to allow for Kerberos constrained delegation. これは、rsreportserver.config ファイルで行います。This is done within the rsreportserver.config file. このファイルの既定の場所は C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer です。The default location for this file is C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

rsreportserver.config ファイルで、Authentication/AuthenticationTypes セクションを探します。Within the rsreportserver.config file, you will want to fine the Authentication/AuthenticationTypes section.

RSWindowsNegotiate が認証の種類の一覧の先頭にあることを確認します。We want to make sure that RSWindowsNegotiate is listed and the first in the list of authentication types. 次に表示例を示します。It should look similar to the following.

<AuthenticationTypes>
    <RSWindowsNegotiate/>
    <RSWindowsNTLM/>
</AuthenticationTypes>

構成ファイルを変更した場合、レポート サーバーをいったん停止して開始し直し、変更を有効にする必要があります。If you had to change the configuration file, you will want to stop and start the report server to make sure the changes take effect.

詳細については、「Configure Windows Authentication on the Report Server」(レポート サーバーで Windows 認証を構成する) をご覧ください。For more information, see Configure Windows Authentication on the Report Server.

レポート サーバー サービス アカウントの SPNSPNs for the report server service account

次に、レポート サーバーで有効な SPN を使用できることを確認する必要があります。Next, we need to make sure that the report server has valid SPNs available. これは、レポート サーバー用に構成されているサービス アカウントに基づきます。This is based on the service account that is configured for the report server.

仮想サービス アカウントまたはネットワーク サービスVirtual Service Account or Network Service

レポート サーバーが仮想サービス アカウントまたはネットワーク サービス アカウント用に構成されている場合は、何もする必要はありません。If your report server is configured for the Virtual Service Account or Network Service account, you should not have to do anything. これらは、コンピューター アカウントのコンテキスト内にあります。These are in the context of the machine account. コンピューター アカウントには、既定で HOST SPN があります。The machine account will have HOST SPNs by default. これらは HTTP サービスをカバーし、レポート サーバーによって使われます。These will cover the HTTP service and will be used by the report server.

コンピューター アカウントと異なる仮想サーバー名を使っている場合は、HOST エントリはユーザーをカバーせず、仮想サーバー ホスト名の SPN を手動で追加する必要があります。If you are using a virtual server name, one that is not same as the machine account, the HOST entries will not cover you and you will need to manually add the SPNs for the virtual server host name.

ドメイン ユーザー アカウントDomain user account

レポート サーバーがドメイン ユーザー アカウントを使うように構成されている場合は、そのアカウントで HTTP SPN を手動で作成する必要があります。If your report server is configured to use a domain user account, you will have to manually create HTTP SPNs on that account. これを行うには、Windows に付属する setspn ツールを使います。This can be done using the setspn tool that comes with Windows.

注意

SPN を作成するには、ドメイン管理者の権限が必要です。You will need domain admin rights in order to create the SPN.

SPN を 2 つ作成することをお勧めします。It is recommended to create two SPNs. 1 つには NetBIOS 名を使い、もう 1 つには完全修飾ドメイン名 (FQDN) を使います。One with the NetBIOS name and the other with the fully qualified domain name (FQDN). SPN の形式は次のとおりです。The SPN will be in the following format.

<Service>/<Host>:<port>

Power BI レポート サーバーは、HTTP のサービスを使います。Power BI Report Server will use a Service of HTTP. HTTP SPN の場合はポートを記述しません。For HTTP SPNs you will not list a port. ここで使うサービスは HTTP です。The service we are interested in here is HTTP. SPN のホストは、URL で使う名前になります。The host of the SPN will be the name you use in a URL. 通常、これはコンピューターの名前です。Typically, this is the machine name. ロード バランサーの背後にいる場合、これは仮想名でもかまいません。If you are behind a load balancer, this may be a virtual name.

注意

ブラウザーのアドレス バーに入力する内容を見て URL を確認できます。または、レポート サーバーの構成マネージャーの [Web ポータル URL] タブを見ることができます。You can verify the URL by either looking at what you enter into the address bar of the browser, or you can look in the Report Server Configuration Manager on the Web Portal URL tab.

コンピューター名が ContosoRS の場合、SPN は次のようになります。If your machine name is ContosoRS, your SPNs would be the following.

SPN の種類SPN Type SPNSPN
完全修飾ドメイン名 (FQDN)Fully Qualified Domain Name (FQDN) HTTP/ContosoRS.contoso.comHTTP/ContosoRS.contoso.com
NetBIOSNetBIOS HTTP/ContosoRSHTTP/ContosoRS

SPN の場所Location of SPN

それでは、SPN をどこに置きますか。So, where do you put the SPN? SPN は、サービス アカウントに使っているどのようなものにも配置されます。The SPN will be placed on whatever you are using for your service account. 仮想サービス アカウントまたはネットワーク サービスを使っている場合、これがコンピューター アカウントになります。If you are using Virtual Service Account or Network Service, this will be the machine account. ただし、前に仮想 URL に対してのみこれを行う必要があると説明しました。Although we mentioned before you should only need to do this for a virtual URL. レポート サーバー サービス アカウントにドメイン ユーザーを使っている場合は、そのドメイン ユーザー アカウントに SPN を配置します。If you are using a domain user for the report server service account, then you will place the SPN on that domain user account.

たとえば、ネットワーク サービス アカウントを使っていてコンピューター名が ContosoRS である場合、SPN を ContosoRS に置きます。For example, if we are using the Network Service account and our machine name is ContosoRS, we would place the SPN on ContosoRS.

RSService のドメイン ユーザー アカウントを使っている場合は、RSService に SPN を置きます。If we are using a domain user account of RSService, we would place the SPN on RSService.

SetSPN を使用して SPN を追加するUsing SetSPN to add the SPN

SetSPN ツールを使って SPN を追加できます。We can use the SetSPN tool to add the SPN. コンピューター アカウントとドメイン ユーザー アカウントでは前と同じ例に従います。We will follow the same example as above with the Machine account and the domain user account.

コンピューター アカウントへの SPN の配置は (FQDN SPN と NetBIOS SPN の両方)、contosoreports という仮想 URL を使う場合は次のようになります。Placing the SPN on a machine account, for both the FQDN and NetBIOS SPN, would look similar to the following if we were using a virtual URL of contosoreports.

  Setspn -a HTTP/contosoreports.contoso.com ContosoRS
  Setspn -a HTTP/contosoreports ContosoRS

ドメイン ユーザー アカウントへの SPN の配置は (FQDN SPN と NetBIOS SPN の両方)、SPN のホストに対するコンピューター名を使う場合は次のようになります。Placing the SPN on a domain user account, for both the FQDN and NetBIOS SPN, would look similar to the following if you were using the machine name for the host of the SPN.

  Setspn -a HTTP/ContosoRS.contoso.com RSService
  Setspn -a HTTP/ContosoRS RSService

Analysis Services サービスの SPNSPNs for the Analysis Services service

Analysis Services の SPN は、Power BI レポート サーバーと似ています。The SPNs for Analysis Services are similar to what we did with Power BI Report Server. 名前付きインスタンスがある場合は、SPN の形式が少し異なります。The format of the SPN is a little different if you have a named instance.

Analysis Services の場合は、MSOLAPSvc.3 のサービスを使います。For Analysis Services, we use a Service of MSOLAPSvc.3. SPN でポートの場所のインスタンス名を指定します。We will specify the instance name for the port location on the SPN. SPN のホスト部分は、コンピューター名またはクラスターの仮想名です。The host part of the SPN will either be the machine name, or the Cluster virtual name.

Analysis Services の SPN の例は次のようになります。An example of an Analysis Services SPN would look like the following.

タイプType 書式Format
既定のインスタンスDefault instance MSOLAPSvc.3/ContosoAS.contoso.comMSOLAPSvc.3/ContosoAS.contoso.com
MSOLAPSvc.3/ContosoASMSOLAPSvc.3/ContosoAS
名前付きインスタンスNamed instance MSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAMEMSOLAPSvc.3/ContosoAS.contoso.com:INSTANCENAME
MSOLAPSvc.3/ContosoAS:INSTANCENAMEMSOLAPSvc.3/ContosoAS:INSTANCENAME

SPN の配置も、Power BI レポート サーバーの場合と似ています。Placement of the SPN is also similar to what was mentioned with Power BI Report Server. サービス アカウントに基づきます。It is based on the service account. ローカル システムまたはネットワーク サービスを使っている場合は、コンピューター アカウントのコンテキストになります。If you are using Local System or Network Service, you will be in the context of the machine account. Analysis Services インスタンスのドメイン ユーザー アカウントを使っている場合は、ドメイン ユーザー アカウントに SPN を配置します。If you are using a domain user account for the Analysis Services instance, you will place the SPN on the domain user account.

SetSPN を使用して SPN を追加するUsing SetSPN to add the SPN

SetSPN ツールを使って SPN を追加できます。We can use the SetSPN tool to add the SPN. この例では、コンピューター名は ContosoAS になります。For this example, the machine name will be ContosoAS.

コンピューター アカウントへの SPN の配置は (FQDN SPN と NetBIOS SPN の両方)、次のようになります。Placing the SPN on a machine account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -a MSOLAPSvc.3/ContosoAS ContosoAS

ドメイン ユーザー アカウントへの SPN の配置は (FQDN SPN と NetBIOS SPN の両方)、次のようになります。Placing the SPN on a domain user account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -a MSOLAPSvc.3/ContosoAS OLAPService

SQL Browser サービスの SPNSPNs for the SQL Browser service

Analysis Services の名前付きインスタンスがある場合は、Browser サービスの SPN も必要です。If you have an Analysis Services named instance, you also need to make sure you have an SPN for the browser service. これは、Analysis Services に固有です。This is unique to Analysis Services.

SQL Browser の SPN は、Power BI レポート サーバーと似ています。The SPNs for SQL Browser are similar to what we did with Power BI Report Server.

SQL Browser の場合は、MSOLAPDisco.3 のサービスを使います。For SQL Browser, we use a Service of MSOLAPDisco.3. SPN でポートの場所のインスタンス名を指定します。We will specify the instance name for the port location on the SPN. SPN のホスト部分は、コンピューター名またはクラスターの仮想名です。The host part of the SPN will either be the machine name, or the Cluster virtual name. インスタンス名またはポートを指定する必要はありません。You do not have to specify anything for the instance name or port.

Analysis Services の SPN の例は次のようになります。An example of an Analysis Services SPN would look like the following.

MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS

SPN の配置も、Power BI レポート サーバーの場合と似ています。Placement of the SPN is also similar to what was mentioned with Power BI Report Server. ここでの違いは、SQL Browser は常にローカル システム アカウントで実行することです。The difference here is that SQL Browser always runs under the Local System account. これは、SPN は常にコンピューター アカウントになることを意味します。This means that the SPNs will always go on the machine account.

SetSPN を使用して SPN を追加するUsing SetSPN to add the SPN

SetSPN ツールを使って SPN を追加できます。We can use the SetSPN tool to add the SPN. この例では、コンピューター名は ContosoAS になります。For this example, the machine name will be ContosoAS.

コンピューター アカウントへの SPN の配置は (FQDN SPN と NetBIOS SPN の両方)、次のようになります。Placing the SPN on the machine account, for both the FQDN and NetBIOS SPN, would look similar to the following.

Setspn -a MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -a MSOLAPDisco.3/ContosoAS ContosoAS

詳細については、「An SPN for the SQL Server Browser service is required」(SQL Server Browser サービスの SPN が必要である) をご覧ください。For more information, see An SPN for the SQL Server Browser service is required.

レポート サーバー サービス アカウントでの委任の設定Delegation settings on the report server service account

構成する必要がある最後の部分は、レポート サーバー サービス アカウントでの委任の設定です。The last part that we have to configure are the delegation settings on the report server service account. この手順を実行するには別のツールを使います。There are different tools you can use to perform these steps. このドキュメントでは、Active Directory ユーザーとコンピューターを使います。For the purposes of this document, we will stick with Active Directory Users and Computers.

最初に、Active Directory ユーザーとコンピューターでレポート サーバー サービス アカウントのプロパティに移動する必要があります。You will need to start by going to the properties of the report server service account within Active Directory Users and Computers. これは、コンピューター アカウント (仮想サービス アカウントまたはネットワーク サービスを使った場合) またはドメイン ユーザー アカウントです。This will either be the machine account, if you used Virtual Service Account or Network Service, or it will be a domain user account.

プロトコル遷移のある制約付き委任を構成します。We will want to configure constrained delegation with protocol transiting. 制約付き委任では、委任先のサービスを明示的に指定する必要があります。With constrained delegation, you need to be explicit with which services we want to delegate to. Analysis Services サービス SPN と SQL Browser SPN の両方を、Power BI レポート サーバーが委任できるリストに追加します。We will go and add both the Analysis Services service SPN and the SQL Browser SPN to the list that Power BI Report Server can delegate to.

  1. レポート サーバー サービス アカウントを右クリックし、[プロパティ] を選択します。Right click on the report server service account and select Properties.
  2. [委任] タブを選びます。Select the Delegation tab.
  3. [指定されたサービスへの委任でのみこのコンピューターを信頼する] をオンにします。Select Trust this computer for delegation to specified services only.
  4. [任意の認証プロトコルを使う] をオンにします。Select Use any authentication protocol.
  5. [このアカウントが委任された資格情報を提示できるサービス][追加] を選択します。Under the Services to which this account can present delegated credentials: select Add.
  6. 新しいダイアログで、[ユーザーまたはコンピューター] を選択します。In the new dialog, select Users or Computers.
  7. Analysis Services サービスのサービス アカウントを入力し、[OK] を選択します。Enter the service account for the Analysis Services service and select Ok.
  8. 作成した SPN を選択します。Select the SPN that you created. MSOLAPSvc.3 で始まるものです。It will begin with MSOLAPSvc.3. FQDN と NetBIOS 両方の SPN を追加した場合は、両方とも選択します。If you added both the FQDN and the NetBIOS SPN, it will select both. 1 つだけしか表示されない場合があります。You may only see one.
  9. [OK]を選択します。Select OK. リストに SPN が表示されます。You should see the SPN in the list now.
  10. 必要に応じて、[展開済み] を選択してリストの FQDN SPN と NetBIOS SPN を両方表示できます。Optionally, you can select Expanded to show both the FQDN and NetBIOS SPN in the list.
  11. [追加] を再び選択します。Select Add again. 今度は SQL Browser の SPN を追加します。We will add the SQL Browser SPN now.
  12. 新しいダイアログで、[ユーザーまたはコンピューター] を選択します。In the new dialog, select Users or Computers.
  13. SQL Browser サービスが存在するコンピューターのコンピューター名を入力し、[OK] を選択します。Enter the Machine name for the machine the SQL Browser service is on and select Ok.
  14. 作成した SPN を選択します。Select the SPN that you created. MSOLAPDisco.3 で始まるものです。It will begin with MSOLAPDisco.3. FQDN と NetBIOS 両方の SPN を追加した場合は、両方とも選択します。If you added both the FQDN and the NetBIOS SPN, it will select both. 1 つだけしか表示されない場合があります。You may only see one.
  15. [OK] を選択します。Select Ok. [展開済み] をオンにした場合、ダイアログの表示は次のようになります。The dialog should look similar to the following if you checked Expanded.

  16. [OK] を選択します。Select Ok.
  17. Power BI レポート サーバーを再起動します。Reboot the Power BI Report Server.

Power BI レポートの実行Running a Power BI Report

以上の構成をすべて行うと、レポートが正しく表示されるはずです。After all of the above configuration is in place, your report should display properly.

この構成は Kerberos を使用するほとんどの場合に動作しますが、環境によっては構成が異なる場合があります。While this configuration should work in most cases, with Kerberos, there can be different configuration depending on your environment. レポートがまだ読み込まれない場合は、ドメイン管理者に連絡してさらに詳しく調査するか、サポートにお問い合わせください。If the report will still not load, you will want to reach out to your domain administrator to investigate further or contact support.

次の手順Next steps

管理者向けハンドブックAdministrator handbook
クイックスタート: Power BI レポート サーバーをインストールするQuickstart: Install Power BI Report Server

他にわからないことがある場合は、More questions? Power BI コミュニティで質問してみてくださいTry asking the Power BI Community