Delta Sharing データ共有へのアクセスを許可および管理する (プロバイダーの場合)

この記事では、データ受信者に Delta Sharing 共有へのアクセスを許可する方法について説明します。 また、アクセスの表示、更新、取り消し方法についても説明します。

必要条件

データを受信者と共有するには:

  • Unity Catalog メタストアがアタッチされている Azure Databricks ワークスペースを使用する必要があります。
  • Unity Catalog 対応のクラスター アクセス モードを使用する SQL ウェアハウスまたはクラスターを使用する必要があります。
  • 共有と受信者が既に定義されている必要があります。
  • 次のいずれかである必要があります。
    • メタストア管理者。
    • 共有オブジェクトと受信者オブジェクトの両方に対する委任されたアクセス許可または所有権 ((USE SHARE + SET SHARE PERMISSION) または共有所有者) かつ (USE RECIPIENT または受信者所有者) を持つユーザー。

共有へのアクセスを受信者に許可する

共有へのアクセスを受信者に許可するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックまたは Databricks SQL クエリ エディターで SQL コマンドを使用できます。

必要なアクセス許可: 次のいずれか。

  • メタストア管理者。
  • 共有オブジェクトと受信者オブジェクトの両方に対する委任されたアクセス許可または所有権 ((USE SHARE + SET SHARE PERMISSION) または共有所有者) かつ (USE RECIPIENT または受信者所有者)。

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

共有に受信者を追加するには (共有から開始):

  1. Azure Databricks ワークスペースで、Catalog iconカタログ をクリックします。
  2. 左側のペインで、[Delta Sharing] メニューを展開し、[自分と共有] を選択します。
  3. [共有] タブで、共有を見つけて選択します。
  4. [受信者の追加] をクリックします。
  5. [受信者の追加] ダイアログで、受信者名の入力を開始するか、ドロップダウン メニューをクリックして共有に追加する受信者を選択します。
  6. [追加] をクリックします。

共有へのアクセスを受信者に許可するには (受信者から開始):

  1. Azure Databricks ワークスペースで、Catalog iconカタログ をクリックします。
  2. 左側のペインで、[Delta Sharing] メニューを展開し、[自分と共有] を選択します。
  3. [受信者] タブで、受信者を見つけて選択します。
  4. [Grant share] (共有の許可) をクリックします。
  5. [Grant share] (共有の許可) ダイアログで、共有名の入力を開始するか、ドロップダウン メニューをクリックして許可する共有を選択します。
  6. [許可] をクリックします。

Sql

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

GRANT SELECT ON SHARE <share-name> TO RECIPIENT <recipient-name>;

SELECT は、共有上の受信者に許可できる唯一の権限です。

Cli

以下を含む JSON ファイルを作成し、recipient-name を置き換えます。 SELECT は、共有で許可できる唯一の権限です。

{
  "privilege_assignments": [{
    "principal": "recipient-name",
    "privileges": [
      "SELECT"
    ]
  }]
}

次に、Databricks CLI を使用して次のコマンドを実行します。 <share-name> を受信者に許可する共有の名前に置き換え、update-share-perms.json を JSON ファイルのファイル名に置き換えます。

databricks unity-catalog shares update-permissions --name <share-name> \
                                --json-file update-share-perms.json

共有への受信者のアクセスを取り消す

共有への受信者のアクセスは、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックまたは Databricks SQL クエリ エディターで REVOKE ON SHARE SQL コマンドを使用して取り消せます。

必要なアクセス許可: メタストア管理者、USE SHARE 特権を持つユーザー、または共有オブジェクト所有者。

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

共有への受信者のアクセスを取り消すには、共有から開始します。

  1. Azure Databricks ワークスペースで、Catalog iconカタログ をクリックします。
  2. 左側のペインで、[Delta Sharing] メニューを展開し、[自分と共有] を選択します。
  3. [共有] タブで、共有を見つけて選択します。
  4. [受信者] タブで、受信者を見つけます。
  5. Kebab menu ケバブ メニュー (3 つのドット メニューとも呼ばれる) をクリックして、[取り消す] を選択します。
  6. 確認のダイアログ ボックスで [取り消す] をクリックします。

共有への受信者のアクセス権を取り消すには、受信者から開始します。

  1. Azure Databricks ワークスペースで、Catalog iconカタログ をクリックします。
  2. 左側のペインで、[Delta Sharing] メニューを展開し、[自分と共有] を選択します。
  3. [受信者] タブで、受信者を見つけて選択します。
  4. [共有] タブで、共有を見つけます。
  5. 共有行の Kebab menu ケバブ メニュー (3 つのドット メニューとも呼ばれる) をクリックし、[取り消す] を選択します。
  6. 確認のダイアログ ボックスで [取り消す] をクリックします。

Sql

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

REVOKE SELECT ON SHARE <share-name> FROM RECIPIENT <recipient-name>;

Cli

以下を含む JSON ファイルを作成し、recipient-name を置き換えます。

{
  "changes": [{
    "principal": "recipient-name",
    "remove": ["SELECT"]
  }]
}

Databricks CLI を使用して次のコマンドを実行します。 <share-name> を受信者に許可する共有の名前に置き換え、update-share-perms.json を JSON ファイルのファイル名に置き換えます。

databricks unity-catalog shares update-permissions --name <share-name> --json-file update-share-perms.json

共有に対する許可または受信者が所有する許可を表示する

共有に対する現在の許可は、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックまたは Databricks SQL クエリ エディターで SHOW GRANTS ON SHARE SQL コマンドを使用して表示できます。

必要なアクセス許可: 共有へのアクセスを許可された受信者を表示する場合は、メタストア管理者、USE SHARE 特権を持つユーザー、または共有オブジェクト所有者である必要があります。 受信者に許可された共有を表示する場合は、メタストア管理者、USE RECIPIENT 特権を持つユーザー、または受信者オブジェクト所有者である必要があります。

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

共有へのアクセス権を持つすべての受信者を表示します。

  1. Azure Databricks ワークスペースで、Catalog iconカタログ をクリックします。
  2. 左側のペインで、[Delta Sharing] メニューを展開し、[自分と共有] を選択します。
  3. [共有] タブで、共有を見つけて選択します。
  4. [受信者] タブに移動して、共有にアクセスできるすべての受信者を表示します。

Sql

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

SHOW GRANT ON SHARE <share-name>;

CLI

Databricks CLI を使用して次のコマンドを実行します。

databricks unity-catalog shares list-permissions --name <share-name>

受信者が所有する現在の許可は、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Azure Databricks ノートブックまたは Databricks SQL クエリ エディターで SHOW GRANTS TO RECIPIENT SQL コマンドを使用して表示できます。

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

受信者に許可された共有を表示するには:

  1. Azure Databricks ワークスペースで、Catalog iconカタログ をクリックします。
  2. 左側のペインで、[Delta Sharing] メニューを展開し、[自分と共有] を選択します。
  3. [受信者] タブで、受信者を見つけて選択します。
  4. [共有] タブに移動して、受信者がアクセスできるすべての共有を表示します。

Sql

ノートブックまたは Databricks SQL クエリ エディターで次のコマンドを実行します。

SHOW GRANTS TO RECIPIENT <recipient-name>;

CLI

Databricks CLI を使用して次のコマンドを実行します。

databricks unity-catalog recipients list-permissions --name <recipient-name>