アカウントの OpenSharing を設定する (プロバイダー向け)

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

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

Important

OpenSharing には、Unity カタログ対応ワークスペースが必要です。 共有管理用の Unity カタログ対応ワークスペースを 1 つ作成できます。 一部のアカウントでは、Unity カタログに対して新しいワークスペースが自動的に有効になります。 Unity カタログについて始めに知っておくべきことを参照してください

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

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

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

必要条件

データを共有できるようにAzure Databricks アカウントを設定するデータ プロバイダーは、次の機能を持っている必要があります。

メタストアで OpenSharing を有効にする

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

それ以外の場合は、OpenSharing を使用して共有する予定のデータを管理する Unity カタログ メタストアごとに、次の手順に従います。

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

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

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

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

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

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

    Note

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

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

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

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

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

    Note

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

  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 カタログの権限のリファレンス と、説明されている OpenSharing タスクに関する一覧のアクセス許可を参照してください。

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

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

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

  1. Azure Databricks ワークスペースで、Data icon.Catalog をクリックしてカタログ エクスプローラーを開きます。

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

    または、右上隅の [ 共有] > [OpenSharing] をクリックします。

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

  4. 右上の 歯車アイコンをクリックします 。歯車アイコン。

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

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

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

ヒント

各受信者のネットワーク規則とファイアウォール規則を手動で構成する代わりに、 SecureConnect を使用して、マネージド プロキシ経由のアクセスを仲介します。

詳細については、「Azure Storage ファイアウォールと仮想ネットワークの構成」および「Azure リソースの Azure ネットワーク セキュリティ境界 (NSP) の構成」を参照してください。

次のステップ