Fabric データ ウェアハウスで列レベルのセキュリティを実装する
適用対象:✅ Microsoft Fabric の SQL 分析エンドポイントおよびウェアハウス
Microsoft Fabric の列レベルのセキュリティ (CLS) を使用すると、テーブルに対する特定の許可に基づいて、テーブル内の列へのアクセスを制御できます。 詳細については、「Fabric データ ウェアハウスでの列レベルのセキュリティ」を参照してください。
このガイドでは、ウェアハウスまたは SQL 分析エンドポイントに列レベルのセキュリティを実装する手順について説明します。
前提条件
作業を開始する前に、次の準備ができていることを確認します。
- アクティブな容量または試用版の容量を持つ Fabric ワークスペース。
- Fabric ウェアハウスまたはレイクハウス上の SQL 分析エンドポイント。
- ワークスペースに対する管理者、メンバー、または共同作成者の権限、またはウェアハウスまたは SQL 分析エンドポイントに対する昇格された権限。
1.接続する
- ウェアハウスまたは SQL 分析エンドポイントに対する昇格されたアクセス権を持つアカウントを使用してログインします。 (ワークスペースの管理者/メンバー/共同作成者ロール、またはウェアハウスあるいは SQL 分析エンドポイントに対するコントロール権限)。
- Fabric ワークスペースを開き、行レベルのセキュリティを適用するウェアハウスまたは SQL 分析エンドポイントに移動します。
2.テーブルに対して列レベルのアクセスを定義する
列レベルのセキュリティで保護するユーザーまたはロールとデータ テーブルを特定します。
列レベルのセキュリティは GRANT T-SQL ステートメントと列リストを使用して実装します。 管理をわかりやすくするために、個人を使用するより、ロールにアクセス許可を割り当てることをお勧めします。
-- Grant select to subset of columns of a table GRANT SELECT ON YourSchema.YourTable (Column1, Column2, Column3, Column4, Column5) TO [SomeGroup];
YourSchema
をスキーマの名前に、YourTable
をターゲット テーブルの名前に置き換えます。SomeGroup
を自分のユーザー/グループの名前に置き換えます。コンマ区切りの列リストを、ロールにアクセス権を付与する列に置き換えます。
必要に応じて、これらの手順を繰り返して、その他のテーブルに特定の列アクセス権を付与します。
3.列レベルのアクセスをテストする
- 関連する GRANT ステートメントを持つロールのメンバーであるユーザーとしてログインします。
- データベース テーブルに対してクエリを実行して、列レベルのセキュリティが期待どおりに動作していることを確認します。 アクセスできる列のみがユーザーに表示され、他の列からはブロックされている必要があります。 例:
SELECT * FROM YourSchema.YourTable;
- ユーザーに対する類似の結果は、データベース アクセスに Microsoft Entra 認証を使用する他のアプリケーションでフィルター処理されます。 詳細については、「Microsoft Fabric の SQL 認証の代替え手段とする Microsoft Entra 認証」を参照してください。
4.列レベルのセキュリティを監視および維持する
セキュリティ要件の進行に従って、列レベルのセキュリティ ポリシーを定期的に監視および更新します。 ロールの割り当てを追跡し、ユーザーが適切なアクセス権を持つようにします。