次の方法で共有


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 ステートメントを使用) が常に優先されます。

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 ポータルで、データベース レベルのロールのメンバーシップを管理し、一般的なシナリオ用のユーザー定義ロールを定義できます。
    • ロール メンバーシップとロール定義は、Transact-SQL を使って管理することもできます。
      • データベース ロールに対するユーザーの追加および削除を行うには、 ADD MEMBER ALTER ROLE DROP MEMBER ステートメントの のオプションを使用します。 ユーザー定義ロールの定義を管理するには、CREATE ROLEALTER ROLEDROP ROLE を使います。
  • SQL アクセス許可GRANTREVOKEDENY の各 Transact-SQL ステートメントを使って、データベース ユーザーまたはデータベース ロールのアクセス許可を管理できます。
  • 行レベル セキュリティ (RLS) を使って、テーブル内の特定の行へのアクセスを制御できます。

詳しくは、「SQL データベースの詳細なアクセス制御を構成する」をご覧ください。