OAuth を使って Reporting Services に接続するUsing OAuth to connect to Reporting Services

Reporting Services 2016 以降に接続するため、Power BI モバイル アプリで OAuth 認証をサポートするように環境を構成する方法について説明します。Learn how to configure your environment to support OAuth authentication with the Power BI mobile app in order to connect to Reporting Services 2016 or later.

これまで Power BI モバイル アプリは、モバイル レポートまたは KPI を表示するために、Reporting Services に対する HTTPS 経由での基本認証のみをサポートしていました。In the past, the Power BI mobile app only supported basic authentication, over HTTPS, to Reporting Services in order to display Mobile Reports or KPIs. 多くの組織では、セキュリティ上の理由からこの種の構成は許可されません。Many organizations do not allow this type of configuration due to security concerns. Power BI モバイル アプリが更新されて、Reporting Services への接続に OAuth を使うことができるようになりました。With an update to the Power BI mobile app, you can now use OAuth to connect to Reporting Services. Windows Server 2016 では、この種の認証を許可するように、Web アプリケーション プロキシの役割が機能強化されています。Windows Server 2016 provides some improvements to the Web Application Proxy role to allow this type of authentication.

要件Requirements

Web アプリケーション プロキシ (WAP) および Active Directory フェデレーション サービス (ADFS) サーバーには、Windows Server 2016 が必要です。Windows Server 2016 is required for the Web Application Proxy (WAP) and Active Directory Federation Services (ADFS) servers. Windows 2016 の機能レベル ドメインは必要ありません。You do not need to have a Windows 2016 functional level domain.

ドメイン ネーム サービス (DNS) の構成Domain Name Services (DNS) configuration

Power BI モバイル アプリが接続するパブリック URL を決定する必要があります。You will need to determine what the public URL will be that the Power BI mobile app will connect to. 次に例を示します。For example, it may look similar to the following.

https://reports.contoso.com

reports の DNS レコードでは、Web アプリケーション プロキシ (WAP) サーバーのパブリック IP アドレスを指し示す必要があります。You will need to point your DNS record for reports to the public IP address of the Web Application Proxy (WAP) server. また、ADFS サーバーのパブリック DNS レコードを構成する必要もあります。You will also need to configure a public DNS record for your ADFS server. たとえば、次の URL で ADFS サーバーを構成してあるものとします。For example, you may have configured the ADFS server with the following URL.

https://fs.contoso.com

fs の DNS レコードでは、Web アプリケーション プロキシ (WAP) サーバーのパブリック IP アドレスを指し示す必要があります。この IP アドレスは、WAP アプリケーションの一部として発行されます。You will need to point your DNS record for fs to the public IP address of the Web Application Proxy (WAP) server as it will be published as part of the WAP application.

証明書Certificates

WAP アプリケーションと ADFS サーバー両方の証明書を構成する必要があります。You will need to configure certificates for both the WAP application and the ADFS server. これらの証明書はどちらも、モバイル デバイスが認識する有効な証明機関に含まれる必要があります。Both of these certificates must be part of a valid certificate authority that your mobile devices recognize.

Reporting Services の構成Reporting Services configuration

Reporting Services についての構成はあまりありません。There isn’t much to configure on the Reporting Services side. 適切な Kerberos 認証を実行できる有効なサービス プリンシパル名 (SPN) があること、および Reporting Services サーバーがネゴシエート認証に対して有効であることだけを、確認する必要があります。We just need to make sure that we have a valid Service Principal Name (SPN) to enable the proper Kerberos authentication to occur and that the Reporting Services server is enabled for negotiate authentication.

サービス プリンシパル名 (SPN)Service Principal Name (SPN)

SPN は、Kerberos 認証を使うサービスの一意の識別子です。The SPN is a unique identifier for a service that uses Kerberos authentication. レポート サーバーに対して適切な HTTP SPN があることを確認する必要があります。You will need to make sure you have a proper HTTP SPN present for your report server.

レポート サーバーの適切なサービス プリンシパル名 (SPN) の構成方法については、「レポート サーバーのサービス プリンシパル名 (SPN) の登録」をご覧ください。For information on how to configure the proper Service Principal Name (SPN) for your report server, see Register a Service Principal Name (SPN) for a Report Server.

ネゴシエート認証を有効にするEnabling negotiate authentication

レポート サーバーが Kerberos 認証を使用できるようにするには、レポート サーバーの認証の種類を RSWindowsNegotiate として構成する必要があります。To enable a report server to use Kerberos authentication, you will need to configure the Authentication Type of the report server to be RSWindowsNegotiate. これは、rsreportserver.config ファイルで行います。This is done within the rsreportserver.config file.

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

詳しくは、「Modify a Reporting Services Configuration File」 (Reporting Services 構成ファイルを変更する) および「レポート サーバーで Windows 認証を構成する」をご覧ください。For more information, see Modify a Reporting Services Configuration File and Configure Windows Authentication on a Report Server.

Active Directory フェデレーション サービス (ADFS) の構成Active Directory Federation Services (ADFS) Configuration

環境内の Windows 2016 サーバーで ADFS を構成する必要があります。You will need to configure ADFS on a Windows 2016 server within your environment. これを構成するには、サーバー マネージャーで [管理]、[役割と機能の追加] の順に選択します。This can be done through the Server Manager and selecting Add Roles and Features under Manage. 詳しくは、「Active Directoryフェデレーション サービス」をご覧ください。For more information, see Active Directory Federation Services.

アプリケーション グループを作成するCreate an application group

AD FS 管理画面内で、Power BI モバイル アプリの情報を含む Reporting Services のアプリケーション グループを作成します。Within the AD FS Management screen, you will want to create an application group for Reporting Services which will include information for the Power BI Mobile apps.

次の手順でアプリケーション グループを作成できます。You can create the application group with the following steps.

  1. AD FS 管理アプリで、[アプリケーション グループ] を右クリックし、[アプリケーション グループの追加...] を選びます。Within the AD FS Management app, right click Application Groups and select Add Application Group…

  2. アプリケーション グループの追加ウィザードで、アプリケーション グループの名前を指定し、Web API にアクセスするネイティブ アプリケーションを選びます。Within the Add Application Group Wizard, provide a name for the application group and select Native application accessing a web API.

  3. [次へ] を選びます。Select Next.
  4. 追加するアプリケーションの名前を指定します。Provide a name for the application you are adding.
  5. クライアント ID が自動生成されるときに、iOS と Android の両方について「484d54fc-b481-4eee-9505-0258a1913020」と入力します。While the Client ID will be auto generated for your, enter in 484d54fc-b481-4eee-9505-0258a1913020 for both iOS and Android.
  6. 次のリダイレクト URL を追加します。You will want to add the following Redirect URLs:

    Power BI モバイルのエントリ – iOS:Entries for Power BI Mobile – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobilemsauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilemsmsauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobilemspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilemsmspbi-adalms://com.microsoft.powerbimobilems

    Android アプリに必要なのは次のものだけです。Android Apps only need the following:
    urn:ietf:wg:oauth:2.0:ooburn:ietf:wg:oauth:2.0:oob

  7. [次へ] を選びます。Select Next.
  8. レポート サーバーの URL を指定します。Supply the URL for your Report Server. これは、Web アプリケーション プロキシにアクセスする外部 URL です。This is the external URL that will hit your Web Application Proxy. 次の形式でなければなりません。It should be in the following format.

    注意

    この URL は、大文字と小文字が区別されます。This URL is case sensitive!

    https:///reportshttps:///reports

  9. [次へ] を選びます。Select Next.
  10. 組織のニーズに合った [アクセス制御ポリシー] を選びます。Choose the Access Control Policy that fits your organization’s needs.

  11. [次へ] を選びます。Select Next.
  12. [次へ] を選びます。Select Next.
  13. [次へ] を選びます。Select Next.
  14. [閉じる] を選びます。Select Close.

完了すると、次のようなアプリケーション グループのプロパティが表示されます。When completed, you should see the properties of your application group look similar to the following.

Web アプリケーション プロキシ (WAP) の構成Web Application Proxy (WAP) Configuration

環境内のサーバーで、Web アプリケーション プロキシ (役割) の Windows の役割を有効にします。You will want to enable the Web Application Proxy (Role) Windows role on a server in your environment. Windows 2016 サーバー上でなければなりません。This must be on a Windows 2016 server. 詳しくは、「Web Application Proxy in Windows Server 2016」 (Windows Server 2016 での Web アプリケーション プロキシ) および「Publishing Applications using AD FS Preauthentication」 (AD FS の事前認証を使用したアプリケーションの公開) をご覧ください。For more information, see Web Application Proxy in Windows Server 2016 and Publishing Applications using AD FS Preauthentication.

制約付き委任の構成Constrained delegation configuration

OAuth 認証から Windows 認証に切り替えるには、プロトコルの切り替えで制約付き委任を使う必要があります。In order to transition from OAuth authentication to Windows authentication, we need to use constrained delegation with protocol transitioning. これは、Kerberos の構成の一部です。This is part of the Kerberos configuration. Reporting Services の SPN は、Reporting Services の構成で既に定義してあります。We already defined the Reporting Services SPN within the Reporting Services configuration.

Active Directory 内の WAP サーバー コンピューター アカウントで制約付き委任を構成する必要があります。We need to configure constrained delegation on the WAP Server machine account within Active Directory. Active Directory に対する権限を持っていない場合は、ドメイン管理者に頼む必要があります。You may need to work with a domain administrator if you don’t have rights to Active Directory.

制約付き委任を構成するには次のようにします。To configure constrained delegation, you will want to do the following.

  1. Active Directory ツールがインストールされているコンピューターで、Active Directory ユーザーとコンピューターを起動します。On a machine that has the Active Directory tools installed, launch Active Directory Users and Computers.
  2. WAP サーバーのコンピューター アカウントを検索します。Find the machine account for your WAP server. 既定では、コンピューター コンテナー内にあります。By default, this will be in the computers container.
  3. WAP サーバーを右クリックし、[プロパティ] に移動します。Right click the WAP server and go to Properties.
  4. [委任] タブを選びます。Select the Delegation tab.
  5. [指定されたサービスへの委任でのみこのコンピューターを信頼する][任意の認証プロトコルを使う] をオンにします。Select Trust this computer for delegation to specified services only and then Use any authentication protocol.

    これにより、この WAP サーバー コンピューター アカウントに制約付き委任が設定されます。This sets up constrained delegation for this WAP Server machine account. 次に、このコンピューターが委任を許可されるサービスを指定する必要があります。We then need to specify the services that this machine is allowed to delegate to.

  6. サービス ボックスで、[追加...]Select Add… 選びます。under the services box.

  7. [ユーザーまたはコンピューター] を選びます。Select Users or Computers…
  8. Reporting Services に使っているサービス アカウントを入力します。Enter the service account that you are using for Reporting Services. これは、Reporting Services の構成で SPN を追加したアカウントです。This is the account you added the SPN to within the Reporting Services configuration.
  9. Reporting Services の SPN を選び、[OK] を選びます。Select the SPN for Reporting Services and then select OK.

    注意

    NetBIOS の SPN だけが表示される場合があります。You may only see the NetBIOS SPN. NetBIOS と FQDN の両方の SPN が存在する場合は、実際に両方が選択されます。It will actually select both the NetBIOS and FQDN SPNs if they both exist.

  10. [展開済み] チェック ボックスがオンになっていると、結果は次のようになります。The result should look similar to the following when the Expanded checkbox is checked.

  11. [OK] を選択します。Select OK.

WAP アプリケーションを追加するAdd WAP Application

レポート アクセス管理コンソールでアプリケーションを発行できますが、ここでは PowerShell でアプリケーションを作成します。While you can publish applications within the Report Access Management Console, we will want to create the application via PowerShell. アプリケーションを追加するコマンドは次のとおりです。Here is the command to add the application.

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/reports/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl http://ContosoSSRS/reports/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
パラメーターParameter コメントComments
ADFSRelyingPartyNameADFSRelyingPartyName これは、ADFS 内のアプリケーション グループの一部として作成した Web API の名前です。This is the Web API name that you created as part of the Application Group within ADFS.
ExternalCertificateThumbprintExternalCertificateThumbprint これは、外部ユーザーに使う証明書です。This is the certificate to use for the external users. この証明書がモバイル デバイスで有効であり、信頼された証明機関から発行されていることが重要です。It is important that this certificate be valid on mobile devices and come from a trusted certificate authority.
BackendServerUrlBackendServerUrl これは、WAP サーバーからレポート サーバーへの URL です。This is the URL to the Report Server from the WAP server. WAP サーバーが DMZ 内にある場合は、完全修飾ドメイン名を使うことが必要な場合があります。If the WAP server is in a DMZ, you may need to use a fully qualified domain name. WAP サーバー上の Web ブラウザーからこの URL にアクセスできることを確認します。Make sure you can hit this URL from the web browser on the WAP server.
BackendServerAuthenticationSPNBackendServerAuthenticationSPN これは、Reporting Services の構成の一部として作成した SPN です。This is the SPN you created as part of the Reporting Services configuration.

WAP アプリケーションの統合認証の設定Setting Integrated Authentication for the WAP Application

WAP アプリケーションを追加した後は、IntegratedWindowsAuthentication を使うように BackendServerAuthenticationMode を設定する必要があります。After you add the WAP Application, you will need to set the BackendServerAuthenticationMode to use IntegratedWindowsAuthentication. これを設定するには、WAP アプリケーションからの ID が必要です。In order to set this, you need the ID from the WAP Application.

Get-WebApplicationProxyApplication “Contoso Reports” | fl

次のコマンドを実行し、WAP アプリケーションの ID を使って BackendServerAuthenticationMode を設定します。Run the following command to set the BackendServerAuthenticationMode using the ID of the WAP Application.

Set-WebApplicationProxyApplication -id 30198C7F-DDE4-0D82-E654-D369A47B1EE5 -BackendServerAuthenticationMode IntegratedWindowsAuthentication

Power BI モバイル アプリとの接続Connecting with the Power BI Mobile App

Power BI モバイル アプリ内で、Reporting Services インスタンスに接続します。Within the Power BI mobile app, you will want to connect to your Reporting Services instance. そのためには、WAP アプリケーションの外部 URL を指定します。To do that, supply the External URL for your WAP Application.

[接続] を選ぶと、ADFS ログイン ページに移動します。When you select Connect, you will be directed to your ADFS login page. ドメインの有効な資格情報を入力します。Enter valid credentials for your domain.

[サインイン] を選ぶと、Reporting Services サーバーからの要素が表示されます。After you select Sign in, you will see the elements from your Reporting Services server.

多要素認証Multi-factor authentication

多要素認証を有効にして、環境のセキュリティを強化できます。You can enable multi-factor authentication to enable additional security for your environment. 詳しくは、「Configure AD FS 2016 and Azure MFA」 (AD FS 2016 と Azure MFA を構成する) をご覧ください。To learn more, see Configure AD FS 2016 and Azure MFA.

トラブルシューティングTroubleshooting

[SSRS サーバーにログインできませんでした。サーバー構成を確認してください。] というエラーが表示される場合。You receive the error Failed to login to SSRS server. Please verify server configuration.

モバイル デバイスのプロキシとして動作するように Fiddler を設定し、要求がどこまで行われているかを確認できます。You can set up Fiddler to act as a proxy for your mobile devices to see how far the request made it. デバイスの Fiddler プロキシを有効にするには、Fiddler を実行しているコンピューターで iOS および Android 用の CertMaker をセットアップする必要があります。To enable a Fiddler proxy for your phone device, you will need to setup the CertMaker for iOS and Android on the machine running Fiddler. これは、Telerik for Fiddler からのアドインです。This is an add-on from Telerik for Fiddler.

Fiddler を使うとサインインが正常に行われる場合は、WAP アプリケーションまたは ADFS サーバーでの証明書の問題である可能性があります。If the sign in works successfully when using Fiddler, you may have a certificate issue with either the WAP application or the ADFS server. Microsoft メッセージ アナライザーなどのツールを使って、証明書が有効かどうかを確認できます。You can use a tool such as Microsoft Message Analyzer to verify if the certificates are valid.

次の手順Next steps

レポート サーバーのサービス プリンシパル名 (SPN) の登録Register a Service Principal Name (SPN) for a Report Server
Reporting Services 構成ファイルを変更するModify a Reporting Services Configuration File
レポート サーバーで Windows 認証を構成するConfigure Windows Authentication on a Report Server
Active Directoryフェデレーション サービスActive Directory Federation Services
Windows Server 2016 での Web アプリケーション プロキシWeb Application Proxy in Windows Server 2016
AD FS の事前認証を使用したアプリケーションの公開Publishing Applications using AD FS Preauthentication
AD FS 2016 と Azure MFA を構成するConfigure AD FS 2016 and Azure MFA
他にわからないことがある場合は、More questions? Power BI コミュニティを利用してくださいTry the Power BI Community