データを共有し、アクセス許可を管理する
適用対象:✅Microsoft Fabric の Warehouse、ミラー データベース
共有は、ダウンストリームで使用するデータへの読み取りアクセス権限をユーザーに付与する場合に便利な方法です。 共有により、組織内のダウンストリーム ユーザーは、T-SQL、Spark、または Power BI を使用してウェアハウスを利用できるようになります。 共有受信者に付与されるアクセス許可のレベルをカスタマイズして、適切なアクセス レベルを提供できます。
Note
Microsoft Fabric で項目を共有するには、ワークスペースの管理者またはメンバーである必要があります。
作業の開始
Fabric ワークスペース内の別のユーザーと共有するウェアハウス項目を特定したら、その行の [共有] というクイック アクションを選択します。
次のアニメーション GIF では、共有するウェアハウスを選択し、割り当てるアクセス許可を選択し、最後にアクセス許可を別のユーザーに [付与] する手順を確認します。
ウェアハウスの共有
次の図で強調表示されているように、クイック アクションから [共有] を選択して OneLake またはウェアハウス項目からウェアハウスを共有できます。
ウェアハウスを共有するユーザー、付与するアクセス許可、メールで通知するかどうかを選択するオプションが表示されます。
すべての必須フィールドに入力し、[アクセスの付与] を選択します。
共有受信者はメールを受信したら、[開く] を選択し、Warehouse OneLake カタログ ページに移動できます。
共有受信者に付与されているアクセスのレベルに応じて、共有受信者は SQL 分析エンドポイントに接続したり、Warehouse に対してクエリを実行したり、レポートを作成したり、Spark を介してデータを読み取ったりできるようになりました。
Fabric のセキュリティ ロール
提供される各アクセス許可の詳細を次に示します:
- 追加のアクセス許可が選択されていない場合 – 共有受信者は既定で「読み取り」アクセス許可を受け取ります。このアクセス許可は、受信者が SQL 分析エンドポイントに接続することのみを許可し、これは SQL Server の CONNECT アクセス許可と同等です。 共有受信者は、T-SQL の GRANT ステートメントを使用して Warehouse 内のオブジェクトへのアクセス権限が提供されない限り、テーブルまたはビューに対してクエリを実行したり、関数またはストアド プロシージャを実行したりすることはできません。
ヒント
ReadData (T-SQL アクセス許可のためにウェアハウスによって使用されます)、ReadAll (OneLake と SQL 分析エンドポイントによって使用されます)、Build (Power BI によって使用されます) は、重複しない個別のアクセス許可です。
[SQL を使用してすべてのデータを読み取る] が選択されている ("ReadData" アクセス許可) - 共有受信者は、ウェアハウス内のすべてのオブジェクトを読み取ることができます。 ReadData は、SQL Server の db_datareader ロールと同等です。 共有受信者は、Warehouse 内のすべてのテーブルとビューからデータを読み取ることができます。 ウェアハウス内の一部のオブジェクトに対するアクセスをさらに制限して詳細に設定する場合は、T-SQL の
GRANT
/REVOKE
/DENY
ステートメントを使用してこれを行うことができます。- Lakehouse の SQL 分析エンドポイントでは、[Read all SQL Endpoint data] (すべての SQL エンドポイント データの読み取り) が [Read all data using SQL] (SQL を使用したすべてのデータの読み取り) に相当します。
"Apache Spark を使用してすべてのデータを読み取る" が選択されています ("ReadAll" アクセス許可)- 共有受信者は OneLake の基になる Parquet ファイルへの読み取りアクセス権を持っています。これは Spark を使用して使用できます。 ReadAll は、共有受信者が Spark エンジンを使用してウェアハウスのファイルに完全にアクセスする必要がある場合にのみ指定する必要があります。
[Build reports on the default dataset] (既定のデータ・セットでレポートを作成する) チェックボックスが選択されている ("ビルド" アクセス許可)- 共有受信者は、Warehouse に接続されている既定のセマンティック モデルの上にレポートを作成できます。 共有受信者がこのデータに対して Power BI レポートを作成するために、既定のセマンティック モデルに対するビルドアクセス許可を必要としている場合は、ビルドを提供する必要があります。 [ビルド] チェック ボックスは既定でオンになっていますが、オフにすることができます。
ReadData アクセス許可
ReadData アクセス許可を使用すると、共有受信者は、Warehouse エディターを読み取り専用モードで開き、Warehouse 内のテーブルとビューに対してクエリを実行できます。 共有受信者は、指定された SQL 分析エンドポイントをコピーし、クライアント ツールに接続してこれらのクエリを実行することもできます。
ReadAll アクセス許可
ReadAll アクセス許可を持つ共有受信者は、Warehouse エディターの [プロパティ] ウィンドウから、OneLake の特定のファイルへの Azure Blob File System (ABFS) パスを検索できます。 共有受信者は、Spark Notebook 内でこのパスを使用して、このデータを読み取ることができます。
たとえば、次のスクリーンショットでは、ReadAll アクセス許可を持つユーザーは、新しいノートブックの Spark クエリを使用して FactSale
のデータに対してクエリを実行できます。
ビルド アクセス許可
ビルドアクセス許可を使用すると、共有受信者は、Warehouse に接続されている既定のセマンティック モデルの上にレポートを作成できます。 共有受信者は、OneLake カタログから Power BI レポートを作成することも、Power BI Desktop を使用して同じ操作を行うこともできます。
アクセス許可の管理
[アクセス許可の管理] ページには、 (この記事で前述したように) ワークスペース ロールまたはアイテムのアクセス許可に割り当てることによってアクセス権が付与されたユーザーのリストが表示されます。
管理者またはメンバー ワークスペース ロールのメンバーである場合は、ワークスペースに移動して [その他のオプション] を選択します。 次に、[アクセス許可の管理] を選択します。
ワークスペース ロールが割り当てられたユーザーの場合は、対応するユーザー、ワークスペース ロール、アクセス許可が表示されます。 管理者、メンバー、共同作成者ワークスペース ロールのメンバーは、このワークスペース内の項目に対する読み取り/書き込みアクセス権限を持ちます。 閲覧者は ReadData アクセス許可を持ち、そのワークスペース内の Warehouse 内のすべてのテーブルとビューに対してクエリを実行できます。 アイテムのアクセス許可 Read、 ReadData、ReadAll をユーザーに提供できます。
[アクセス許可の管理] を使用して、アクセス許可の追加または削除を選択できます。
- [アクセス権の削除] では、すべての項目のアクセス許可が削除されます。
- [ReadData の削除] では、 ReadData アクセス許可が削除されます。
- ReadAll の削除 では、ReadAll アクセス許可が削除されます。
- [ビルドの削除] では、対応する既定のセマンティック モデルに対するビルド アクセス許可が削除されます。
データ保護機能
Microsoft Fabric データ ウェアハウスでは、管理者が不正な表示から機密データを保護するために使用できる複数のテクノロジがサポートされています。 承認されていないユーザーまたはロールからデータをセキュリティで保護するか、データを難読化することで、これらのセキュリティ機能では、アプリケーションを変更することなく、ウェアハウスと SQL 分析エンドポイントの両方でデータ保護を提供できます。
- 列レベルのセキュリティでは、テーブル内の列の不正な表示を防ぎます。
- 行レベルのセキュリティでは、使い慣れた
WHERE
句フィルター述語を使用して、テーブル内の行を不正に表示することを防ぎます。 - 動的データ マスクでは、マスクを使用してアクセスを完了できなくすることで、メール アドレスや番号などの機密データの不正な表示を防ぎます。
制限事項
- アイテムのアクセス許可を指定するか、以前にアクセス許可を持っていたユーザーを削除した場合、アクセス許可の伝達には最大 2 時間かかることがあります。 新しいアクセス許可は、[アクセス許可の管理] にすぐに表示されます。 もう一度サインインして、アクセス許可が SQL 分析エンドポイントに反映されていることを確認します。
- 共有受信者は、所有者の ID (委任モード) を使用して Warehouse にアクセスできます。 Warehouse の所有者がワークスペースから削除されていないことを確認します。
- 共有受信者は、受け取った Warehouse にのみアクセスでき、 Warehouse と同じワークスペース内の他の成果物にはアクセスできません。 チーム内の他のユーザーがウェアハウスで共同作業 (読み取りおよび書き込みアクセス権限) するためのアクセス許可を付与する場合は、メンバーや共同作成者などのワークスペース ロールとして追加します。
- 現在、ウェアハウスを共有し、[Read all data using SQL] (SQL を使用したすべてのデータの読み取り) を選択すると、共有受信者は読み取り専用モードでウェアハウス エディターにアクセスできます。 これらの共有受信者はクエリを作成できますが、現在はクエリを保存できません。
- 現在、 Warehouse の共有は、ユーザー エクスペリエンスを通じてのみ使用できます。
- Warehouse 内の特定のオブジェクトへの詳細なアクセスを提供する場合は、追加のアクセス許可なしで Warehouse を共有し、T-SQL GRANT ステートメントを使用して特定のオブジェクトへの詳細なアクセスを提供します。 詳細については、「GRANT、REVOKE、DENY の T-SQL 構文」を参照してください。
- 共有ダイアログで ReadAll アクセス許可と ReadData アクセス許可が無効になっていることがわかった場合は、ページを更新します。
- 共有受信者には、Warehouse を再共有するアクセス許可がありません。
- Warehouse 上に構築されたレポートが別の受信者と共有されている場合、共有受信者はレポートにアクセスするには、より多くのアクセス許可を必要とします。 これは、Power BI によるセマンティック モデルへのアクセスのモードによって異なります。
- DirectQuery モードでアクセスする場合は、ReadData アクセス許可 (または特定のテーブル/ビューに対する詳細な SQL アクセス許可) を Warehouse に提供する必要があります。
- Direct Lake モードでアクセスする場合は、ReadData アクセス許可 (または特定のテーブルまたはビューに対する詳細な SQL アクセス許可) をウェアハウスに付与する必要があります。 ウェアハウスまたは SQL 分析エンドポイントをデータ ソースとして使うセマンティック モデルの場合、Direct Lake モードが既定の接続の種類です。 詳細については、「Direct Lake モード」を参照してください。
- インポート モードでアクセスする場合は、追加のアクセス許可は必要ありません。
- 現在、ウェアハウスを SPN と直接共有することはサポートされていません。