この記事では、Microsoft Entra アプリケーション プロキシを使用して、Power BI モバイル アプリが Power BI Report Server (PBIRS) および SQL Server Reporting Services (SSRS) 2016 以降に接続できるようにする方法について説明します。 この統合により、企業ネットワークから離れているユーザーは、Power BI モバイル アプリから Power BI レポートにアクセスし、Microsoft Entra 認証によって保護できます。 この保護には、条件付きアクセスや多要素認証などの セキュリティ上の利点 が含まれます。
[前提条件]
- 環境内に Reporting Services をデプロイします。
- Microsoft Entra アプリケーション プロキシを有効にします。
- 可能な場合は、Power BI に同じ内部ドメインと外部ドメインを使用します。 カスタム ドメインの詳細については、「 アプリケーション プロキシでのカスタム ドメインの操作」を参照してください。
手順 1: Kerberos の制約付き委任 (KCD) を構成する
Windows 認証を使用するオンプレミス アプリケーションでは、Kerberos 認証プロトコルと Kerberos 制約付き委任 (KCD) と呼ばれる機能を使用してシングル サインオン (SSO) を実現できます。 プライベート ネットワーク コネクタは、ユーザーが Windows に直接サインインしていない場合でも、KCD を使用してユーザーの Windows トークンを取得します。 KCD の詳細については、「 Kerberos の制約付き委任の概要 」と「 Kerberos の制約付き委任」を参照して、アプリケーション プロキシを使用してアプリにシングル サインオンします。
Reporting Services 側で構成する必要はあまりありません。 適切な Kerberos 認証を実行するには、有効なサービス プリンシパル名 (SPN) が必要です。 Negotiate
認証のために Reporting Services サーバーを有効にします。
サービス プリンシパル名 (SPN) を構成する
SPN は、Kerberos 認証を使用するサービスの一意の識別子です。 レポート サーバーには適切な HTTP SPN が必要です。 レポート サーバーに適切なサービス プリンシパル名 (SPN) を構成する方法については、「レポート サーバーの サービス プリンシパル名 (SPN) を登録する」を参照してください。
Setspn
オプションを指定して -L
コマンドを実行して、SPN が追加されたことを確認します。 コマンドの詳細については、「 Setspn」を参照してください。
ネゴシエート認証を有効にする
レポート サーバーで Kerberos 認証を使用できるようにするには、レポート サーバーの認証の種類を RSWindowsNegotiate に構成します。 rsreportserver.config ファイルを使用して、この設定を構成します。
<AuthenticationTypes>
<RSWindowsNegotiate />
<RSWindowsKerberos />
<RSWindowsNTLM />
</AuthenticationTypes>
詳細については、「 Reporting Services 構成ファイルの変更 」および「 レポート サーバーでの Windows 認証の構成」を参照してください。
Reporting Services アプリケーション プール アカウントに追加された SPN への委任に対してコネクタが信頼されていることを確認する
Microsoft Entra アプリケーション プロキシ サービスが Reporting Services アプリケーション プール アカウントにユーザー ID を委任できるように KCD を構成します。 Microsoft Entra ID 認証ユーザーの Kerberos チケットを取得するようにプライベート ネットワーク コネクタを構成します。 サーバーは、Reporting Services アプリケーションにコンテキストを渡します。
KCD を構成するには、コネクタ マシンごとに次の手順を繰り返します。
- ドメイン管理者としてドメイン コントローラーにサインインし、 Active Directory ユーザーとコンピューターを開きます。
- コネクタが実行されているコンピューターを見つけます。
- ダブルクリックしてコンピューターを選択し、[ 委任 ] タブを選択します。
- 委任設定を [ 指定されたサービスへの委任に対してのみこのコンピューターを信頼する] に設定します。 次に、[ 任意の認証プロトコルを使用する] を選択します。
- [ 追加] を選択し、[ ユーザーまたはコンピューター] を選択します。
- Reporting Services 用に設定したサービス アカウントを入力します。
- [ OK] を選択します。 変更を保存するには、もう一度 [OK] を選択します 。
詳細については、「 アプリケーション プロキシを使用してアプリにシングル サインオンするための Kerberos の制約付き委任」を参照してください。
手順 2: Microsoft Entra アプリケーション プロキシを使用して Reporting Services を発行する
これで、Microsoft Entra アプリケーション プロキシを構成する準備ができました。
次の設定を使用して、アプリケーション プロキシを使用して Reporting Services を発行します。 アプリケーション プロキシを使用してアプリケーションを発行する方法の詳細な手順については、「 Microsoft Entra アプリケーション プロキシを使用したアプリケーションの発行」を参照してください。
内部 URL: 企業ネットワークでコネクタがアクセスできるレポート サーバーの URL を入力します。 コネクタがインストールされているサーバーからこの URL に到達できることを確認します。 ベスト プラクティスは、アプリケーション プロキシを介して発行されたサブパスの問題を回避するために、
https://servername/
などの最上位ドメインを使用することです。 たとえば、https://servername/
やhttps://servername/reports/
ではなく、https://servername/reportserver/
を使用します。注
レポート サーバーへのセキュリティで保護された HTTPS 接続を使用します。 セキュリティで保護された接続の構成の詳細については、「 ネイティブ モードのレポート サーバーでセキュリティで保護された接続を構成する」を参照してください。
外部 URL: Power BI モバイル アプリが接続するパブリック URL を入力します。 たとえば、カスタム ドメインが使用されている場合は
https://reports.contoso.com
のようになります。 カスタム ドメインを使用するには、ドメインの証明書をアップロードし、ドメイン ネーム システム (DNS) レコードをアプリケーションの既定のmsappproxy.net
ドメインにポイントします。 詳細な手順については、「 Microsoft Entra アプリケーション プロキシでのカスタム ドメインの操作」を参照してください。事前認証方法: Microsoft Entra ID。
アプリが発行されたら、次の手順でシングル サインオン設定を構成します。
a. ポータルのアプリケーション ページで、[ シングル サインオン] を選択します。
b。 シングル サインオン モードの場合は、[統合 Windows 認証] を選択します。
c. 内部アプリケーション SPN を、前に設定した値に設定します。
d. ユーザーの代わりに使用するコネクタの 委任されたログイン ID を 選択します。 詳細については、「 さまざまなオンプレミス ID とクラウド ID の操作」を参照してください。
e. [ 保存] を 選択して変更を保存します。
アプリケーションの設定を完了するには、[ ユーザーとグループ] セクションに移動し、このアプリケーションにアクセスするユーザーを割り当てます。
手順 3: アプリケーションの応答 Uniform Resource Identifier (URI) を変更する
手順 2 で自動的に作成されたアプリケーション登録を構成します。
Microsoft Entra ID の [概要 ] ページで、[ アプリの登録] を選択します。
[ すべてのアプリケーション ] タブで、手順 2 で作成したアプリケーションを検索します。
アプリケーションを選択し、[ 認証] を選択します。
プラットフォームのリダイレクト URI を追加します。
iOS で Power BI Mobile 用にアプリを構成する場合は、
Public Client (Mobile & Desktop)
の種類のリダイレクト Uniform Resource Identifier (URI) を追加します。msauth://code/mspbi-adal%3a%2f%2fcom.microsoft.powerbimobile
msauth://code/mspbi-adalms%3a%2f%2fcom.microsoft.powerbimobilems
mspbi-adal://com.microsoft.powerbimobile
mspbi-adalms://com.microsoft.powerbimobilems
Android で Power BI Mobile 用にアプリを構成する場合は、
Public Client (Mobile & Desktop)
の種類のリダイレクト Uniform Resource Identifier (URI) を追加します。urn:ietf:wg:oauth:2.0:oob
mspbi-adal://com.microsoft.powerbimobile
msauth://com.microsoft.powerbim/g79ekQEgXBL5foHfTlO2TPawrbI%3D
msauth://com.microsoft.powerbim/izba1HXNWrSmQ7ZvMXgqeZPtNEU%3D
重要
アプリケーションが正常に動作するためには、リダイレクト URI を追加する必要があります。 Power BI Mobile iOS と Android の両方用にアプリを構成する場合は、iOS 用に構成されたリダイレクト URI の一覧にパブリック クライアント (モバイルとデスクトップ) の種類のリダイレクト URI を追加します:
urn:ietf:wg:oauth:2.0:oob
。
手順 4: Power BI モバイル アプリから接続する
Power BI モバイル アプリで、Reporting Services インスタンスに接続します。 アプリケーション プロキシを使用して発行したアプリケーションの 外部 URL を 入力します。
[ 接続] を選択します。 Microsoft Entra サインイン ページが読み込まれます。
ユーザーの有効な資格情報を入力し、[ サインイン] を選択します。 Reporting Services サーバーの要素が表示されます。
手順 5: マネージド デバイスの Intune ポリシーを構成する (省略可能)
Microsoft Intune を使用して、会社の従業員が使用するクライアント アプリを管理できます。 Intune には、データ暗号化やアクセス要件などの機能が用意されています。 Intune ポリシーを使用して Power BI モバイル アプリケーションを有効にします。
- [Entra ID]>[アプリの登録] に移動します。
- ネイティブ クライアント アプリケーションを登録するときに、手順 3 で構成したアプリケーションを選択します。
- アプリケーションのページで、[ API のアクセス許可] を選択します。
- [ アクセス許可の追加] を選択します。
- 組織が使用する API で、Microsoft Mobile Application Management を検索して選択します。
- DeviceManagementManagedApps.ReadWrite アクセス許可をアプリケーションに追加します。
- [ 管理者の同意を付与 する] を選択して、アプリケーションへのアクセス許可を付与します。
- 「アプリ保護ポリシーを作成して割り当てる方法」を参照して、必要な Intune ポリシーを構成します。
トラブルシューティング
数分以上レポートを読み込もうとした後にアプリケーションからエラー ページが返された場合は、タイムアウト設定の変更が必要になることがあります。 既定では、アプリケーション プロキシは、要求に応答するのに最大 85 秒かかるアプリケーションをサポートします。 この設定を 180 秒に長くするには、アプリケーションのアプリケーション プロキシ設定ページで、バックエンドのタイムアウトを [長い ] に選択します。 高速で信頼性の高いレポートを作成する方法に関するヒントについては、「 Power BI レポートのベスト プラクティス」を参照してください。
Microsoft Entra アプリケーション プロキシを使用して、Power BI モバイル アプリがオンプレミスの Power BI Report Server に接続できるようにすることは、承認されたクライアント アプリとして Microsoft Power BI アプリを必要とする条件付きアクセス ポリシーではサポートされていません。