次の方法で共有


Power BI Mobile アプリケーションから Power BI Report Server および SSRS に接続する

この記事では、Power BI Report Server と SQL Server Reporting Services 2016 以降に接続する目的で、Power BI Mobile アプリで OAuth 認証をサポートするように環境を構成する方法について説明します。

要件

Web アプリケーション プロキシ (WAP) および Active Directory フェデレーション サービス (AD FS) サーバーには、Windows Server が必要です。 Windows の機能レベル ドメインは必要ありません。

ユーザーが Power BI モバイル アプリへのレポート サーバーの接続を追加できるようにするには、レポート サーバーのホーム フォルダーへのアクセス権を付与する必要があります。

注意

2025 年 3 月 1 日の時点で、Power BI Mobile アプリは、Windows Server 2016 で構成された AD FS 経由で OAuth プロトコルを使用してレポート サーバーに接続できなくなります。 Windows Server 2016 および Web アプリケーション プロキシ (WAP) で構成された AD FS で OAuth を使用しているお客様は、AD FS サーバーを Windows Server 2019 以降にアップグレードするか、Microsoft Entra アプリケーション プロキシを使用する必要があります。 Windows Server のアップグレード後、Power BI Mobile アプリのユーザーはレポート サーバーに再サインインする必要がある場合があります。

このアップグレードは、モバイル アプリで使用される認証ライブラリの変更によって必要になります。 この変更は、Windows Server 2016 での AD FS に対する Microsoft サポートに影響を与えるものではなく、Power BI Mobile アプリが AD FS に接続する機能にのみ影響します。

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

パブリック URL は、Power BI モバイル アプリの接続先となる URL です。 たとえば、次のようになります。

https://reports.contoso.com

reports の DNS レコードでは、Web アプリケーション プロキシ (WAP) サーバーのパブリック IP アドレスを指定します。 また、AD FS サーバーのパブリック DNS レコードを構成する必要もあります。 たとえば、次の URL で AD FS サーバーを構成したとします。

https://fs.contoso.com

fs の DNS レコードでは、Web アプリケーション プロキシ (WAP) サーバーのパブリック IP アドレスを指定します。この IP アドレスは、WAP アプリケーションの一部として発行されます。

証明書

WAP アプリケーションと AD FS サーバーの両方の証明書を構成する必要があります。 これらの証明書はどちらも、モバイル デバイスが認識する有効な証明機関に含まれる必要があります。

Reporting Services の構成

Reporting Services 側での構成はあまりありません。 必要なのは、以下を確認することだけです。

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

SPN は、Kerberos 認証を使うサービスの一意の識別子です。 レポート サーバーに対して適切な HTTP SPN があることを確認する必要があります。

レポート サーバーの適切なサービス プリンシパル名 (SPN) の構成方法については、「レポート サーバーのサービス プリンシパル名 (SPN) の登録」をご覧ください。

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

レポート サーバーが Kerberos 認証を使用できるようにするには、レポート サーバーの認証の種類を RSWindowsNegotiate として構成する必要があります。 これは、rsreportserver.config ファイルで行います。

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

詳しくは、「Modify a Reporting Services Configuration File」 (Reporting Services 構成ファイルを変更する) および「レポート サーバーで Windows 認証を構成する」をご覧ください。

Active Directory フェデレーション サービス (AD FS) 構成

環境内の Windows サーバーで AD FS を構成する必要があります。 構成を行うには、サーバー マネージャーで [管理]、[役割と機能の追加] の順に選択します。 詳しくは、「Active Directoryフェデレーション サービス」をご覧ください。

重要

2025 年 3 月 1 日の時点で、Power BI Mobile アプリは、Windows Server 2016 で構成された AD FS 経由でレポート サーバーに接続できなくなります。 この記事の冒頭にある注意を参照してください。

アプリケーション グループを作成する

AD FS 管理画面内で、Power BI Mobile アプリの情報を含む Reporting Services のアプリケーション グループを作成します。

次の手順でアプリケーション グループを作成できます。

  1. AD FS 管理アプリで、 [アプリケーション グループ] を右クリックし、 [アプリケーション グループの追加...] を選びます。

    AD FS アプリケーションの追加

  2. アプリケーション グループの追加ウィザードで、アプリケーション グループの名前を指定し、Web API にアクセスするネイティブ アプリケーションを選びます。

    AD FS アプリケーション グループ ウィザード 01

  3. [次へ] を選択します。

  4. 追加するアプリケーションの名前を指定します。

  5. クライアント ID が自動生成されるときに、iOS と Android の両方について「484d54fc-b481-4eee-9505-0258a1913020」と入力します。

  6. 次のリダイレクト URL を追加します。

    Power BI モバイルのエントリ – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilems

    Android アプリに必要なのは次の手順だけです。
    urn:ietf:wg:oauth:2.0:oob

    AD FS アプリケーション グループ ウィザード 02

  7. [次へ] を選択します。

  8. レポート サーバーの URL を指定します。 これは、Web アプリケーション プロキシにアクセスする外部 URL です。 次の形式でなければなりません。

    注意

    この URL は、大文字と小文字が区別されます。

    https://<report server url>/reports

    AD FS アプリケーション グループ ウィザード 03

  9. [次へ] を選択します。

  10. 組織のニーズに合った [アクセス制御ポリシー] を選びます。

    AD FS アプリケーション グループ ウィザード 04

  11. [次へ] を選択します。

  12. [次へ] を選択します。

  13. [次へ] を選択します。

  14. [閉じる] を選びます。

完了すると、次のようなアプリケーション グループのプロパティが表示されます。

AD FS アプリケーション グループ ウィザード

ここで、AD FS サーバーで次の PowerShell コマンドを実行して、トークンの更新がサポートされていることを確認します。

Set-AdfsApplicationPermission -TargetClientRoleIdentifier '484d54fc-b481-4eee-9505-0258a1913020' -AddScope 'openid'

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

環境内のサーバーで、Web アプリケーション プロキシ (役割) の Windows の役割を有効にします。 これは、Windows サーバー上になければなりません。 詳しくは、「Windows Server でのWeb アプリケーション プロキシ」および「AD FS の事前認証を使用したアプリケーションの公開」をご覧ください。

制約付き委任の構成

OAuth 認証から Windows 認証に切り替えるには、プロトコルの切り替えで制約付き委任を使う必要があります。 これは、Kerberos の構成の一部です。 Reporting Services の SPN は、Reporting Services の構成で既に定義してあります。

Active Directory 内の WAP サーバー コンピューター アカウントで制約付き委任を構成する必要があります。 Active Directory に対する権限を持っていない場合は、ドメイン管理者に問い合わせる必要があります。

制約付き委任を構成するには次のようにします。

  1. Active Directory ツールがインストールされているコンピューターで、Active Directory ユーザーとコンピューターを起動します。

  2. WAP サーバーのコンピューター アカウントを検索します。 既定では、コンピューター コンテナー内にあります。

  3. WAP サーバーを右クリックし、 [プロパティ] に移動します。

  4. [委任] タブを選びます。

  5. [指定されたサービスへの委任でのみこのコンピューターを信頼する][任意の認証プロトコルを使う] をオンにします。

    制約付きの WAP

    これにより、この WAP サーバー コンピューター アカウントに制約付き委任が設定されます。 次に、このコンピューターが委任を許可されるサービスを指定する必要があります。

  6. サービス ボックスの下の [追加…] を選択します。

    制約付きの WAP 02

  7. [ユーザーまたはコンピューター] を選びます。

  8. Reporting Services に使用しているサービス アカウントを入力します。 このアカウントは、Reporting Services の構成で SPN を追加したアカウントです。

  9. Reporting Services の SPN を選び、 [OK] を選びます。

    注意

    NetBIOS の SPN だけが表示される場合があります。 NetBIOS と FQDN の両方の SPN が存在する場合は、実際に両方が選択されます。

    制約付きの WAP 03

  10. [展開済み] チェック ボックスがオンになっていると、結果は次のようになります。

    制約付きの WAP 04

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

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

レポート アクセス管理コンソール内でアプリケーションを発行できますが、ここでは PowerShell でアプリケーションを作成します。 アプリケーションを追加するコマンドは次のとおりです。

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
パラメーター コメント
ADFSRelyingPartyName AD FS 内のアプリケーション グループの一部として作成した Web API の名前です。
ExternalCertificateThumbprint 外部ユーザーに使う証明書です。 この証明書がモバイル デバイスで有効であり、信頼された証明機関から発行されていることが重要です。
BackendServerUrl WAP サーバーからレポート サーバーへの URL です。 WAP サーバーが DMZ 内にある場合は、完全修飾ドメイン名を使うことが必要な場合があります。 WAP サーバー上の Web ブラウザーからこの URL にアクセスできることを確認します。
BackendServerAuthenticationSPN Reporting Services の構成の一部として作成した SPN です。

WAP アプリケーションの統合認証の設定

WAP アプリケーションを追加した後は、IntegratedWindowsAuthentication を使うように BackendServerAuthenticationMode を設定する必要があります。 それを設定するには、WAP アプリケーションからの ID が必要です。

Get-WebApplicationProxyApplication "Contoso Reports" | fl

アプリケーション グループの追加

次のコマンドを実行し、WAP アプリケーションの ID を使って BackendServerAuthenticationMode を設定します。

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

アプリケーション グループの追加ウィザード

Power BI モバイル アプリとの接続

Power BI モバイル アプリ内で、Reporting Services インスタンスに接続します。 そのためには、WAP アプリケーションの外部 URL を指定します。

サーバー アドレスの入力

[接続] を選ぶと、AD FS サインイン ページに移動します。 ドメインの有効な資格情報を入力します。

AD FS にサインインする

[サインイン] を選択すると、Reporting Services サーバーからの要素が表示されます。

多要素認証

多要素認証を有効にして、環境のセキュリティを強化できます。 詳細については、「AD FS を使用して Microsoft Entra 多要素認証を認証プロバイダーとして構成する」を参照してください。

トラブルシューティング

"SSRS サーバーにサインインできませんでした" というエラーが表示される

「SSRS サーバーにログインできませんでした」エラー

モバイル デバイスのプロキシとして動作するように Fiddler を設定し、要求がどこまで行われているかを確認できます。 電話デバイスの Fiddler プロキシを有効にするには、Fiddler を実行しているコンピューターで iOS および Android 用の CertMaker をセットアップする必要があります。 Telerik for Fiddler からのアドインです。

Fiddler を使うとサインインが正常に行われる場合は、WAP アプリケーションまたは AD FS サーバーでの証明書の問題である可能性があります。