メインコンテンツまでスキップ

Unity Catalog での特権の管理

このページではUnity Catalogのセキュリティ保護可能なオブジェクトに対する権限の付与、取り消し、および検査の方法、ならびにオブジェクトの所有権の管理方法について説明します。 権限モデル、権限の継承、所有権に関する概念的な背景については、 「Unity Catalog 権限モデルの概念」を参照してください。

権限を管理できるのは誰ですか?​

最初は、ユーザーはメタストア内のデータにアクセスできません。 Databricks アカウント管理者、ワークスペース管理者、およびメタストア管理者には、 Unity Catalogを管理するためのデフォルトの特権があります。 「Unity Catalog の管理者特権」を参照してください。

Unity Catalog内のセキュリティ保護可能なオブジェクトはすべて所有者が存在します。 オブジェクトの所有者は、そのオブジェクトに対するすべての権限を持ち、他のプリンシパルに権限を付与する権限も含まれます。所有者は、他のユーザーにオブジェクトに対するMANAGE権限を付与することができ、これによりユーザーはオブジェクトに対する権限を管理できるようになります。オブジェクトの所有権の管理を参照してください。

特権は、次のいずれかによって付与できます。

  • オブジェクトの所有者。
  • オブジェクトを含むカタログまたはスキーマの所有者。
  • オブジェクトに対する MANAGE 権限を持つユーザー。
  • メタストア管理者。

アカウント管理者は、メタストアで直接権限を付与することもできます。

ワークスペースカタログの権限​

ワークスペースでUnity Catalogが自動的に有効になった場合、ワークスペースはデフォルトでメタストアにアタッチされ、メタストア内のワークスペースのワークスペースカタログが作成されます。ワークスペース管理者は、ワークスペースカタログのデフォルト所有者です。所有者は、ワークスペースカタログとすべての子オブジェクトに対する権限を管理できます。

すべてのワークスペース ユーザーは、ワークスペース カタログに対する USE CATALOG 権限を受け取ります。 ワークスペース ユーザーは、カタログ内のdefaultスキーマに対する USE SCHEMA、 CREATE TABLE、 CREATE VOLUME、 CREATE MODEL、 CREATE FUNCTION、および CREATE MATERIALIZED VIEW 特権も受け取ります。

詳細については、Unity Catalog の概要を参照してください。

権限の表示、付与、取り消し​

メタストア オブジェクトの特権は、SQL コマンド、Databricks CLI、Databricks Terraform プロバイダー、またはカタログ エクスプローラーを使用して管理できます。

次の SQL コマンドで、次のプレースホルダー値を置き換えます。

  • <privilege-type> は Unity Catalog の特権の種類です。 権限タイプを参照してください。
  • <securable-type>: セキュリティ保護可能なオブジェクトのタイプ ( CATALOG や TABLEなど)。 セキュリティ保護可能なオブジェクトを参照してください
  • <securable-name>: セキュリティ保護可能なリソースの名前。 セキュリティ保護可能な種類が METASTOREの場合は、セキュリティ保護可能な名前を指定しないでください。 これは、ワークスペースにアタッチされたメタストアと見なされます。
  • <principal> はユーザー、 (applicationId 値で表される)サービスプリンシパル、またはグループです。 特殊文字を含むユーザー名、サービスプリンシパル名、およびグループ名は、バッククォート (` `) で囲む必要があります。プリンシパルを参照してください。

オブジェクトの権限を表示する​

注記

現在、オブジェクトに対する MANAGE 権限を持つユーザーは、INFORMATION_SCHEMA でそのオブジェクトに対するすべての権限付与を表示することはできません。代わりに、INFORMATION_SCHEMAには、そのオブジェクトに対するユーザー自身の権限付与のみが表示されます。この動作は将来的に修正される予定です。

MANAGE権限を持つユーザーは、SQL コマンドまたはカタログエクスプローラを使用して、オブジェクトに対するすべての権限を表示できます。Unity Catalog での特権の管理を参照してください。

必要な権限:

  • メタストア管理者、オブジェクトに対するREAD METADATAまたはMANAGE権限を持つユーザー、オブジェクトの所有者、またはオブジェクトを含むカタログやスキーマの所有者は、オブジェクトに対するすべての権限付与を表示できます。
  • 上記の権限がない場合、オブジェクトに対する自分の権限のみを表示できます。
  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. オブジェクト (カタログ、スキーマ、テーブル、ビューなど) を選択します。
  3. 権限 タブに移動します。

オブジェクトに対する許可を表示する​

必要な権限: オブジェクトに対する自分の権限はいつでも表示できます。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. オブジェクト (カタログ、スキーマ、テーブル、ビューなど) を選択します。
  3. [権限 ]タブに移動します。オブジェクトの所有者またはメタストア管理者でない場合は、オブジェクトに対する自分の権限のみを表示できます。

オブジェクトに対する権限を付与する​

必要な権限: メタストア管理者、オブジェクトに対する MANAGE 権限、オブジェクトの所有者、またはオブジェクトを含むカタログまたはスキーマの所有者。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. オブジェクト (カタログ、スキーマ、テーブル、ビューなど) を選択します。
  3. 権限 タブに移動します。
  4. 付与 をクリックします。
  5. ユーザーのEメールアドレスまたはグループの名前を入力します。
  6. 付与する権限を選択します。
  7. OK をクリックします。

オブジェクトの権限を取り消す​

必要な権限: メタストア管理者、オブジェクトに対する MANAGE 権限、オブジェクトの所有者、またはオブジェクトを含むカタログまたはスキーマの所有者。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. オブジェクト (カタログ、スキーマ、テーブル、ビューなど) を選択します。
  3. 権限 タブに移動します。
  4. ユーザー、サービスプリンシパル、またはグループに付与されている権限を選択します。
  5. 取り消し をクリックします。
  6. 確認するには、[ 取り消し] をクリックします。

メタストアでの許可の表示​

必要な権限: メタストア管理者またはアカウント管理者。 また、メタストアで自分の権限を表示することもできます。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. カタログ パネルの上部にある歯車アイコン。歯車アイコンをクリックし、 Metastore を選択します。
  3. 「 アクセス許可 」タブをクリックします。

メタストアに権限を付与する​

必要な権限: メタストア管理者またはアカウント管理者。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. カタログ パネルの上部にある歯車アイコン。歯車アイコンをクリックし、 Metastore を選択します。
  3. アクセス許可 タブで、 許可 をクリックします。
  4. ユーザーのEメールアドレスまたはグループの名前を入力します。
  5. 付与する権限を選択します。
  6. OK をクリックします。

メタストアの権限を取り消す​

必要な権限: メタストア管理者またはアカウント管理者。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。
  2. カタログ パネルの上部にある歯車アイコン。歯車アイコンをクリックし、 Metastore を選択します。
  3. [権限] タブで、ユーザーまたはグループを選択し、[ 取り消し] をクリックします。
  4. 確認するには、[ 取り消し] をクリックします。

オブジェクトの所有権を管理する​

オブジェクトの所有者を表示する​

カタログエクスプローラ または SQL ステートメントを使用して、オブジェクトの所有者を表示できます。

必要な権限 :オブジェクトまたはオブジェクトの親に対してBROWSE権限を持つユーザーは、オブジェクトの所有者を表示できます。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。

  2. カタログ、スキーマ、テーブル、ビュー、ボリューム、外部ロケーション、ストレージ認証情報などのオブジェクトを選択します。

    オブジェクトへの移動方法は、そのオブジェクトによって異なります。左側の カタログ ウィンドウで、カタログ、スキーマ、およびスキーマ(テーブルやボリュームなど)のコンテンツを選択できます。カタログペインの上にある歯車アイコン。歯車アイコンをクリックし、メニューからオブジェクトカテゴリを選択すると、外部ロケーションやOpenSharing共有などの他のオブジェクトを見つけることができます。

    ほとんどのオブジェクトの場合、所有者はオブジェクト詳細ページの 「概要」 タブに表示されます。外部ロケーションなどの一部のオブジェクトについては、オブジェクト詳細ページの上部に表示されます。

所有権の移転​

オブジェクトの所有者を変更するには、 カタログエクスプローラー またはSQLステートメントを使用できます。

必要な権限: オブジェクトの所有権は、現在の所有者、メタストア管理者、コンテナの所有者(スキーマのカタログ、テーブルのスキーマ)、またはオブジェクトに対する MANAGE 権限を持つユーザーである場合に転送できます。OpenSharing共有オブジェクトは例外です。メタストア管理者のみが共有の所有権を譲渡できます。

権限昇格を防ぐため、メタストア管理者のみが、ビュー、関数、またはモデルの所有権をアカウント内の任意のユーザー、サービスプリンシパル、またはグループに譲渡できます。現在所有者およびMANAGE権限を持つユーザーは、所有権を自身のユーザー名または所属するグループに譲渡することしかできません。

ヒント

ビューまたはメトリクス ビューの所有権をグループに譲渡すると、共同編集が可能になります。 グループがビューまたはメトリクス ビューを所有している場合、グループのすべてのメンバーはその定義を編集できますが、データ アクセスはグループが表示する権限を持っているものに限定されます。 詳細な手順については、 「共同編集を有効にする」を参照してください。

注記

Databricks SQLで作成されたマテリアライズドビューとストリーミングテーブルは、所有権を移転できます。詳細については、「マテリアライズドビューの所有者を変更する」および「ストリーミング テーブルの所有者を変更する」を参照してください。

LakeFlow Pipelinesで作成されたマテリアライズドビューおよびストリーミングテーブルは、所有権を直接転送することはできません。代わりに、データセットを所有するパイプラインの実行ユーザーを変更します。次回の更新で、所有者は実行ユーザーになります。実行ユーザーを設定するを参照してください。

  1. Databricks ワークスペースで、データアイコン。 カタログ をクリックします。

  2. カタログ、スキーマ、テーブル、ビュー、外部ロケーション、ストレージ資格情報などのオブジェクトを選択します。

    オブジェクトへの移動方法は、そのオブジェクトによって異なります。左側の カタログ ウィンドウで、カタログ、スキーマ、およびスキーマ(テーブルやボリュームなど)のコンテンツを選択できます。カタログペインの上にある歯車アイコン。歯車アイコンをクリックし、メニューからオブジェクトカテゴリを選択すると、外部ロケーションやOpenSharing共有などの他のオブジェクトを見つけることができます。

    ほとんどのオブジェクトの場合、所有者はオブジェクト詳細ページの 「概要」 タブに表示されます。外部ロケーションなどの一部のオブジェクトについては、オブジェクト詳細ページの上部に表示されます。

  3. クリック編集アイコン 所有者 の横にある編集アイコン。

  4. グループ、ユーザー、またはサービスプリンシパルを検索して選択します。

  5. 保存 をクリックします。