OpenSharing の共有を管理します
このページでは、Databricks で既存の OpenSharing 共有を表示、更新、および削除する方法について説明します。「共有」は、Unity Catalog 内のセキュリティ保護可能なオブジェクトであり、テーブル、ビュー、ボリューム、ノートブック、AI モデル、およびその他のデータ資産を1人以上の受信者と共有するためにまとめたものです。
新しい共有を作成するか、既存の共有にデータ資産を追加する方法については、OpenSharing の共有を作成を参照してください。受信者に共有へのアクセスを付与するには、「OpenSharing データ共有へのアクセスを管理する (プロバイダー向け)」を参照してください。共有するデータ受信者を管理するには、「OpenSharing のデータ受信者を管理する」を参照してください。
共有モデルの詳細については、共有、プロバイダー、および受信者を参照してください。
要件
完了したい各タスクについて、記載されている要件を満たしていることを確認してください。
タスク | 要件 |
|---|---|
受信者に共有へのアクセス権を付与する |
または
|
共有の表示 |
または
または
|
共有所有者の更新 |
|
共有名の更新 |
|
その他の共有プロパティを更新する |
|
共有を削除 |
|
共有と共有の詳細を表示する
共有と共有の詳細を表示する前に、要件を満たしていることを確認してください。
共有の一覧または共有の詳細を表示するには、カタログエクスプローラ、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリエディターの SQL コマンドを使用します。
共有の詳細には、次のものが含まれます。
- 共有の所有者、作成者、作成タイムスタンプ、更新者、更新タイムスタンプ、コメント。
- 共有のデータアセット。
- 共有へのアクセス権を持つ受信者。
- Catalog Explorer
- SQL
- CLI
-
Databricks ワークスペースで、
カタログ をクリックします。
-
カタログ ウィンドウの上部にある
歯車アイコンをクリックし、 OpenSharing を選択します。
または、[ クイック アクセス ] ページで OpenSharing > ボタンをクリックします。
-
共有リストを表示するには、 共有 タブを開いてください。
-
詳細 タブで共有の詳細を表示します。
共有の一覧を表示するには、ノートブックまたは Databricks SQL クエリー エディターで次のコマンドを実行します。必要に応じて、<pattern>をLIKE述語に置き換えます。
SHOW SHARES [LIKE <pattern>];
特定の共有に関する詳細を表示するには、次のコマンドを実行します。
DESCRIBE SHARE <share-name>;
共有内のすべてのテーブル、ビュー、およびボリュームの詳細を表示するには、次のコマンドを実行します。
SHOW ALL IN SHARE <share-name>;
共有のリストを表示するには、Databricks CLIを使用して次のコマンドを実行します。
databricks shares list
特定の共有に関する詳細を表示するには、次のコマンドを実行します。
databricks shares get <share-name>
共有に対するアクセス許可を持つ受信者を表示する
受信者を表示する前に、要件を満たしていることを確認してください。
受信者にアクセス権が付与されている共有のリストを表示するには、Catalog Explorer、Databricks Unity Catalog CLI、またはDatabricksノートブックもしくはDatabricks SQLクエリエディターのSHOW GRANTS TO RECIPIENT SQLコマンドを使用します。
- Catalog Explorer
- SQL
- CLI
-
Databricks ワークスペースで、
カタログ をクリックします。
-
カタログ ウィンドウの上部にある
歯車アイコンをクリックし、 OpenSharing を選択します。
または、[ クイック アクセス ] ページで OpenSharing > ボタンをクリックします。
-
自分が共有したユーザー タブで、受信者を見つけて選択してください。
-
受信者 タブに移動して、共有にアクセスできる受信者のリストを表示します。
ノートブックまたはDatabricks SQLクエリーエディタで次のコマンドを実行します。
SHOW GRANTS ON SHARE <share-name>;
Databricks CLI を使用して、次のコマンドを実行します。
databricks shares share-permissions <share-name>
共有を更新する
共有を更新する前に、要件を満たしていることを確認してください。
共有を更新するには、次の方法があります:
- 共有の名前を変更します。
- 共有からテーブル、ビュー、ボリューム、スキーマを削除します。
- 共有のコメントを追加または更新。
- テーブルのエイリアス名(受信者に表示されるテーブル名)を変更してください。
- テーブルの履歴データへのアクセスを有効または無効にし、受信者がタイムトラベルクエリーを実行したり、テーブルのストリーミング読み取りを行えるようにします。
- パーティション定義の追加、更新、または削除。
- 共有所有者を変更します。
これらの共有への更新を行うには、カタログエクスプローラ、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリエディターの SQL コマンドを使用できます。ただし、カタログエクスプローラを使用して共有の名前を変更することはできません。
- Catalog Explorer
- SQL
- CLI
-
Databricks ワークスペースで、
カタログ をクリックします。
-
カタログ ウィンドウの上部にある
歯車アイコンをクリックし、 OpenSharing を選択します。
または、[ クイック アクセス ] ページで OpenSharing > ボタンをクリックします。
-
自分が共有 タブで、更新する共有を見つけて、その名前をクリックします。
共有の詳細ページで、次の手順を実行します。
- 所有者またはコメントフィールドの横にある
編集アイコンをクリックして、これらの値を更新します。
- アセット行のケバブメニュー
ボタンをクリックして削除します。
- アセットの管理 > アセットの編集 をクリックして、その他すべてのプロパティを更新します。
- アセットを削除するには、アセットの横にあるチェックボックスをオフにしてください。
- パーティション定義の追加、更新、または削除を行うには、**詳細オプション**をクリックします。
ノートブックまたはDatabricks SQLエディタで次のコマンドを実行してください。
共有の名前を変更:
ALTER SHARE <share-name> RENAME TO <new-share-name>;
共有からテーブルを削除:
ALTER SHARE share_name REMOVE TABLE <table-name>;
共有からボリュームを削除:
ALTER SHARE share_name REMOVE VOLUME <volume-name>;
共有へのコメントの追加または更新:
COMMENT ON SHARE <share-name> IS '<comment>';
共有内のテーブルのパーティションを追加または変更:
ALTER SHARE <share-name> ADD TABLE <table-name> PARTITION(<clause>);
共有の所有者を変更:
ALTER SHARE <share-name> OWNER TO '<principal>'
-- Principal must be an account-level user email address or group name.
テーブル履歴の共有を有効にします。
ALTER SHARE <share-name> ADD TABLE <table-name> WITH HISTORY;
ALTER SHAREパラメーターの詳細については、ALTER SHAREを参照してください。
Databricks CLI を使用して、次のコマンドを実行します。
共有の名前を変更:
databricks shares update <share-name> --name <new-share-name>
共有からテーブルを削除:
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<table-full-name>",
"data_object_type": "TABLE",
"shared_as": "<table-alias>"
}
}
]
}'
共有からボリュームを削除する(Databricks CLI 0.210以降を使用する場合):
databricks shares update <share-name> \
--json '{
"updates": [
{
"action": "REMOVE",
"data_object": {
"name": "<volume-full-name>",
"data_object_type": "VOLUME",
"string_shared_as": "<volume-alias>"
}
}
]
}'
ボリュームのエイリアスがない場合は、name プロパティを使用します。エイリアスがある場合は string_shared_as を使用します。
共有へのコメントの追加または更新:
databricks shares update <share-name> --comment '<comment>'
共有の所有者を変更:
databricks shares update <share-name> --owner '<principal>'
プリンシパルは、アカウントレベルのユーザーの Eメールアドレスまたはグループ名である必要があります。
共有所有者を更新する際の考慮事項
共有所有者が誰であるかによって、ABACポリシーなどの認可およびセキュリティ機能がどのように評価されるかが決まります。ABACポリシーによって保護されたテーブルまたはスキーマがある場合、過剰な権限を持つユーザーに共有所有権を譲渡すると、受信者は過剰な権限を持つアクセスが可能になります。
共有を削除
共有を削除すると、受信者は共有データにアクセスできなくなります。共有オブジェクトを削除する前に、要件を満たしていることを確認してください。
共有を削除するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリー エディターの DELETE SHARE SQL コマンドを使用します。共有の所有者である必要があります。
- Catalog Explorer
- SQL
- CLI
-
Databricks ワークスペースで、
カタログ をクリックします。
-
カタログ ウィンドウの上部にある
歯車アイコンをクリックし、 OpenSharing を選択します。
または、[ クイック アクセス ] ページで OpenSharing > ボタンをクリックします。
-
自分が共有 タブで、削除する共有を見つけて、その名前をクリックします。
-
ケバブメニューをクリックし、 削除 を選択します。
-
確認ダイアログで、 [削除] をクリックします。
ノートブックまたはDatabricks SQLクエリーエディタで次のコマンドを実行します。
DROP SHARE [IF EXISTS] <share-name>;
Databricks CLI を使用して、次のコマンドを実行します。
databricks shares delete <share-name>