次の方法で共有


アカウントの Delta Sharing を設定する (プロバイダーの場合)

このページでは、データ プロバイダー (差分共有を使用してデータを安全に共有する組織) 用に Azure Databricks で差分共有を設定する方法について説明します。

データ受信者 (デルタ共有を使用して共有されているデータを受信する組織) の場合は、「Databricks-to-Databricks Delta Sharing を使用して共有されるデータの読み取り (受信者向け)」を参照してください。

重要

デルタシェアリングには、Unity カタログが有効なワークスペースが必要です。 共有管理用の Unity カタログ対応ワークスペースを 1 つ作成できます。 一部のアカウントでは、新しいワークスペースで Unity Catalog が自動的に有効になります。 「Unity Catalog の自動有効化」を参照してください。

新しい Unity カタログ対応ワークスペースを作成するオプションがない場合は、 オープンソースの Delta Sharing プロジェクト を使用して、独自の Delta Sharing サーバーをデプロイして、任意のプラットフォームから Delta テーブルを共有できます。

プロバイダーの初期セットアップの手順は、次のとおりです。

  1. Unity Catalog メタストアのDelta Sharing を有効にします。
  2. (省略可能) Unity Catalog CLI のインストール。
  3. 共有と受信者を作成して管理する権限を付与します。
  4. Delta Sharing アクティビティの監査を構成します。
  5. データのマテリアライズのタイム・トゥ・リブ (TTL) を構成します。
  6. ストレージ ネットワーク アクセスを構成します。

必要条件

Azure Databricks アカウントを設定してデータを共有できるようにするデータ プロバイダーは、以下を所有している必要があります。

  • Unity Catalog が有効になっている少なくとも 1 つの Azure Databricks ワークスペース。

    Delta Sharing プロバイダーに対する Databricks のサポートを利用するために、すべてのワークスペースを Unity Catalog に移行する必要はありません。 「Delta Sharing を使用するには Unity Catalog が必要ですか?」を参照してください。

    受信者は、Unity Catalog 対応のワークスペースを持っている必要はありません。

  • Unity Catalog メタストアの Delta Sharing を有効にし、監査ログを有効にするためのアカウント管理者ロール。

  • メタストア管理者ロール、または CREATE SHARECREATE RECIPIENT の特権。 「管理者ロール」を参照してください。

    注記

    ワークスペースで Unity Catalog が自動的に有効になっている場合は、メタストア管理者がいない可能性があります。ただし、このようなワークスペースのワークスペース管理者は、既定でメタストアに対する CREATE SHARECREATE RECIPIENT の特権を持っています。

    詳しくは、「Unity Catalog の自動有効化」と「ワークスペースで Unity Catalog が自動的に有効になる場合のワークスペース管理特権」を参照してください。

  • 受信者からのネットワーク アクセスを許可するクラウド ストレージ構成。

メタストアでの Delta Sharing 有効化

Delta Sharing を使用してアカウント内の他の Unity Catalog メタストアのユーザーとデータを共有する場合にのみ、メタストアで Delta Sharing を有効にする必要はありません。 1 つの Azure Databricks アカウント内でのメタストア間の共有は、既定では有効になっています。

それ以外の場合には、Delta Sharingを使用して共有を計画しているデータを管理する各Unity Catalogメタストアごとに、次の手順に従います。

  1. Azure Databricks アカウント管理者として、アカウント コンソールにログインします。

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

  3. メタストアの名前をクリックして、その詳細を開きます。

  4. [ 組織外の関係者との差分共有を許可する] の横にあるチェック ボックスをオンにします。

  5. 受信者トークンの有効期間を構成します。

    この構成は、すべての受信者トークンが失効し、再生成が必要となるまでの期間をセットします。 受信者トークンは、オープン共有プロトコルでのみ使用されます。 トークンは、作成後最大 1 年間有効です。

    注記

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

    既定の受信者トークンの有効期間をセットするには、次の手順を実行します:

    1. [有効期限のセット] が有効になっていることを確認します (これがデフォルトです)。
    2. 秒、分、時間、または日の数を入力し、計算単位を選択します。 トークンは、作成後最大 1 年間有効です。
    3. [有効化]をクリックします。

    詳しくは、トークンに関するセキュリティ上の考慮事項をご覧ください。

  6. アカウントに含まれていない Azure Databricks 受信者と共有する場合は、 組織名を入力します。

    注記

    読み取り可能な組織名を指定すると、受信者は共有プロバイダーと、受信者のプロバイダー リスト内の対応するプロバイダー オブジェクトを識別できます。

  7. [有効化]をクリックします。

(省略可能) Unity Catalog CLI をインストールする

共有と受信者を管理するには、Catalog Explorer、SQL コマンド、または Unity Catalog CLI を使用します。 CLI はローカル環境で実行され、Azure Databricks のコンピューティング リソースは必要ありません。

CLI をインストールするには、「Databricks CLI とは」を参照してください。

共有と受信者を作成および管理するためのアクセス許可を付与する

メタストア管理者は、共有と受信者を作成および管理できます。これには、受信者への共有の許可も含まれます。 多くのプロバイダー タスクは、次の特権を使用してメタストア管理者によって委任できます。

  • CREATE SHARE: メタストアでは、共有を作成する機能が付与されます。
  • CREATE RECIPIENT: メタストアでは、受信者を作成する機能が付与されます。
  • USE RECIPIENT: メタストア内のすべての受信者の詳細を一覧表示する権限が付与されます。
  • USE SHARE: メタストアでは、メタストア内のすべての共有の詳細を一覧表示および表示する機能が付与されます。
  • USE RECIPIENTUSE SHARE,SET SHARE PERMISSION を組み合わせることで、ユーザーは共有アクセス権を受信者に付与できます。
  • メタストア管理者は、任意の共有の所有権を譲渡できます。
  • 共有と受信者の所有者は、これらのオブジェクトを更新し、共有を受信者に付与できます。 オブジェクト作成者には既定で所有権が付与されますが、所有権は譲渡できます。
  • 共有所有者は、テーブルに対する SELECT アクセス、ボリュームに対する READ VOLUME アクセスができる限り、テーブルとボリュームを共有に追加できます。

詳細については、Unity カタログの権限とセキュリティ保護可能なオブジェクト と説明されているデルタシェアリングのタスクに関するアクセス許可の一覧を参照してください。

監査ログを有効にする

Azure Databricks アカウント管理者は、監査ログを有効にして、次のような Delta Sharing イベントをキャプチャする必要があります:

  • 他のユーザーが共有または受信者を作成、変更、更新、または削除した場合
  • 受信者がアクティブ化リンクにアクセスし、資格情報をダウンロードする場合 (オープン共有のみ)
  • 受信者がデータにアクセスする場合
  • 受信者の資格情報が回転または期限切れになった場合(オープン共有のみ)

重要

Delta Sharing のアクティビティは、アカウント レベルでログに記録されます。 ログデリバリーを構成するときは、workspace_ids_filterの値を入力しないでください。

監査ログを有効にするには、「診断ログ リファレンス」の手順に従います。

Delta Sharing イベントのログ記録方法の詳細については、「データの共有の監査と監視」を参照してください。

データ具体化の TTL を構成する

Azure Databricks アカウントまたはメタストア管理者は、具体化された結果をキャッシュする期間を決定するデータ具体化の TTL を構成できます。 具体化は、受信者が共有の動的ビュー、具体化されたビュー、ストリーミング テーブル、および外部テーブルに対してクエリを実行するときに発生します。 既定では、TTL は 8 時間です。 キャッシュ自体は追加の3時間後に物理化され、その後削除されます。これにより、既存のクエリを完了するための追加の時間が確保されます。

この値を変更するには、次の操作を行います。

  1. Azure Databricks ワークスペースで、[ データ] アイコンをクリックします。カタログ をクリックしてカタログ エクスプローラーを開きます。

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

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

  3. [ 自分と共有 ] タブで、右上隅にある組織名をクリックします。

  4. [ 差分共有設定の表示] をクリックします。

  5. [ 具体化 TTL] に、目的の TTL 値を入力します。

ストレージへのネットワーク アクセスを許可する

基になるクラウド ストレージがアクセス制御で構成されている場合は、共有テーブルを読み取ることができるように受信者のネットワークを許可リストに追加します。

詳細については、「 Azure Storage ファイアウォールと仮想ネットワークの構成 」および 「サーバーレス コンピューティング アクセス用のファイアウォールの構成」を参照してください。