Microsoft Fabric SQL Database での認可
適用対象:✅Microsoft Fabric SQL Database
この記事では、Fabric の SQL データベース アイテムに対するアクセス制御について説明します。
SQL データベースへのアクセスは、2 つのレベルで構成できます。
- Fabric では、Fabric のアクセス制御つまりワークスペース ロールとアイテムのアクセス許可を使います。
- データベース内では、SQL のアクセス許可やデータベース レベルのロールなどの SQL のアクセス制御を使います。
これら 2 つの異なるレベルのアクセス制御が連携します。
- データベースに接続するには、ユーザーは Fabric データベース アイテムに対して少なくとも Fabric での読み取りアクセス許可を持っている必要があります。
- Fabric アクセス制御、SQL アクセス制御、またはその両方を使用して、特定の機能やデータへのアクセス権を付与できます。 データベースに接続するためのアクセス許可は、Fabric のロールまたはアクセス許可でのみ付与できます。
- データベース内でのアクセスの拒否 (DENY Transact-SQL ステートメントを使用) が常に優先されます。
Note
Microsoft Purview 保護ポリシーは、データベース ユーザーに対する有効なアクセス許可を強化できます。 組織で Microsoft Purview と Microsoft Fabric を使用している場合は、「Microsoft Purview 保護ポリシーを使用して SQL データベースの機密データを保護する」を参照してください。
Fabric のアクセス制御
Fabric では、Fabric のワークスペース ロールとアイテムのアクセス許可を使ってアクセスを制御できます。
ワークスペースのロール
Fabric のワークスペース ロールを使うと、Microsoft Fabric ワークスペースで誰が何を実行できるかを管理できます。
- ワークスペース ロールの概要については、ワークスペースのロールに関する記事をご覧ください。
- ワークスペース ロールを割り当てる手順については、「ワークスペースへのアクセス権をユーザーに付与する」をご覧ください。
次の表では、特定のワークスペース ロールのメンバーがアクセスを許可される SQL データベース固有の機能を示します。
機能 | 管理者ロール | メンバー ロール | 共同作成者ロール | 閲覧者ロール |
---|---|---|---|---|
完全な管理アクセスと完全なデータ アクセス | はい | イエス | はい | いいえ |
データとメタデータの読み取り | はい | イエス | イエス | はい |
データベースに接続する | はい | イエス | イエス | はい |
アイテムのアクセス許可
Fabric のアイテムのアクセス許可は、ワークスペース内にある個々の Fabric アイテムへのアクセスを制御します。 Fabric アイテムによってアクセス許可が異なります。 次の表は、SQL データベース アイテムに適用できるアイテムのアクセス許可の一覧です。
権限 | 機能 |
---|---|
読み取り | データベースに接続する |
ReadData | データとメタデータを読み取る |
ReadAll | OneLake ファイルからミラー化されたデータを直接読み取る |
共有 | アイテムを共有して、Fabric のアイテムのアクセス許可を管理する |
書き込み | 完全な管理アクセスと完全なデータ アクセス |
アイテムのアクセス許可を付与する最も簡単な方法は、ユーザー、アプリケーション、またはグループをワークスペース ロールに追加することです。 各ロールのメンバーシップは、次の表に示すように、ロールのメンバーがワークスペース内のすべてのデータベースに対するアクセス許可のサブセットを持つことを意味します。
ロール | 読み込み | ReadAll | ReadData | 書き込み | 共有 |
---|---|---|---|---|---|
管理者 | はい | イエス | イエス | イエス | はい |
Member | はい | イエス | イエス | イエス | はい |
Contributor | はい | イエス | イエス | はい | いいえ |
ビューアー | はい | イエス | はい | いいえ | いいえ |
アイテムのアクセス許可を共有する
また、Fabric ポータルの [共有] クイック アクションを使ってデータベース アイテムを共有すると、個々のデータベースに対する Read、ReadAll、ReadData のアクセス許可を付与することもできます。 Fabric ポータルの [アクセス許可の管理] クイック アクションを使って、データベース アイテムに付与されたアクセス許可を表示および管理できます。 詳しくは、「SQL データベースを共有し、アクセス許可を管理する」をご覧ください。
SQL のアクセス制御
次の SQL の概念を使うと、Fabric のワークスペース ロールとアイテムのアクセス許可と比べて、いっそうきめ細かくアクセスを制御できます。
- データベース レベルのロール。 データベース レベルのロールには 2 つの種類があります。データベースで事前に定義されている "固定データベース ロール" と、ユーザーが作成できる "ユーザー定義データベース ロール" です。
- Fabric ポータルで、データベース レベルのロールのメンバーシップを管理し、一般的なシナリオ用のユーザー定義ロールを定義できます。
- 詳しくは、「Fabric ポータルから SQL データベースレベル ロールを管理する」をご覧ください。
- ロール メンバーシップとロール定義は、Transact-SQL を使って管理することもできます。
- データベース ロールに対するユーザーの追加および削除を行うには、
ADD MEMBER
ALTER ROLEDROP MEMBER
ステートメントの と のオプションを使用します。 ユーザー定義ロールの定義を管理するには、CREATE ROLE、ALTER ROLE、DROP ROLE を使います。
- データベース ロールに対するユーザーの追加および削除を行うには、
- Fabric ポータルで、データベース レベルのロールのメンバーシップを管理し、一般的なシナリオ用のユーザー定義ロールを定義できます。
- SQL アクセス許可。 GRANT、REVOKE、DENY の各 Transact-SQL ステートメントを使って、データベース ユーザーまたはデータベース ロールのアクセス許可を管理できます。
- 行レベル セキュリティ (RLS) を使って、テーブル内の特定の行へのアクセスを制御できます。
詳しくは、「SQL データベースの詳細なアクセス制御を構成する」をご覧ください。