Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Microsoft Fabric のネットワーク保護のアップデートについて
Search
Ryoma Nagata
August 27, 2025
Technology
1
210
Microsoft Fabric のネットワーク保護のアップデートについて
Microsoft Data Analytics Day(Online) 勉強会 2025/08
https://sqlserver.connpass.com/event/364307/
発表資料
Ryoma Nagata
August 27, 2025
Tweet
Share
More Decks by Ryoma Nagata
See All by Ryoma Nagata
Microsoft Fabric AI Demo @Tech Boost Summit 2025
ryomaru0825
1
130
忙しい人むけの FabCon Vienna 2025 KeyNote
ryomaru0825
1
71
Microsoft Fabric 攻略ガイド 2.0 (ドラフト)
ryomaru0825
2
720
Microsoft Analytics Day 2025.7 最新情報ピックアップ・デモ
ryomaru0825
1
69
Microsoft Fabric ガバナンス設計の一歩目を考える
ryomaru0825
3
820
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
260
Microsoft Fabric のライセンスについて
ryomaru0825
2
5.1k
Microsoft Fabric OneLake を通じた Delta Lake & Iceberg の相互運用性
ryomaru0825
1
510
Microsoft Fabric OneLake の実体について
ryomaru0825
0
1.2k
Other Decks in Technology
See All in Technology
知覚とデザイン
rinchoku
1
590
CREが作る自己解決サイクルSlackワークフローに組み込んだAIによる社内ヘルプデスク改革 #cre_meetup
bengo4com
0
340
「タコピーの原罪」から学ぶ間違った”支援” / the bad support of Takopii
piyonakajima
0
140
事業開発におけるDify活用事例
kentarofujii
5
1.5k
ローカルLLMとLINE Botの組み合わせ その2(EVO-X2でgpt-oss-120bを利用) / LINE DC Generative AI Meetup #7
you
PRO
1
160
パフォーマンスチューニングのために普段からできること/Performance Tuning: Daily Practices
fujiwara3
2
130
ラスベガスの歩き方 2025年版(re:Invent 事前勉強会)
junjikoide
0
180
20251027_マルチエージェントとは
almondo_event
1
440
DSPy入門
tomehirata
0
100
Behind Postgres 18: The People, the Code, & the Invisible Work | Claire Giordano | PGConfEU 2025
clairegiordano
0
140
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
3
490
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
300
Featured
See All Featured
Docker and Python
trallard
46
3.6k
Faster Mobile Websites
deanohume
310
31k
How to Think Like a Performance Engineer
csswizardry
27
2.1k
Embracing the Ebb and Flow
colly
88
4.9k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Thoughts on Productivity
jonyablonski
70
4.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
30
2.9k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Scaling GitHub
holman
463
140k
Practical Orchestrator
shlominoach
190
11k
GitHub's CSS Performance
jonrohan
1032
470k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
Microsoft MVP for Data Platform 永田 亮磨 (ZEAL CORPORATION) X:
@ryomaru0825 Linkedin: ryoma-nagata-0825 Qiita: ryoma-nagata Microsoft Fabric の ネットワーク保護のアップデートについて
自己紹介 永田 亮磨(Ryoma Nagata) • Microsoft MVP for Data Platform
• Databricks Solutions Architect Champion • 株式会社ジール • Microsoft Data Analytics Solution の導入など • 主な活動場所 • Qiita : @ryoma-nagata • X(Twitter) : @ryomaru0825 • connpass : • JSSUG (Japan SQL Server User Group) • JEDAI - The Data & AI Meetup 推しサービス(≒守備範囲) Databricks / Power BI / Machine Learning PurviewDG / Microsoft Fabric
お品書き Fabric における ネットワークセキュリティの最新状況
ワークスペースレベルでのネットワーク保護がプレビュー開始 プライベートネットワークに経路を限定し、セキュリティを強化 テナント全体ではなく、環境(ワークスペース)ごとでの柔軟な設定 Fabric ワークスペース レベルの Private Link
(プレビュー) |Microsoft Fabric ブログ |マイクロソフト ファブリック
3種のレイヤーによる Fabric 受信防御 Microsoft Fabric の受信防御は現在3つのレイヤーで構成可能(併用可能) Entra ID による条件付きアクセス
Fabric サービスに Entra ID でログインすることが出来る条件を指定 M365 を使用するときにもよく利用され、Fabric のネットワーク保護は第一にこれを使用することが推奨 Fabric テナント全体でのネットワーク保護 プライベートリンク:プライベート IP による通信で Fabric にアクセス パブリックアクセスブロック:パブリック IP による通信を遮断する Fabric ワークスペースでのネットワーク保護 プライベートリンク:プライベート IP による通信で Fabric ワークスペースにアクセス パブリックアクセスブロック:パブリック IP による通信を遮断する Microsoft Entra ID 条件付きアクセス デバイス制限 クライアント IP 制限 Fabric ワークスペース Fabric テナント ネットワーク保護 テナントレベルのプライベートリ ンク パブリックアクセスブロック ネットワーク保護 ワークスペースレベルのプライ ベートリンク パブリックアクセスブロック サービスへの認証 サービス全体 サービス内のリソース
Fabric の受信防御の目的と、ドキュメントに記載された主な制限 プライベートリンク: 対象リソースに対してプライベート IP 経由の接続を提供 対象 サポート外となる主な機能 プライベートリンク
パブリック受信アクセスブロック テナントレベル → 一括で全体統制 × Copilot × Power BI の PDF エクスポート × 使用状況メトリック、Fabric 容量メトリック アプリ × !オンプレミスデータゲートウェイ(インストール時にプラ イベートリンクを一時的に無効にする回避が必要) × Cosmos DB, Open Mirroring 以外のミラーリング × Warehouse ビジュアルクエリ × データフローGen1をソースにしたモデル ワークスペースレベル → プロジェクト個々で影響 小さく設定 × 仮想ネットワークデータゲートウェイまたはオンプレミス データゲートウェイを使用したデータパイプラインとコピー ジョブ(Power BI の接続は可能) × イベントストリームの利用 × スキーマ有効なレイクハウス × デプロイパイプライン × Fabric Portal 画面(!現時点は GUI 開発不可) × 既定のセマンティックモデル 共通 × スタータープール(数分の起動時間が必要になる) × OneLake カタログの統制タブ × 試用版容量 × ウェアハウスへのコピー - (ワークスペースレベルでの制限が大きく未知数) パブリック受信アクセスブロック: Microsoft Fabric 内を含む Public ネットワーク経由での アクセスを完全にブロック(プライベートリンクは必須) プライベートIP パブリックIP Microsoft Fabric 仮想ネットワーク VPN Public NW プライベートIP パブリックIP Microsoft Fabric 仮想ネットワーク VPN Public NW
ワークスペースでのパブリック受信アクセスブロック下の挙動 Fabric ポータルがサポートされず、APIや外部ツールでのみ操作可能 workspace API アクセスもブロックされてしまう点についてはプレビュー特有の不具合の可能性あり ワークスペースのプライベート リンクでサポートされるシナリオ
- Microsoft Fabric | Microsoft Learn
テナント×ワークスペースのプライベートリンク設定の組み合わせの例 ネットワークとアクセスできるワークスペースの組み合わせ A -> WS 1 ・・・テナントへのプライベートリンクにアクセスできない場合、WSプライベートリンクのみアクセス可 B
-> WS 1, 2, 3・・・同上 C -> WS 3,4・・・ワークスペースレベルでパブリックアクセスブロックが無効なワークスペースにはテナントプライベートリン からアクセス可能 外部ネットワーク -> × テナントレベルのパブリックアクセスブロック有効のため テナントとワークスペースのプライベート リンクを使用する - Microsoft Fabric | Microsoft Learn
Fabric 送信保護 マネージド仮想ネットワークとパブリック送信アクセスブロックを使用して外部へのアクセスを制御 データにアクセスするだけでなく、送信することへの対策 Microsoft Fabric Storage ワークスペース -
マネージド仮想ネットワーク:無効 - アウトバウンドブロック:無効 共用の仮想ネットワーク Microsoft の管理するネットワーク Public IP にアクセス Synapse Analytics Azure SQL DB Fabric Engine マネージド仮想ネットワーク マネージド プライベートエンドポイント Private IP にアクセス Fabric Engine マネージド仮想ネットワーク マネージド プライベートエンドポイント Fabric Engine ワークスペース - マネージド仮想ネットワーク:有効 - アウトバウンドブロック:無効 ワークスペース - マネージド仮想ネットワーク:有効 - アウトバウンドブロック:有効 プライベートリンク パブリックIP マネージド仮想ネットワーク 外へのアクセス不可 OneLake (別のワークスペース)
パブリック送信アクセスブロックのシナリオ(現時点) ショートカット プライベートエンドポイント経由×OneLake限定 (私の環境では不可) ノートブック
プライベートエンドポイント経由でAzure PaaS また はOneLakeデータアクセス パブリックライブラリからの取得不可 レイクハウス SQL 分析エンドポイントは利用不可 利用不可の機能 CICD : Git 、配置パイプライン 実際には作成不可 ワークスペースの送信アクセス保護の概要 - Microsoft Fabric | Microsoft Learn ワークスペースの送信アクセス保護 - シナリオ - Microsoft Fabric |Microsoft Learn
設定の流れ
テナントレベルの保護設定の概要フロー - プライベートリンク 1. テナント設定を変更 3. 2を参照するプライベートエ ンドポイントを作成 2. プライベートリンクサービ
スを作成 管理ポータルにアクセスし、トグルをオン (Fabric 管理者ロールが必要) テナント ID を使用してカスタムテンプレート をデプロイ 「Microsoft.PowerBI/privateLink ServicesForPowerBI」を選択して、 プライベートエンドポイントを作成 テナント レベルのプライベート リンクを設定して使用する - Microsoft Fabric | Microsoft Learn
テナントレベルの保護設定の概要フロー - パブリックアクセスブロック 1. プライベートリンク経由で Fabricにアクセス 2. テナント設定を変更 パブリック IP
経由でアクセスしている場 合、設定できない 管理ポータルにアクセスし、トグルをオン (Fabric 管理者ロールが必要) テナント レベルのプライベート リンクを設定して使用する - Microsoft Fabric | Microsoft Learn
ワークスペースレベルの保護設定の概要フロー - プライベートリンク 1. テナント設定を変更 3. 2を参照するプライベートエ ンドポイントを作成 2. プライベートリンクサービ
スを作成 管理ポータルにアクセスし、トグルをオン (Fabric 管理者ロールが必要) テナント ID とワークスペース ID を使用して カスタムテンプレートをデプロイ 「Microsoft.Fabric/privateLinkSer vicesForFabric」を選択して、プライ ベートエンドポイントを作成 ワークスペース レベルのプライベート リンクを設定して使用する - Microsoft Fabric | Microsoft Learn
ワークススペースレベルの保護設定の概要フロー - パブリック受信/送信アクセスブロック 1. テナント設定を変更 python ノートブックで変更可能 設定をするワークスペースとは別のワークス ペースで実行することを推奨 ※予期せぬ切断を回避
ワークスペースの送信アクセス保護を設定する - Microsoft Fabric | Microsoft Learn ワークスペース レベルのプライベート リンクを設定して使用する - Microsoft Fabric | Microsoft Learn 2. REST API でワークスペース 設定を変更(将来的にはUI) 管理ポータルにアクセスし、トグルをオン (Fabric 管理者ロールが必要)
Fabric python notebook による変更サンプル from sempy import fabric import json
workspaceID = fabric.resolve_workspace_id(workspace=“<ワークスペース名>") url = f"https://api.fabric.microsoft.com/v1/workspaces/{workspaceID}/networking/communicationPolicy" client = fabric.FabricRestClient() responce = client.get(url) data = json.loads(responce.content) print("変更前") print(data) # 以下どちらかまたは併用で指定 # # パブリック受信ブロック # payload = { # "inbound": { # "publicAccessRules": { # "defaultAction": "Deny" # } # } # } # # パブリック送信ブロック payload = { "outbound": { "publicAccessRules": { "defaultAction": "Deny" } } } response = client.put(url,json=payload) print("変更後") responce = client.get(url) data = json.loads(responce.content) print(data)
複雑な仕様を踏まえて考えたこと 最も影響が少なく、現状メリットのあるユースケースは 「パブリックアクセスは有効にしながら、ワークスペースプライベートリンクのみを使用 すること」 テナントレベルのプライベートリンクとパブリックアクセスブロック→既存ワークロードやオンプレミスデータゲートウェイ に影響 ワークスペースプライベートアクセスブロック→ポータルUIを使いたいので今は非現実的
パブリックアクセスは有効でもEntra ID の条件付きアクセスで防御するのがはじめに検討するべきステップ M365 は広く使われているが、 パブリックアクセスブロックではなく、条件付きアクセスを基本に、Azure Peering Service(Microsoft Peering) で通信経路をプライベート化するのが定石 → プライベート接続が必要なシーンでのみプライベートリンクを経由する構成 →セキュリティ対策としてではなく、可用性を向上させるための施策としてプライ ベートリンクを使用する
プライベート接続が必要なシーンの具体例 Fabric SQL Endpoint は インターネットへの 1433 接続が必要だが外部への データベース通信が許可されない環境が多々ある
セキュリティが厳しい組織では SQL Server ポートで知られる1433 はパブリック IP 宛には許可されていないこと が多い この対策として Azure SQL でプライベートリンクを導入したり、 プライベートリンクの運用が難しい場合には Azure の SQL ゲートウェイの IP に対して通信許可を開けていたりとむずがゆい構成をとる場合もあった ただし、 Fabric は Azure のように SQL ゲートウェイの 固定IP が公開されていない&プライベートリンクは影響 が大きすぎるという課題があった
構成例とデモ 1. データワークスペースへの疎通NG確認 1. 名前解決の様子も確認 2. プロキシワークスペースにアクセスしてショートカット 3. プロキシワークスペース経由でデータにアクセス
補足)Private DNSゾーンに登録されるレコードについて プライベートリンクを作成する際、 DNS 統合を選択しているとAレコードが追加 される。 SQL エンドポイントの場合、SQLエンドポイント接続文字列に.z{xy}を追加した値がエイリアスになる
*xy=ワークスペースIDの先頭2文字 # エンドポイント用途 FQDN 1 ワークスペースAPI https://{workspaceid}.z{xy}.w.api.fabric.microsoft.com 2 OneLake API https://{workspaceid}.z{xy}.onelake.fabric.microsoft.com 3 ADLS互換API https://{workspaceid}.z{xy}.dfs.fabric.microsoft.com 4 blob API https://{workspaceid}.z{xy}.blob.fabric.microsoft.com 5 SQL Endpoint接続 https://{workspaceid}.z{xy}.c.fabric.microsoft.com エイリアス: https://{SQLエンドポイント接続文字列}.z{xy}.datawarehouse.fabric.microsoft.com)
1433ブロック時のエラー
Thank you !