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
または受信者の所有者) の両方に対する委任されたアクセス許可または所有権。
受信者を共有に追加するには (共有の画面からスタート):
Databricks ワークスペースで、[ カタログ] をクリックします 。
左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。
[共有] タブで、共有を見つけて選択します。
[ 受信者の追加] をクリックします。
[ 受信者の追加 ] ダイアログで、受信者名の入力を開始するか、ドロップダウン メニューをクリックして共有に追加する受信者を選択します。
[追加] をクリックします。
受信者に共有アクセスを許可するには (受信者から開始):
Databricks ワークスペースで、[ カタログ] をクリックします 。
左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。
[ 受信者] タブで、受信者を見つけて選択します。
[ 共有の付与] をクリックします。
[ 共有の付与] ダイアログで、共有名の入力を開始するか、ドロップダウン メニューをクリックして付与する共有を選択します。
[ 許可] をクリックします。
ノートブックまたは 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
権限を持つユーザー、またはオブジェクト所有者の共有。
共有の画面からスタートして、受信者の共有へのアクセスを取り消すには:
Databricks ワークスペースで、[ カタログ] をクリックします 。
左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。
[共有] タブで、共有を見つけて選択します。
[ 受信者] タブで、受信者を見つけます。
ケバブメニュー(3ドットメニューとも呼ばれます)をクリックし、[取り消し]を選択します。
確認ダイアログで、[ 取り消し] をクリックします。
受信者の共有へのアクセスを取り消すには、その受信者から開始します。
Databricks ワークスペースで、[ カタログ] をクリックします 。
左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。
[ 受信者] タブで、受信者を見つけて選択します。
[共有] タブで、共有を見つけます。
共有の行のケバブメニュー(3ドットメニューとも呼ばれます)をクリックし、[取り消し]を選択します。
確認ダイアログで、[ 取り消し] をクリックします。
ノートブックまたは 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
権限を持つユーザー、または受信者オブジェクトの所有者である必要があります。
共有へのアクセス権を持つ受信者を表示するには:
Databricks ワークスペースで、[ カタログ] をクリックします 。
左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。
[共有] タブで、共有を見つけて選択します。
[ 受信者 ] タブに移動して、共有にアクセスできるすべての受信者を表示します。
ノートブックまたは 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 コマンドを使用できます。
受信者に付与された共有を表示するには:
Databricks ワークスペースで、[ カタログ] をクリックします 。
左側のウィンドウで、[ Delta Sharing ] メニューを展開し、[ 自分が共有] を選択します。
[ 受信者] タブで、受信者を見つけて選択します。
[共有] タブに移動して、受信者がアクセスできるすべての共有を表示します。
ノートブックまたは Databricks SQL クエリー エディターで次のコマンドを実行します。
SHOW GRANTS TO RECIPIENT <recipient-name>;
Databricks CLI を使用して次のコマンドを実行します。
databricks unity-catalog recipients list-permissions --name <recipient-name>