次の方法で共有


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

Unity Catalog 内のセキュリティ保護が可能なオブジェクトのそれぞれに所有者が存在します。 所有者には、任意のプリンシパル (ユーザー、サービス プリンシパル、またはアカウント グループ) を指定できます。 オブジェクトを作成するプリンシパルが、その最初の所有者になります。 オブジェクト所有者は、他のプリンシパルに特権を付与する権限に加えて、テーブルに対する SELECTMODIFY など、オブジェクト上のすべての特権を持っています。 オブジェクトの所有者は、オブジェクトを削除することができます。

所有者特権

オブジェクトの所有者には、そのオブジェクに対するすべての特権が自動的に付与されます。 さらに、オブジェクト所有者は、オブジェクト自体とそのすべての子オブジェクトに特権を付与できます。 つまり、スキーマの所有者は、スキーマ内のテーブルに対するすべての権限を自動的に持つわけではありませんが、スキーマ内のテーブルに対する権限を自身に付与できます。

メタストアとカタログの所有権

メタストア管理者は、メタストアの所有者です。 メタストア管理者ロールはオプションです。 メタストア管理者は、メタストア管理者ロールを譲渡することでメタストアの所有権を再割り当てできます。「メタストア管理者を割り当てる」を参照してください。

ワークスペースで Unity Catalog が自動的に有効になっている場合、ワークスペースは既定でメタストアにアタッチされ、メタストア内のワークスペース用にワークスペース カタログが作成されます。 ワークスペース管理者は、ワークスペース カタログの既定の所有者であり、その所有権を再割り当てすることができます。 これらのワークスペースでは、既定ではメタストア管理者は割り当てされていませんが、必要に応じてアカウント管理者がメタストア管理者のアクセス許可を付与できます。 「メタストア管理者」を参照してください。

Unity Catalog での管理特権の詳細については、「Unity Catalog の管理特権」を参照してください。

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

カタログ エクスプローラー

  1. Azure Databricks ワークスペースで、カタログ アイコンカタログ をクリックします。
  2. カタログ、スキーマ、テーブル、ビュー、ボリューム、外部の場所、ストレージ資格情報などのオブジェクトを選択します。
  3. [アクセス許可] をクリックします。

Sql

ノートブックまたは SQL クエリ エディターで次のコマンドを実行します。 プレースホルダー値を次のように置き換えます。

  • <securable-type>: CATALOGTABLE など、セキュリティ保護可能なリソースの種類。
  • <catalog>: テーブルまたはビューの親カタログ。
  • <schema>: テーブルまたはビューの親スキーマ。
  • <securable-name>: テーブルやビューなど、セキュリティ保護可能なリソースの名前。
DESCRIBE <securable-type> EXTENDED <catalog>.<schema>.<securable-name>;

所有権の移転

オブジェクトの所有権は、現在の所有者、メタストア管理者、またはコンテナー (スキーマの場合はカタログ、テーブルの場合はスキーマ) の所有者によって、他のプリンシパルに譲渡することができます。 Delta Sharing の共有オブジェクトは例外です。USE SHARESET SHARE PERMISSION を持つプリンシパルは、共有の所有権を譲渡することもできます。

カタログ エクスプローラー

  1. Azure Databricks ワークスペースで、カタログ アイコンカタログ をクリックします。
  2. カタログ、スキーマ、テーブル、ビュー、外部の場所、ストレージ資格情報などのオブジェクトを選択します。
  3. [アクセス許可] をクリックします。
  4. [所有者] の横にある青い鉛筆をクリックします。
  5. ドロップダウン リストからグループ、ユーザー、またはサービス プリンシパルを選択します。
  6. [保存] をクリックします。

Sql

ノートブックまたは SQL クエリ エディターで次のコマンドを実行します。 プレースホルダー値を次のように置き換えます。

  • <securable-type>: CATALOGTABLE などのセキュリティ保護可能なオブジェクトの型。 このコマンドでは、METASTORE はセキュリティ保護可能なオブジェクトとしてサポートされていません。

    • <securable-name>: セキュリティ保護可能なリソースの名前。
    • <principal> は、ユーザー、サービス プリンシパル (applicationId 値で表される)、またはグループです。 特殊文字を含むユーザー、サービス プリンシパル、およびグループ名は、バックティック (` `) で囲む必要があります。 「プリンシパル」を参照してください。
    ALTER <securable-type> <securable-name> OWNER TO <principal>;
    

    たとえば、テーブルの所有権を accounting グループに譲渡するには、次のようにします。

    ALTER TABLE orders OWNER TO `accounting`;