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
200
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
忙しい人むけの FabCon Vienna 2025 KeyNote
ryomaru0825
1
54
Microsoft Fabric 攻略ガイド 2.0 (ドラフト)
ryomaru0825
2
550
Microsoft Analytics Day 2025.7 最新情報ピックアップ・デモ
ryomaru0825
1
65
Microsoft Fabric ガバナンス設計の一歩目を考える
ryomaru0825
2
670
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
250
Microsoft Fabric のライセンスについて
ryomaru0825
2
4.9k
Microsoft Fabric OneLake を通じた Delta Lake & Iceberg の相互運用性
ryomaru0825
1
480
Microsoft Fabric OneLake の実体について
ryomaru0825
0
1.1k
European Fabric Community Conference 2024 での個人的ピックアップ
ryomaru0825
1
260
Other Decks in Technology
See All in Technology
pprof vs runtime/trace (FlightRecorder)
task4233
0
170
社内お問い合わせBotの仕組みと学び
nish01
0
400
Flaky Testへの現実解をGoのプロポーザルから考える | Go Conference 2025
upamune
1
420
「AI駆動PO」を考えてみる - 作る速さから価値のスループットへ:検査・適応で未来を開発 / AI-driven product owner. scrummat2025
yosuke_nagai
4
600
AI時代だからこそ考える、僕らが本当につくりたいスクラムチーム / A Scrum Team we really want to create in this AI era
takaking22
6
3.5k
【新卒研修資料】LLM・生成AI研修 / Large Language Model・Generative AI
brainpadpr
24
17k
後進育成のしくじり〜任せるスキルとリーダーシップの両立〜
matsu0228
7
2.5k
研究開発部メンバーの働き⽅ / Sansan R&D Profile
sansan33
PRO
3
20k
空間を設計する力を考える / 20251004 Naoki Takahashi
shift_evolve
PRO
3
350
JAZUG 15周年記念 × JAT「AI Agent開発者必見:"今"のOracle技術で拡張するAzure × OCIの共存アーキテクチャ」
shisyu_gaku
0
110
about #74462 go/token#FileSet
tomtwinkle
1
360
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
290
Featured
See All Featured
For a Future-Friendly Web
brad_frost
180
9.9k
A designer walks into a library…
pauljervisheath
209
24k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
The World Runs on Bad Software
bkeepers
PRO
71
11k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Unsuck your backbone
ammeep
671
58k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.7k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
51k
Typedesign – Prime Four
hannesfritz
42
2.8k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Automating Front-end Workflow
addyosmani
1371
200k
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 !