アカウント Delta Sharing を設定する(プロバイダー向け)
このページでは、データ プロバイダー (Delta Sharing を使用してデータを安全に共有したい組織) 向けに Databricks で Delta Sharing を設定する方法について説明します。
データ受信者 (Delta Sharingを使用して共有されたデータを受信する組織) の場合は、「Databricks-to-Databricks Delta Sharing を使用して共有されたデータの読み取り (受信者向け)」を参照してください。
Delta Sharing には、Unity Catalog 対応のワークスペースが必要です。共有管理用に Unity Catalog 対応のワークスペースを 1 つ作成できます。一部のアカウントでは、新しいワークスペースが Unity Catalog に対して自動的に有効になります。「Unity Catalog の自動有効化」を参照してください。
Unity Catalog 対応のワークスペースを新規に作成できない場合は、 オープンソースの Delta Sharing プロジェクト を使用して独自の Delta Sharing サーバーをデプロイし、任意のプラットフォームから Delta テーブルを共有できます。
プロバイダーの初期設定には、次の手順が含まれます。
- Delta SharingUnity Catalogメタストアで を有効にします。
- (オプション)Unity Catalog CLI をインストールします。
- 共有と受信者を作成および管理するための権限を付与します。
- Delta Sharing アクティビティの監査を構成します。
- ストレージネットワークアクセスを設定します。
必要条件
データを共有できるように Databricks アカウントを設定するデータ プロバイダーは、次のものを持っている必要があります。
-
Unity Catalog に対して有効になっている少なくとも 1 つの Databricks ワークスペース。
Delta Sharing プロバイダーの Databricks サポートを利用するために、すべてのワークスペースを Unity Catalog に移行する必要はありません。 「Delta Sharing を使用するには Unity Catalog が必要ですか?」を参照してください。
受信者は、Unity Catalog対応のワークスペースを持っている必要はありません。
-
メタストアのDelta Sharing Unity Catalogを有効にし、監査ログを有効にするための管理者ロール。
-
メタストア管理者ロール、または
CREATE SHARE
権限とCREATE RECIPIENT
権限。 「管理者の役割」を参照してください。
ワークスペースで Unity Catalog が自動的に有効になっている場合は、メタストア管理者がいない可能性があります。 ただし、このようなワークスペースのワークスペース管理者には、メタストアに対する CREATE SHARE
特権と CREATE RECIPIENT
特権がデフォルトで付与されます。
詳細については、「ワークスペースが自動的にUnity Catalogが有効になっている場合の、Unity Catalog および ワークスペース管理者特権 の自動有効化 」を参照してください。
- 受信者からのネットワークアクセスを許可するクラウドストレージ構成。
メタストアで Delta Sharing を有効にする
Delta Sharing をアカウント内の他の Unity Catalog メタストアのユーザーとデータを共有するためだけに使用する場合は、メタストアで Delta Sharing を有効にする必要はありません。 1 つの Databricks アカウント内でのメタストア間の共有は、デフォルトによって有効になります。
それ以外の場合は、Delta Sharing を使用して共有する予定のデータを管理する Unity Catalog メタストアごとに、次の手順に従います。
-
Databricks アカウント管理者として、 アカウント コンソールにログインします。
-
サイドバーで、「
カタログ 」をクリックします。
-
メタストアの名前をクリックして、その詳細を開きます。
-
[Delta Sharing を有効にする] の横にあるチェックボックスをクリックして 、Databricks ユーザーが組織外でデータを共有できるようにします 。
-
受信者トークンの有効期間を設定します。
この設定では、すべての受信者トークンの有効期限が切れ、再生成が必要になるまでの期間を設定します。 受信者トークンは、 オープン共有 プロトコルでのみ使用されます。 Databricks では、トークンを無期限に存続させるのではなく、デフォルト トークンの有効期間を構成することをお勧めします。
既存の受信者の受信者トークンの有効期間は、メタストアのデフォルト受信者トークンの有効期間を変更しても自動的に更新されません。 特定の受信者に新しいトークンの有効期間を適用するには、トークンをローテーションする必要があります。「受信者トークンの管理」を参照してください。
デフォルトの受信者トークンの有効期間を設定するには:
-
[有効期限の設定 ] が有効になっていることを確認します (これがデフォルトです)。
このチェックボックスをオフにすると、トークンの有効期限が切れることはありません。 Databricks では、トークンの有効期限が切れるように構成することをお勧めします。
-
秒、分、時間、または日数を入力し、測定単位を選択してください。
-
[ 有効にする ]をクリックします。
詳細については、「 トークンのセキュリティに関する考慮事項」を参照してください。 6. 必要に応じて、受信者が共有相手を識別するために使用できる組織の名前を入力します。
- [ 有効にする ]をクリックします。
(オプション)Unity Catalog CLI をインストールする
共有と受信者を管理するには、Catalog Explorer、SQL コマンド、または Unity Catalog CLI を使用できます。 CLIはローカル環境で実行され、Databricksコンピュート リソースは必要ありません。
CLI をインストールするには、「 Databricks CLI とは」を参照してください。
共有と受信者を作成および管理するための権限を付与する
メタストア管理者は、受信者への共有の付与を含め、共有と受信者を作成および管理できます。多くのプロバイダー タスクは、次の特権を使用してメタストア管理者が委任できます。
CREATE SHARE
は、共有を作成する権限を付与します。CREATE RECIPIENT
は、受信者を作成する権限を付与します。USE RECIPIENT
は、メタストア内のすべての受信者の詳細を一覧表示および表示する権限を付与します。USE SHARE
は、メタストア内のすべての共有の詳細を一覧表示および表示する権限が付与されます。USE RECIPIENT
、USE SHARE,
とSET SHARE PERMISSION
を組み合わせると、ユーザーは受信者に共有アクセスを許可できます。USE SHARE
とSET SHARE PERMISSION
を組み合わせると、ユーザーは任意の株式の所有権を譲渡することができます。- 共有所有者と受信者の所有者は、これらのオブジェクトを更新し、受信者に共有を付与できます。 オブジェクト作成者にはデフォルトで所有権が付与されますが、所有権は譲渡できます。
- 共有所有者は、テーブルへの
SELECT
アクセス権とボリュームへのREAD VOLUME
アクセス権を持っている限り、テーブルとボリュームを共有に追加できます。
詳細については、「 Unity Catalog の特権とセキュリティ保護可能なオブジェクト 」と、説明されている Delta Sharing タスクの一覧に記載されているアクセス許可を参照してください。
監査ログを有効にする
Databricks アカウント管理者は、監査ログを有効にして、次のような Delta Sharing イベントをキャプチャする必要があります。
- 誰かが共有または受信者を作成、変更、更新、削除したとき
- 受信者がアクティベーションリンクにアクセスし、資格情報をダウンロードしたとき(オープン共有のみ)
- 受信者がデータにアクセスしたとき
- 受信者の資格情報がローテーションまたは期限切れになったとき (オープン共有のみ)
Delta Sharing アクティビティは、アカウント レベルでログに記録されます。 ログ配信を設定するときは、 workspace_ids_filter
に値を入力しないでください。
監査ログを有効にするには、「監査ログリファレンス」の指示に従ってください。
Delta Sharing イベントがログに記録される方法の詳細については、「データ共有の監査と監視」を参照してください。
ストレージへのネットワークアクセスを許可する
基盤となるクラウドストレージがアクセス制御で構成されている場合は、受信者のネットワークを許可リストに追加して、共有テーブルを読み取れるようにします。
詳細については、 VPC Service Controlsを参照してください。