Delta Sharing データ共有へのアクセスを管理する (プロバイダー向け)

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

要件

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

  • Unity Catalog メタストアがアタッチされている Databricks ワークスペースを使用する必要があります。

  • Unity-Catalog 対応のクラスターアクセスモードを使用する SQLウェアハウスまたはクラスターを使用する必要があります。

  • 共有と受信者が既に定義されている必要があります。

  • 次のいずれかである必要があります。

    • メタストア管理者。

    • 共有オブジェクトと受信者オブジェクト (USE SHARE + SET SHARE PERMISSION) または共有の所有者) および (USE RECIPIENT または受信者の所有者) の両方に対する委任されたアクセス許可または所有権を持つユーザー。

共有 へのアクセス権を受信者に付与する

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

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

  • メタストア管理者。

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

受信者を共有に追加するには (共有の画面からスタート):

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

  2. 左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。

  3. [共有] タブで、共有を見つけて選択します。

  4. [ 受信者の追加] をクリックします。

  5. [ 受信者の追加 ] ダイアログで、受信者名の入力を開始するか、ドロップダウン メニューをクリックして共有に追加する受信者を選択します。

  6. [追加] をクリックします。

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

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

  2. 左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。

  3. [ 受信者] タブで、受信者を見つけて選択します。

  4. [ 共有の付与] をクリックします。

  5. [ 共有の付与] ダイアログで、共有名の入力を開始するか、ドロップダウン メニューをクリックして付与する共有を選択します。

  6. [ 許可] をクリックします。

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

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

SELECT は、共有の受信者に付与できる唯一の特権です。

以下を含む 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、または Databricks ノートブックまたは Databricks SQL クエリー エディターの REVOKE ON SHARE SQL コマンドを使用できます。

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

共有の画面からスタートして、受信者の共有へのアクセスを取り消すには:

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

  2. 左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。

  3. [共有] タブで、共有を見つけて選択します。

  4. [ 受信者] タブで、受信者を見つけます。

  5. ケバブメニュー ケバブメニュー(3ドットメニューとも呼ばれます)をクリックし、[取り消し]を選択します。

  6. 確認ダイアログで、[ 取り消し] をクリックします。

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

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

  2. 左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。

  3. [ 受信者] タブで、受信者を見つけて選択します。

  4. [共有] タブで、共有を見つけます。

  5. ケバブメニュー 共有の行のケバブメニュー(3ドットメニューとも呼ばれます)をクリックし、[取り消し]を選択します。

  6. 確認ダイアログで、[ 取り消し] をクリックします。

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

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

以下を含む 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、または Databricks ノートブックまたは Databricks SQL クエリー エディターの SHOW GRANTS ON SHARE SQL コマンドを使用できます。

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

共有へのアクセス権を持つ受信者を表示するには:

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

  2. 左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。

  3. [共有] タブで、共有を見つけて選択します。

  4. [ 受信者 ] タブに移動して、共有にアクセスできるすべての受信者を表示します。

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

SHOW GRANT ON SHARE <share-name>;

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

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

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

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

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

  2. 左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。

  3. [ 受信者] タブで、受信者を見つけて選択します。

  4. [共有] タブに移動して、受信者がアクセスできるすべての共有を表示します。

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

SHOW GRANTS TO RECIPIENT <recipient-name>;

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

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