Microsoft Fabric のネットワーク接続で使用できる機能をまとめておきたいと思い、最初にプライベートリンクを使用した Microsoft Fabric への接続制御 (受信方向)
Fabric のセキュリティについては次のドキュメントから確認できます。
パブリックアクセスをブロックすることで、プライベートエンドポイント経由でのみ、Fabric へのアクセスを許可することができますが、Fabric にデータを格納するための既存のパイプラインのアクセスにも影響がでる可能性があります。
パブリックアクセスをブロックする場合には、途中からブロックするのではなく最初からブロックする設定を行っておいたほうが良いかと。(私が使用している環境では、ADF から Fabric へのインポートがブロックされるようになり、ADF で作成していた Fabric 向けのパイプラインがエラーとなりました)
Contents
Microsoft Fabric への接続制御に使用できる機能
使用できる機能
Microsoft Fabric への接続 (受信) を制御するための機能としては次の情報があります。
Fabric への接続制御については次の 2 種類の機能を使用することが基本方針となるようです。
- Entra ID の条件付き接続
- プライベートリンク
- プライベートリンクの使用をしたうえでパブリックインターネットアクセスのブロックができる
本投稿では「2.」について確認を行っていきます。
機能の有効化
Fabric へのアクセス制御は管理ポータルの「テナント設定」から制御を行うことができます。
制御は「組織全体で有効」が対象となっているため、ワークスペース単位ではなくテナント単位で設定を行うことになります。
「パブリック インターネット アクセスのブロック」については、通常のインターネットアクセスで設定の有効化を行おうとすると次のエラーが発生し設定を有効化することができません。
最初に、プライベートエンドポイント経由で Fabric にアクセスをできる状態にしてから、機能の有効化を行う必要があります。
プライベートリンク / プライベートエンドポイントを使用したアクセスの設定
最初のステップとして、プライベートリンク / プライベートエンドポイントを使用したアクセスの設定について見ていきたいと思います。
Fabric の管理ポータルから Azure Private Link の有効化は完了しているという前提となります。
設定方法については プライベート リンクを設定して使用する に記載されていますので、細かな設定手順については記載していません。
プライベートリンクの作成
最初に「Microsoft.PowerBI/privateLinkServicesForPowerBI」のリソースタイプに対してのプライベートリンクを作成する必要がありますが、現状はポータルからの GUI 操作では作成ができないため ARM テンプレートで作成を行う必要があります。
使用するテンプレートについてはドキュメントで公開されていましたが、「"tenantId": "<tenant-object-id>"」をプロパティとして設定を行うため、プライベートリンクはリソースではなく、Fabric を作成したテナントを指定して作成することになります。
作成したプライベートリンクのリソースは「非表示のリソース」として作成が行われているため、削除を行う場合には「非表示の方の表示」を有効にし、リソースを表示できるようにして削除する必要があります。
プライベートエンドポイントの作成
前の手順で作成したプライベートリンクを使用して、指定した仮想ネットワークにプライベートエンドポイントを作成します。
前述のとおり、対象サブリソースとしてはテナントとなります。
プライベートエンドポイントをリンクした仮想ネットワークでは、各種 URL がプライベートリンク向けの名前解決となります。
パブリック インターネット アクセスのブロック
プライベートエンドポイントを介して、Fabric の管理ポータルにアクセスした場合は「パブリック インターネット アクセスのブロック」を有効にすることができます。
パブリックインターネットアクセスをブロックした場合、プライベートエンドポイント経由でないアクセスについては、該当のテナントの Fabric の環境に対して、「app.fabric.microsoft.com」のような Fabric の URL でアクセスした場合に、次のメッセージが表示され、アクセスがブロックされます。
オンプレミスからアクセスする場合の DNS の設定
Azure の仮想マシンからアクセスする場合には、VNET に対してプライベート DNS ゾーンをリンクさせれば問題ありません。
オンプレミスのネットワークから Fabric のプライベートエンドポイントに対してアクセスするためには、ネットワーク的な接続の他に DNS による名前解決についても考慮する必要があります。
オンプレミスの DNS のフォワード設定については、Power BI 側のドキュメントとなりますが、オンプレミス クライアント向け Power BI へのセキュリティで保護されたアクセスのためのプライベート エンドポイント が参考になりそうです。
このドキュメントでは条件付きフォワーダーは次のゾーンが設定されている画像となっています。
- privatelink.analysis.windows.net
- privatelink.pbidedicated.windows.net
- privatelink.prod.powerquery.microsoft.com
オンプレミスの DNS の上記のゾーンの転送先を、Azure プライベート DNS リゾルバーの受信エンドポイントとすることで、オンプレミスからの名前解決をプライベートエンドポイントに変更することができます。
オンプレミス DNS フォワーダーを使用した Azure プライベート リゾルバー には、次の記載があります。
条件付き転送は、推奨されるパブリック DNS ゾーン フォワーダーに対して行われる必要があります。 たとえば、 privatelink.database.windows.net ではなく、
database.windows.net
です。
通常、プライベートエンドポイントの名前解決の転送は、パブリックのゾーンに対して実施する形となりますので、名前解決が安定しない場合には、「privatelink~」ではなく、次のドメインを転送する設定してみるとよいのではないでしょうか。
- analysis.windows.net
- pbidedicated.windows.net
- tip1.powerquery.microsoft.com
転送が必要となるゾーンの詳細については Azure プライベート エンドポイントのプライベート DNS ゾーンの値 から確認することができますのでどのゾーンの名前解決を考量する必要があるかについては、この情報も参考となります。
制限事項
その他の考慮事項と制限事項 に記載されており、パブリックアクセスをブロックされる際にもメッセージが表示されますが、パブリックアクセスの拒否は試用版ではサポートされていません。
「Fabric のポータルに対してアクセスができるか」については試用版で確認することができますが、ワークスペース内のリソースの操作ができるかどうかについては、試用版のワークスペースでは確認ができないため、どのような操作ができるかの厳密な確認については製品版のワークスペースで確認をする必要があります。
また、どのような Fabric の機能がプライベートリンクをサポートしているかについては Fabric エクスペリエンスにおけるプライベート リンク に記載されていますので、プライベートリンクで保護できるアクセスについてはこの内容も確認しておく必要があります。