Delta Sharing のデータ受信者の作成と管理

この記事では、 Delta Sharingの受信者を作成および管理する方法について説明します。

受信者は、共有データを使用する現実世界のユーザーまたはユーザーのグループの ID を表す名前付きオブジェクトです。 受信者を作成する方法は、受信者が Unity Catalogが有効になっている Databricks ワークスペースにアクセスできるかどうかによって異なります。

  • Unity Catalogが有効になっている Databricks ワークスペースにアクセスできる受信者の場合、Databricks によって完全に管理されるセキュリティで保護された接続を使用して受信者オブジェクトを作成できます。この共有モードは 、Databricks間共有と呼ばれます。

  • Unity Catalogが有効になっている Databricks ワークスペースにアクセスできない受信者の場合は、トークンベースの認証を使用して管理するセキュリティで保護された接続で 、オープン共有を使用する必要があります。

これら 2 つの共有モードの詳細と、どちらを選択するタイミングについては、「 オープン共有と Databricks 間共有」を参照してください。

要件

受信者を作成するには:

  • メタストア管理者であるか、共有するデータが登録されている Unity Catalog メタストアに対する CREATE_RECIPIENT 権限を持っている必要があります。

  • 受信者は、その Unity Catalog メタストアがアタッチされている Databricks ワークスペースを使用して作成する必要があります。

  • Databricks ノートブックを使用して受信者を作成する場合、クラスターでは Databricks Runtime 11.3 LTS 以上を使用し、共有またはシングルユーザー クラスター アクセス モードを使用する必要があります。

その他の受信者管理操作 (表示、削除、更新、共有への受信者アクセスの許可など) については、この記事の操作固有のセクションに記載されているアクセス許可の要件を参照してください。

Databricks にアクセスできるユーザーの受信者オブジェクトを作成する (Databricks間共有)

データ受信者が、 Unity Catalogが有効になっているDatabricks ワークスペースにアクセスできる場合は、認証の種類が DATABRICKS の受信者オブジェクトを作成できます。

認証の種類が DATABRICKS の受信者オブジェクトは、特定の Unity Catalog メタストア上のデータ受信者を表し、メタストアのクラウド、リージョン、および UUID で構成される 共有識別子 文字列によって受信者オブジェクト定義で識別されます。 この受信者と共有されているデータには、そのメタストアでのみアクセスできます。

ステップ 1: 受信者の共有識別子 を要求する

受信者ユーザーまたはユーザー グループが共有データを操作するワークスペースにアタッチされている Unity Catalog メタストアの共有識別子を送信するように受信者ユーザーに依頼します。

共有識別子は、メタストアのクラウド、リージョン、および UUID (メタストアの一意の識別子) で構成される文字列で、 <cloud>:<region>:<uuid>の形式です。

たとえば、次のスクリーンショットでは、完全な共有識別子文字列は aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016です。

CURRENT_METASTORE例

受信者は、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Databricks ノートブックの既定の SQL CURRENT_METASTORE 関数、または使用する予定のワークスペース内の Unity カタログ対応クラスターで実行される Databricks SQL クエリーを使用して識別子を見つけることができます。

カタログ エクスプローラーを使用して共有識別子を取得するには:

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

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

  3. [プロバイダー] タブの上にある [ 共有識別子 のコピー] アイコンをクリックします。

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

SELECT CURRENT_METASTORE();

Databricks CLI を使用して次のコマンドを実行します。共有識別子は global_metastore_idとして返されます。

databricks unity-catalog metastores get-summary

このステップに含まれる情報を連絡先に送信するか、 Databricks間共有モデルで [アクセスを取得する] を指定することで、受信者を支援することができます。

ステップ 2: 受信者 を作成する

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

必要なアクセス許可: メタストア管理者、または共有するデータが登録されている Unity Catalog メタストアに対する CREATE_RECIPIENT 権限を持つユーザー。

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

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

  3. [ 新しい受信者] をクリックします。

  4. 受信者 と共有 識別子を入力します。

    共有識別子文字列全体を <cloud>:<region>:<uuid>の形式で使用します。 たとえば、 aws:us-west-2:19a84bee-54bc-43a2-87de-023d0ec16016.

  5. (オプション)コメントを入力します。

  6. [作成]をクリックします。

  7. (オプション)カスタム 受信者プロパティを作成します。

    [ プロパティの編集] > [+ プロパティの追加] をクリックします。 次に、プロパティ名 (キー) と を追加します。 詳細については、「 受信者のプロパティを管理する」を参照してください。

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

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
USING ID '<sharing-identifier>'
[COMMENT "<comment>"];

共有識別子文字列全体を <cloud>:<region>:<uuid>の形式で使用します。 たとえば、 aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

受信者のカスタム プロパティを追加することもできます。 詳細については、「 受信者のプロパティを管理する」を参照してください。

Databricks CLI を使用して次のコマンドを実行します。プレースホルダー値を置き換えます。

  • <recipient-name>: 受信者の名前。

  • <sharing-identifier>: <cloud>:<region>:<uuid>形式の共有識別子文字列全体。 たとえば、 aws:eu-west-1:g0c979c8-3e68-4cdf-94af-d05c120ed1ef.

databricks unity-catalog recipients create --name <recipient-name> --sharing-id <sharing-identifier>

受信者のカスタム プロパティを追加することもできます。 詳細については、「 受信者のプロパティを管理する」を参照してください。

受信者は DATABRICKSauthentication_type で作成されます。

他のすべてのユーザーの受信者オブジェクトを作成する (オープン共有)

Databricks ワークスペースの外部のユーザーとデータを共有する場合は、ユーザーが Databricks 自体を使用しているかどうかに関係なく、オープン Delta Sharing を使用してデータを安全に共有できます。 仕組みは次のとおりです。

  1. データ プロバイダーは、 Unity Catalog メタストアに受信者オブジェクトを作成します。

  2. 受信者オブジェクトを作成すると、Databricks によってトークン、トークンを含む資格情報ファイル、および受信者と共有するためのアクティベーションリンクが生成されます。 受信者オブジェクトの認証の種類は TOKENです。

  3. 受信者は、アクティベーションリンクにアクセスし、資格情報ファイルをダウンロードし、資格情報ファイルを使用して、アクセス権を付与した共有に含めるテーブルを認証し、読み取りアクセスを取得します。

ステップ 1: 受信者 を作成する

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

必要なアクセス許可: メタストア管理者、または共有するデータが登録されている Unity Catalog メタストアに対する CREATE_RECIPIENT 権限を持つユーザー。

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

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

  3. [ 新しい受信者] をクリックします。

  4. 受信者 名を入力

  5. (オプション)コメントを入力します。

  6. [作成]をクリックします。

    オープン共有受信者の共有識別子は使用しません。

  7. (オプション)カスタム 受信者プロパティを作成します。

    [ プロパティの編集] > [+ プロパティの追加] をクリックします。 次に、プロパティ名 (キー) と を追加します。 詳細については、「 受信者のプロパティを管理する」を参照してください。

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

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[COMMENT "<comment>"];

受信者のカスタム プロパティを追加することもできます。 詳細については、「 受信者のプロパティを管理する」を参照してください。

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

databricks unity-catalog recipients create --name <recipient-name>

受信者のカスタム プロパティを追加することもできます。 詳細については、「 受信者のプロパティを管理する」を参照してください。

出力には、受信者と共有する activation_url が含まれます。

受信者は TOKENauthentication_type で作成されます。

受信者を作成するときに、受信者のアクセスを制限された IP アドレスのセットに制限するオプションがあります。 また、既存の受信者に IP アクセス リストを追加することもできます。 「IP アクセス リストを使用してDelta Sharing受信者のアクセスを制限する (オープン共有)」を参照してください。

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

受信者を作成して共有を作成したら、受信者にそれらの 共有へのアクセス権を付与できます。

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

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

  • メタストア管理者。

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

手順については、 「Delta Sharing データ共有へのアクセスの管理 (プロバイダー向け)」を参照してください。

受信者に接続情報を送信する

共有しているデータへのアクセス方法を受信者に知らせる必要があります。 受信者と共有する情報は、Databricks 間共有とオープン共有のどちらを使用しているかによって異なります。

受信者 の表示

受信者の一覧を表示するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリー エディターの SHOW RECIPIENTS SQL コマンドを使用できます。

必要なアクセス許可: メタストア管理者であるか、メタストア内のすべての受信者を表示する USE RECIPIENT 権限を持っている必要があります。 他のユーザーは、自分が所有する受信者にのみアクセスできます。

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

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

  3. [ 受信者] タブを開きます。

ノートブックまたは Databricks SQL クエリー エディターで次のコマンドを実行します。 必要に応じて、 <pattern> 'LIKE' 述語に置き換えます。

SHOW RECIPIENTS [LIKE <pattern>];

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

databricks unity-catalog recipients list

受信者の詳細 を表示する

受信者に関する詳細を表示するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリー エディターの DESCRIBE RECIPIENT SQL コマンドを使用できます。

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

詳細は次のとおりです。

  • 受信者の作成者、作成タイムスタンプ、コメント、および認証の種類 (TOKEN または DATABRICKS)。

  • 受信者がオープン共有を使用している場合:トークンの有効期間、アクティベーションリンク、アクティベーションステータス(クレデンシャルがダウンロードされているかどうか)、およびIPアクセスリスト(割り当てられている場合)。

  • 受信者が Databricks 間の共有を使用している場合: 受信者の Unity Catalog メタストアのクラウド、リージョン、メタストア ID、およびアクティベーションの状態。

  • 受信者プロパティ (カスタム プロパティを含む)。 「 受信者のプロパティの管理」を参照してください。

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

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

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

  4. [ 詳細 ] タブで受信者の詳細を表示します。

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

DESCRIBE RECIPIENT <recipient-name>;

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

databricks unity-catalog recipients get --name <recipient-name>

受信者の共有権限を表示する

受信者にアクセス権が付与されている共有の一覧を表示するには、カタログ エクスプローラー、Databricks Unity カタログ CLI、または Databricks ノートブックまたは Databricks SQL クエリー エディターの SHOW GRANTS TO RECIPIENT SQL コマンドを使用できます。

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

  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>

受信者 を更新する

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

更新できるプロパティには、受信者名、所有者、コメント、およびカスタム プロパティが含まれます。 「カタログエクスプローラ」(Catalog Explorer) を使用して受信者名を更新することはできません。

必要なアクセス許可: 所有者を更新するには、メタストア管理者または受信者オブジェクトの所有者である必要があります。 名前を更新するには、メタストア管理者 (または CREATE_RECIPIENT 特権を持つユーザー) であり 、所有者である必要があります。 コメントまたはカスタムプロパティを更新するには、所有者である必要があります。

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

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

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

  4. 詳細ページでは、次のことができます。

    • 所有者を更新します。

    • コメントを編集または追加します。

    • カスタム 受信者プロパティを編集、削除、または追加します。

      [ プロパティの編集] をクリックします。 プロパティを追加するには、[ + プロパティの追加 ] をクリックし、プロパティ名 (キー) と [値] を入力します。 詳細については、「 受信者のプロパティを管理する」を参照してください。

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

ALTER RECIPIENT <recipient-name> RENAME TO <new-recipient-name>;

ALTER RECIPIENT <recipient-name> OWNER TO <new-owner>;

COMMENT ON RECIPIENT <recipient-name> IS "<new-comment>";

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( <property-key>  =  property_value [, ...] )

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( <property-key> [, ...] )

プロパティの詳細については、「 受信者のプロパティを管理する」を参照してください。

受信者名、コメント、所有者、IP アクセス リスト、またはカスタム プロパティの更新を含む JSON ファイルを作成します。

{
    "name": "new-recipient-name",
    "owner": "someone-else@example.com",
    "comment": "something new",
    "ip_access_list": {
            "allowed_ip_addresses": ["8.8.8.8", "8.8.8.4/10"]
    },
    "property": {
            "country": "us",
            "id": "001"
    }
}

次に、 Databricks CLI を使用して次のコマンドを実行します。 <recipient-name> を現在の受信者名に置き換え、 update-recipient-settings.json を JSON ファイルのファイル名に置き換えます。

databricks unity-catalog recipients update --name <recipient-name> --json-file update-recipient-settings.json

プロパティの詳細については、「 受信者のプロパティを管理する」を参照してください。

受信者トークンの管理 (オープン共有)

オープン共有を使用して受信者とデータを共有している場合は、その受信者のトークンをローテーションする必要がある場合があります。

次の状況では、受信者の資格情報をローテーションし、新しいアクティベーションリンクを生成する必要があります。

  • 既存の受信者トークンの有効期限が近づいているとき。

  • 受信者がアクティベーション URL を紛失した場合、またはライセンス認証 URL が侵害された場合。

  • 受信者が資格情報をダウンロードした後に資格情報が破損、紛失、または侵害された場合。

  • メタストアの受信者トークンの有効期間を変更する場合。 「 受信者トークンの有効期間を変更する」を参照してください。

トークン のセキュリティに関する考慮事項

受信者は、アクティブなトークンとローテーションされたトークンの 2 つのトークンを持つことができます。 ローテーションされたトークンの有効期限が切れるまで、トークンを再度ローテーションしようとするとエラーが発生します。

受信者のトークンをローテーションする場合、必要に応じて、既存の受信者トークンの有効期限が切れるまでの秒数に --existing-token-expire-in-seconds を設定できます。 値を 0に設定すると、既存の受信者トークンはすぐに期限切れになります。

Databricks では、受信者が 2 つのアクティブなトークンを持つ時間を最小限に抑えながら、受信者組織が新しいアクティベーション URL にアクセスする時間を与える比較的短い期間に --existing-token-expire-in-seconds を設定することをお勧めします。 受信者トークンが侵害された疑いがある場合は、 Databricks 既存の受信者トークンを直ちに期限切れにすることをお勧めします。

受信者の既存のアクティベーション URL が一度もアクセスされておらず、受信者がローテーションされていない場合、受信者をローテーションすると、既存のアクティベーション URL が無効になり、新しいアクティベーション URL に置き換えられます。

すべての受信者トークンの有効期限が切れている場合、受信者をローテーションすると、既存のアクティベーション URL が新しい URL に置き換えられます。 Databricks では、トークンの有効期限が切れた受信者をすぐにローテーションまたは削除することをお勧めします。

受信者のアクティベーションリンクが誤って間違ったユーザーに送信された場合、または安全でない チャネル経由で送信された場合、Databricks では次のことをお勧めします。

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

  2. 受信者をローテーションし、 --existing-token-expire-in-seconds0に設定します。

  3. 新しいアクティベーションリンクを、セキュリティで保護されたチャンネルを介して目的の受信者と共有します。

  4. アクティベーション URL にアクセスしたら、受信者に共有へのアクセス権を再度付与します。

緊急の状況では、受信者のトークンをローテーションする代わりに、 受信者を削除 して再作成できます。

受信者のトークン をローテーションする

受信者のトークンをローテーションするには、カタログ エクスプローラーまたは Databricks Unity Catalog CLI を使用できます。

必要なアクセス許可: 受信者オブジェクトの所有者。

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

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

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

  4. [ 詳細 ] タブの [トークンの有効期限] で、[ ローテーション] をクリックします。

  5. [トークンのローテーション] ダイアログで、トークンがすぐに期限切れになるように、または一定期間期限切れになるように設定します。既存のトークンの有効期限に関するアドバイスについては、「 トークンのセキュリティに関する考慮事項」を参照してください。

  6. [ 回転] をクリックします。

  7. [ 詳細 ] タブで、新しい [アクティベーション] リンクをコピーし、セキュリティで保護されたチャネルを介して受信者と共有します。 「ステップ 2: アクティベーション リンクを取得する」を参照してください。

  1. Unity Catalog CLI を使用して次のコマンドを実行します。括弧内の引数はオプションです。 プレースホルダー値を置き換えます。

    • <recipient-name>: 受信者の名前。

    • <expiration-seconds>:随意。 既存の受信者トークンの有効期限が切れるまでの秒数。 この期間中、既存のトークンは引き続き機能します。 値 0 は、既存のトークンが直ちに期限切れになることを意味します。 既存のトークンの有効期限に関するアドバイスについては、「 トークンのセキュリティに関する考慮事項」を参照してください。

    databricks unity-catalog rotate-recipient-token \
      --name <recipient-name> \
      [--existing-token-expire-in-seconds <expiration-seconds>]
    
  2. 受信者の新しいアクティベーションリンクを取得し、安全なチャンネルを介して受信者と共有します。 「ステップ 2: アクティベーション リンクを取得する」を参照してください。

受信者トークンの有効期間 を変更する

Unity Catalog メタストアの既定の受信者トークンの有効期間を変更する必要がある場合は、カタログ エクスプローラーまたは Databricks Unity Catalog CLI を使用できます。

既存の受信者の受信者トークンの有効期間は、メタストアの既定の受信者トークンの有効期間を変更しても自動的に更新されません。 特定の受信者に新しいトークンの有効期間を適用するには、トークンをローテーションする必要があります。 受信者トークンの管理(オープン共有)を参照してください。

必要な権限: アカウント管理者。

  1. アカウントコンソールにログインします。

  2. サイドバーで [カタログ アイコン カタログ ] をクリックします 。

  3. メタストア名をクリックします。

  4. [ 有効期限の設定] を有効にします。

  5. 秒数、分数、時間数、または日数を入力し、測定単位を選択します。

  6. [ 有効にする] をクリックします。

[ 有効期限の設定] を無効にしても、受信者トークンは期限切れになりません。 Databricks では、トークンの有効期限が切れるように構成することをお勧めします。

メタストアの delta_sharing_recipient_token_lifetime_in_seconds 値の更新を含む JSON ファイルを作成します。 この値を 0に設定すると、受信者トークンは期限切れになりません。 Databricks では、トークンの有効期限が切れるように構成することをお勧めします。

{
  "delta_sharing_recipient_token_lifetime_in_seconds": 86400,
}

次に、 Databricks CLI を使用して次のコマンドを実行します。 12a345b6-7890-1cd2-3456-e789f0a12b34 をメタストア UUID に置き換え、 update-metastore.json を JSON ファイルのファイル名に置き換えます。

databricks unity-catalog metastores update --id 12a345b6-7890-1cd2-3456-e789f0a12b34 \
  --json-file update-metastore.json

(オプション)アクセス リスト を使用して受信者のアクセスを制限する

受信者オブジェクトを構成するときに、受信者のアクセスを制限された IP アドレスのセットに制限できます。 「IP アクセス リストを使用してDelta Sharing受信者のアクセスを制限する (オープン共有)」を参照してください。

受信者のプロパティ を管理する

受信者オブジェクトには、データ共有アクセスを絞り込むために使用できる定義済みのプロパティが含まれています。 たとえば、これらを使用して次の操作を実行できます。

  • 異なるテーブル パーティションを異なる受信者と共有することで、複数の受信者間でデータの境界を維持しながら、複数の受信者で同じ共有を使用できます。

  • 受信者のプロパティに基づいて、行レベルまたは列レベルでテーブルデータへの受信者のアクセスを制限する動的ビューを共有します。

カスタムプロパティを作成することもできます。

定義済みのプロパティは databricks. で始まり、次のものが含まれます。

  • databricks.accountId: データ受信者が属する Databricks アカウント (データブリック間の共有のみ)。

  • databricks.metastoreId: データ受信者が属する Unity Catalog メタストア (Databricks間共有のみ)。

  • databricks.name: データ受信者の名前。

価値を持つ可能性のあるカスタム プロパティには、たとえば countryが含まれます。 例えば、カスタムプロパティ 'country' = 'us' を受信者に添付する場合、テーブルデータを国別にパーティション分割し、米国のデータを含む行のみを、そのプロパティが割り当てられている受信者と共有できます。 また、受信者のプロパティに基づいて行または列のアクセスを制限する動的ビューを共有することもできます。 詳細な例については、「 受信者のプロパティを使用してパーティションのフィルター処理を行う」および「 動的ビューを共有に追加して行と列をフィルター処理する」を参照してください。

要件

受信者プロパティは、 Databricks Runtime 12.2 以降でサポートされています。

受信者 を作成または更新するときにプロパティを追加する

受信者を作成するとき、または既存の受信者のプロパティを更新するときに、プロパティを追加できます。 カタログ エクスプローラー、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリー エディターの SQL コマンドを使用できます。

必要なアクセス許可: メタストア管理者または Unity Catalog メタストアの CREATE RECIPIENT 特権を持つユーザー。

「カタログエクスプローラ」(Catalog Explorer) を使用して 受信者を作成 または更新する場合は、以下の手順に従ってカスタムプロパティを追加または 更新 します。

  1. [受信者の詳細] ページに移動します。

    新しい受信者を作成する場合は、[ 作成] をクリックするとこのページが表示されます。 既存の受信者を更新する場合は、[自分が受信者>共有Delta Sharing >] をクリックし、受信者を選択して、このページに移動します。

  2. [ プロパティの編集] > [+ プロパティの追加] をクリックします。

  3. プロパティ名 (キー) と を入力します。

    たとえば、共有データを国別にフィルター処理し、米国のデータのみをこの受信者と共有する場合は、値 "US" を持つ "country" という名前のキーを作成できます。

  4. [保存]をクリックします。

受信者を作成するときにカスタム プロパティを追加するには、ノートブックまたは Databricks SQL クエリー エディターで次のコマンドを実行します。

CREATE RECIPIENT [IF NOT EXISTS] <recipient-name>
[USING ID '<sharing-identifier>'] /* Skip this if you are using open sharing */
[COMMENT "<comment>"]
PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

<property-key> 文字列リテラルまたは識別子を指定できます。 <property-value> は文字列リテラルである必要があります。

例:

CREATE RECIPIENT acme PROPERTIES ('country' = 'us', 'partner_id' = '001');

既存の受信者のカスタム プロパティを追加、編集、または削除するには、次のいずれかを実行します。

ALTER RECIPIENT <recipient-name> SET PROPERTIES ( '<property-key>' = '<property-value>' [, ...] );

ALTER RECIPIENT <recipient-name> UNSET PROPERTIES ( '<property-key>' );

受信者を作成するときにカスタム プロパティを追加するには、 Databricks CLI を使用して次のコマンドを実行します。 プレースホルダー値を置き換えます。

  • <recipient-name>: 受信者の名前。

  • <property-key> 文字列リテラルまたは識別子を指定できます。

  • <property-value> 文字列リテラルである必要があります。

databricks unity-catalog recipients create --name <recipient-name> --property <property-key>=<property-value>

例:

databricks unity-catalog recipients create --name acme --property country=us --property partner_id=001

既存の受信者のカスタム プロパティを追加または編集するには、 createの代わりに update を使用します。

databricks unity-catalog recipients update --name acme --property country=us --property partner_id=001

受信者のプロパティ を表示する

受信者のプロパティを表示するには、「 受信者の詳細を表示する」の手順に従います。

受信者 を削除する

受信者を削除するには、カタログ エクスプローラー、Databricks Unity Catalog CLI、または Databricks ノートブックまたは Databricks SQL クエリー エディターの DROP RECIPIENT SQL コマンドを使用できます。 受信者を削除するには、受信者オブジェクトの所有者である必要があります。

受信者を削除すると、その受信者が表すユーザーは共有データにアクセスできなくなります。 受信者がオープン共有シナリオで使用するトークンは無効になります。

必要なアクセス許可: 受信者オブジェクトの所有者。

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

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

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

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

  5. 確認ダイアログで、[ 削除] をクリックします。

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

DROP RECIPIENT [IF EXISTS] <recipient-name>;

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

databricks unity-catalog recipients delete --name <recipient-name>