234 Views
January 29, 26
スライド概要
Microsoft Data Analytics Day(Online) 勉強会_20260129発表資料
勉強会: https://sqlserver.connpass.com/event/379245/
Qiita: https://qiita.com/satoshi_enomoto
株式会社ジール所属
Microsoft Data Analytics Day(Online) 勉強会 Databricks ABAC と Azure Databricks ミラー化カタログでの OneLake セキュリティ 発表者:Satoshi Enomoto 2026/01/29
目次 • Unity Catalog 属性ベースのアクセス制御 (ABAC) について • Unity Catalog の ABAC のデモ • Unity Catalog の ABAC が適用されたテーブルのミラーリング • Azure Databricks ミラー化カタログでの Onelake セキュリティ 2
はじめに • テーマ ✓ Unity Catalog の ABAC ポリシーが適用されたテーブルは Fabric へミラーリングできるのか ✓ ミラーリング先で行フィルター/列マスクは適用されるのか Unity Catalog OneLake ミラーリング カタログ カタログ テーブル 行フィルター/列マスク テーブル 行フィルター/列マスク ? ABAC ポリシー ? ユーザ 3
Unity Catalog 属性ベースのアクセス制御 (ABAC) について • ABAC(Attribute-Based Access Control)とは 「誰が(ユーザー属性)」「どのデータに(データ属性)」「どんな条件で」アクセスできるかを 属性(Attribute) に基 づいて動的に制御する考え方 • Unity Catalog の ABAC は、管理タグ・ポリシー・ユーザー定義関数 (UDF) を使用して制御する ✓ 管理タグ … データの気密性、分類、ビジネス ドメインなどの属性を表現する。アカウント レベルで定義される。 ✓ ABAC ポリシー … 制御を適用するユーザ、制御方法、条件を設定する。カタログ・スキーマ・テーブル レベルで適用 でき、子オブジェクトへ継承される。 ✓ ユーザー定義関数 (UDF) … スキーマ レベルで定義されたカスタム関数。 行のフィルターや属性に基づく列値のマス クなど、複雑なロジックを表すためにポリシー内で使用される。 引用元:https://learn.microsoft.com/ja-jp/azure/databricks/data-governance/unity-catalog/abac/ 4
Unity Catalog の ABAC のデモ • 1.管理タグの作成 ✓ ワークスペースでカタログを開き、管理タグを選択 ✓ 管理タグを作成をクリック 事前に定義された管理タグ (システム タグ)もある 5
Unity Catalog の ABAC のデモ • 1.管理タグの作成 ✓ タグキーを「pii」、値を「ssn」「address」で設定して作成 6
Unity Catalog の ABAC のデモ • 2.サンプル テーブルを作成 ✓ 個人情報(住所や社会保障番号)を含むサンプル テーブルを作成 ここの値に対してポリシーを設定する 7
Unity Catalog の ABAC のデモ • 3.PII列に管理タグを設定 ✓ サンプル テーブルの Address 列と SNN 列に作成した管理タグを設定 8
Unity Catalog の ABAC のデモ • 4.EU アドレスを検索する UDF を作成 ✓ EU アドレスであれば FALSE、そうでなければ TRUE を返す UDF を作成 9
Unity Catalog の ABAC のデモ • 5.行フィルター ポリシーを作成 ✓ スキーマを選択し、新しいポリシーをクリック(スキーマ レベルのポリシーを作成) 10
Unity Catalog の ABAC のデモ • 5.行フィルター ポリシーを作成 ✓ 以下のような設定値でポリシーを作成 11
Unity Catalog の ABAC のデモ • 6.行フィルター ポリシーをテスト ✓ EU アドレスが表示されないことを確認 12
Unity Catalog の ABAC のデモ • 7.SSN をマスクする UDF を作成 ✓ SSN をマスクして返す UDF を作成 13
Unity Catalog の ABAC のデモ • 8.列マスク ポリシーを作成 ✓ 以下のような設定値でポリシーを作成 14
Unity Catalog の ABAC のデモ • 9.列マスク ポリシーをテスト ✓ SSN が * で表示されることを確認 15
Unity Catalog の ABAC が適用されたテーブルのミラーリング • Q:Unity Catalog の ABAC ポリシーが適用されたテーブルを Fabric にミラーリングできるのか? • A:Azure Databricks ミラー化カタログでは RLS/CLM ポリシーを含むテーブルを非サポート ミラーリング対象に含むことはできるが データを表示できない 引用元:https://learn.microsoft.com/ja-jp/fabric/mirroring/azure-databrickslimitations#limitations 16
Unity Catalog の ABAC が適用されたテーブルのミラーリング • Unity Catalog の ABAC ポリシーを適用していない状態でミラーリングし、Fabric で RLS/CLM ポリ シーを再構成する必要がある → OneLake セキュリティで再現できるか検証 アクセス許可の権限は 引き継がれている 引用元:https://learn.microsoft.com/ja-jp/fabric/mirroring/azure-databricks-security 17
Azure Databricks ミラー化カタログでの Onelake セキュリティ • 現在、Azure Databricks ミラー化カタログではサポートしている 18
Azure Databricks ミラー化カタログでの Onelake セキュリティ • 付与できるアクセス許可は読み取りのみ 19
Azure Databricks ミラー化カタログでの Onelake セキュリティ • 行セキュリティではあまり複雑な規則はできない ✓ Databricks の UDF で定義した内容をそのまま反映するのが難しい場合がありそう 引用元:https://learn.microsoft.com/jajp/fabric/onelake/security/row-level-security#supported-operators 20
Azure Databricks ミラー化カタログでの Onelake セキュリティ • 列セキュリティは特定の列を表示するか・しないかのルールとなる ✓ マスキングの設定はできない 21
さいごに • Azure Databricks ミラー化カタログでは RLS/CLM ポリシーを含むテーブルを非サポート • Fabric で Onelake セキュリティ等で ポリシーを再構成する必要がある Unity Catalog カタログ テーブル A OneLake ミラーリング (アクセス許可は含む) カタログ テーブル A’ テーブル A’ 行フィルター/列マスク 行フィルター/列マスク ABAC ポリシー Onelake セキュリティ 等 ユーザ 22
参考文献 • 【判断フロー】OneLake セキュリティで列を守るべきか? -OneLake Security(プレビュー)の注意点への対策#PowerBI – Qiita • Microsoft Fabric の OneLake セキュリティ で安全にワークスペース間データ共有を行う #MicrosoftFabric - Qiita 23
ご清聴ありがとうございました!