Microsoft Entra アプリケーション プロキシによる Power BI Mobile へのリモート アクセスの有効化
この記事では、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) が必要です。 Reporting Services サーバーで Negotiate
認証を有効にします。
サービス プリンシパル名 (SPN) を構成する
SPN は、Kerberos 認証を使用するサービスの一意の識別子です。 レポート サーバーには適切な HTTP SPN が必要です。 レポート サーバーの適切なサービス プリンシパル名 (SPN) の構成方法については、「レポート サーバーのサービス プリンシパル名 (SPN) の登録」をご覧ください。
-L
オプションを使用して Setspn
コマンドを実行することで、SPN が追加されたことを確認します。 このコマンドの詳細については、「Setspn」を参照してください。
ネゴシエート認証を有効にする
レポート サーバーで Kerberos 認証を使用できるようにするには、レポート サーバーの認証の種類を RSWindowsNegotiate に構成します。 この設定は、rsreportserver.config ファイルを使用して構成します。
<AuthenticationTypes>
<RSWindowsNegotiate />
<RSWindowsKerberos />
<RSWindowsNTLM />
</AuthenticationTypes>
詳細については、「Reporting Services 構成ファイルを変更する」と「レポート サーバーで Windows 認証を構成する」を参照してください。
Reporting Services アプリケーション プール アカウントに追加された SPN への委任でコネクタが信頼されていることを確認する
KCD を構成して、Microsoft Entra アプリケーション プロキシ サービスがユーザー ID を Reporting Services アプリケーション プール アカウントに委任できるようにします。 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/reports/
やhttps://servername/reportserver/
ではなく、https://servername/
を使用します。Note
レポート サーバーに対してはセキュリティで保護された HTTPS 接続を使用します。 セキュリティで保護された接続の構成の詳細については、「ネイティブ モードのレポート サーバーでのセキュリティで保護された接続の構成」を参照してください。
外部 URL: Power BI Mobile アプリの接続先となるパブリック 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 の一覧に、Public Client (Mobile & Desktop) タイプのリダイレクト URI を追加します:
urn:ietf:wg:oauth:2.0:oob
。
手順 4:Power BI Mobile アプリから接続する
Power BI Mobile アプリで、Reporting Services インスタンスに接続します。 アプリケーション プロキシを通じて公開したアプリケーションの外部 URL を入力します。
[接続] を選択します。 Microsoft Entra のサインイン ページが読み込まれます。
ユーザーの有効な資格情報を入力して、 [サインイン] を選択します。 Reporting Services サーバーの要素が表示されます。
手順 5:マネージド デバイスの Intune ポリシーを構成する (省略可能)
Microsoft Intune を使用して、会社の従業員が使用するクライアント アプリを管理できます。 Intune は、データの暗号化やアクセス要件などの機能を提供します。 Intune ポリシーを使用して Power BI Mobile アプリケーションを有効にします。
- [ID]>[アプリケーション]>[アプリの登録] を参照します。
- ネイティブ クライアント アプリケーションを登録する手順 3 で構成したアプリケーションを選択します。
- アプリケーションのページで、 [API のアクセス許可] を選択します。
- アクセス許可の追加 を選択します。
- [所属する組織で使用している API] で、"Microsoft モバイル アプリケーション管理" を検索して選択します。
- DeviceManagementManagedApps.ReadWrite アクセス許可をアプリケーションに追加します。
- [管理者の同意を与える] を選択して、アクセス許可にアプリケーションへのアクセスを付与します。
- 「アプリ保護ポリシーを作成して割り当てる方法」を参照して、必要な Intune ポリシーを構成します。
トラブルシューティング
レポートの読み込みが数分以上試行された後にアプリケーションからエラー ページが返された場合、タイムアウト設定の変更が必要になることがあります。 既定では、アプリケーション プロキシは、要求への応答に最大 85 秒かかるアプリケーションをサポートします。 この設定を 180 秒に延長するには、アプリケーションのアプリケーション プロキシ設定ページでバックエンドのタイムアウトを [Long] に設定します。 高速で信頼性の高いレポートを作成する方法のヒントについては、Power BI レポートのベスト プラクティスに関するページを参照してください。
Power BI Mobile アプリがオンプレミスの Power BI レポート サーバーに接続できるようにするための Microsoft Entra アプリケーション プロキシの使用は、承認されたクライアント アプリとして Microsoft Power BI アプリを必要とする条件付きアクセス ポリシーではサポートされていません。