メインコンテンツまでスキップ

Delta Sharing (Databricks-to-Databricks共有) のデータ受信者を作成および管理する

このページでは、 受信者が Unity Catalog に対して有効になっている Databricks ワークスペース上にいる場合に、Delta Sharing で受信者を作成および管理する方法について説明します。

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

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

必要条件

受取人を作成するには:

  • メタストア管理者であるか、共有するデータが登録されている Unity Catalog メタストアの CREATE_RECIPIENT 特権を持っている必要があります。
  • 受信者は、その Unity Catalog メタストアがアタッチされている Databricks ワークスペースを使用して作成する必要があります。
  • Databricks ノートブックを使用して受信者を作成する場合、コンピュートは Databricks Runtime 11.3 LTS 以降を使用し、標準または専用アクセス モード (以前の共有およびシングル ユーザー アクセス モード) を使用する必要があります。

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

Databricksへのアクセス権を持つユーザーの受信者オブジェクトを作成する(Databricks-to-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 の例

受信者は、使用するワークスペースの Unity-Catalog 対応コンピュートで実行される ノートブックまたは クエリの Catalog Explorer、DatabricksUnity CatalogCLI 、または デフォルトSQL 関数 を使用して識別子を見つけることができます。CURRENT_METASTOREDatabricksDatabricks SQL

Catalog Explorer を使用して共有識別子を取得するには:

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

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 共有先] タブで、右上にある Databricks 共有組織名をクリックし、[ 共有識別子のコピー ] を選択します。

この手順に含まれる情報を受信者に送信するか、Databricks-to-Databricksモデルで [アクセスを取得する] にポイントすることができます。

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

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

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

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

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 自分が共有] タブで、[ 新しい受信者 ] をクリックします。

  4. 受信者名 を入力します。

  5. [受信者の種類 ] で、 [Databricks ] を選択します。

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

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

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

  8. 作成 をクリックします。

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

    受信者 の「概要」タブで、「 受信者のプロパティ 」の横にある編集アイコン 編集アイコンをクリックします。次に、プロパティ名 ( キー ) と を追加します。詳細については、「 受信者のプロパティの管理」を参照してください。

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

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

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

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

必要な権限 : 次のいずれかです。

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

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

受信者を表示する

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

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

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

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 自分が共有したユーザー ] タブで、[ 受信者] をクリックします。

受信者の詳細を表示する

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

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

詳細は次のとおりです。

  • 受信者の作成者、作成タイムスタンプ、コメント、および認証タイプ(TOKEN または DATABRICKS)。
  • 受信者がオープン共有を使用している場合: トークンの有効期間、アクティベーション リンク、アクティベーション ステータス (資格情報がダウンロードされたかどうか)、IP アクセス リスト (割り当てられている場合)。
  • 受信者が Databricks 間の共有を使用している場合: 受信者の Unity Catalog メタストアのクラウド、リージョン、メタストア ID、およびアクティベーションの状態。
  • 受信者のプロパティ (カスタム プロパティを含む)。 受取人のプロパティの管理を参照してください
  1. Databricks ワークスペースで、カタログアイコン カタログ をクリックします。

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 自分が共有したユーザー ] タブで、[ 受信者] をクリックし、受信者を選択します。

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

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

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

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

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 自分が共有したユーザー ] タブで、[ 受信者] をクリックし、受信者を選択します。

  4. [ 共有 ] タブに移動して、受信者と共有されている共有の一覧を表示します。

受信者を更新する

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

更新できるプロパティには、受信者名、所有者、コメント、およびカスタム プロパティが含まれます。

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

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

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 自分が共有したユーザー ] タブで、[ 受信者] をクリックし、受信者を選択します。

  4. 受信者の詳細ページで、次の操作を行います。

    • 所有者を更新します。

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

    • 受信者の名前を変更します。

      ケバブメニューケバブメニューをクリックし、[ 名前の変更 ]を選択します。

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

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

    • トークン認証された受信者のみ:

    • OIDC フェデレーション受信者のみ:

      • [OIDC フェデレーション ポリシー ] で、[ ポリシーの追加 ] をクリックします。リンクを参照してください。
      • 受信者エンドポイント受信者 MTLS エンドポイント を表示およびコピーします。

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

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

受取人のプロパティを管理します

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

  • 異なるテーブルパーティションを異なる受信者と共有することで、複数の受信者と同じ共有を使用しながら、それらの受信者間のデータ境界を維持できます。
  • 受信者のプロパティに基づいて、受信者がテーブルデータにアクセスするのを行または列レベルで制限する動的ビューを共有します。

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

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

  • databricks.accountId:データ受信者が所属する Databricks アカウント(Databricks-to-Databricks 共有のみ)。
  • databricks.metastoreId: データ受信者が属する Unity Catalog メタストア (Databricks間共有のみ)。
  • databricks.name: データ受信者の名前。

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

必要条件

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

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

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

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

カタログエクスプローラを使用して受信者 を作成 または 更新 する場合は、次の操作を行ってカスタムプロパティを追加または更新します。

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

    新しい受信者を作成する場合は、「 作成 」をクリックすると、このページが表示されます。既存の受信者を更新する場合は、歯車アイコン Delta Sharing > Shared by me > Recipients > 歯車アイコン をクリックし、受信者を選択して、このページに移動します。

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

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

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

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

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

受取人のプロパティを表示するには、「受取人の詳細を表示する」の指示に従ってください。

受取人を削除する

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

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

必要な権限 : 受信者オブジェクトの所有者。

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

  2. [カタログ ] ウィンドウの上部にある [歯車アイコン] 歯車アイコンをクリックし、[ Delta Sharing ] を選択します。

    または、[ クイック アクセス ] ページで [Delta Sharing > ] ボタンをクリックします。

  3. [ 自分が共有したユーザー ] タブで、[ 受信者] をクリックし、受信者を選択します。

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

  5. ケバブメニューケバブメニューをクリックし、[ 削除 ]を選択します。

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