アカウントでOpenSharingを設定する(プロバイダー向け)
このページでは、データプロバイダー(OpenSharing を使用してデータを安全に共有したい組織)向けに、Databricks で OpenSharing をセットアップする方法について説明します。
データ受信者 (Open Sharing を使用して共有されるデータを受信する組織) である場合は、「Databricks-to-Databricks Open Sharing を使用して共有されたデータの読み取り (受信者用)」を参照してください。
OpenSharing には、Unity Catalog 対応のワークスペースが必要です。共有管理用に Unity Catalog 対応のワークスペースを 1 つ作成できます。一部のアカウントでは、新しいワークスペースが Unity Catalog に対して自動的に有効になります。Unity Catalog の概要を参照してください。
新しいUnity Catalog対応ワークスペースを作成できない場合は、オープンソースのOpenSharingプロジェクトを使用して、独自のOpenSharingサーバーをデプロイし、任意のプラットフォームからDeltaテーブルを共有できます。
プロバイダーの初期設定には、次のステップが含まれます。
- Unity Catalogメタストアで OpenSharingを有効にします。
- (オプション) Unity Catalog CLI をインストールします。
- 共有と受信者を作成および管理する権限を付与します。
- データマテリアライゼーションの有効期間(TTL)を構成します。
- ストレージネットワークアクセスを構成します。
要件
データを共有できるようにDatabricksアカウントを設定するデータプロバイダーには、以下が必要です:
-
Unity Catalog に対して有効になっている少なくとも1つの Databricks ワークスペース。
OpenSharing プロバイダーで Databricks サポートを利用するために、すべてのワークスペースを Unity Catalog に移行する必要はありません。OpenSharing を使用するには Unity Catalog が必要ですか?を参照してください。
受信者は、Unity Catalog対応のワークスペースを持っている必要はありません。
-
Unity Catalog metastoreのOpenSharingを有効にするためのアカウント管理者ロール。
-
メタストア管理者ロール、または
CREATE SHAREおよびCREATE RECIPIENT権限。メタストア管理者を参照してください。
ワークスペースで Unity Catalog が自動的に有効になっている場合は、メタストア管理者がいない可能性があります。 ただし、このようなワークスペースのワークスペース管理者には、メタストアに対する CREATE SHARE 特権と CREATE RECIPIENT 特権がデフォルトで付与されます。
詳細については、Unity Catalog の概要およびワークスペースで Unity Catalog が自動的に有効になっている場合のワークスペース管理者権限を参照してください。
- 受信者からのネットワークアクセスを許可するクラウドストレージ構成。
メタストアでオープン共有を有効にする
アカウント内の他のUnity Catalogメタストアのユーザーとデータを共有するためだけにOpenSharingを使用する場合は、メタストアでOpenSharingを有効にする必要はありません。1つのDatabricksアカウント内でのメタストア間の共有は、デフォルトで有効になっています。
それ以外の場合は、OpenSharing を使用して共有を予定しているデータを管理する各 Unity Catalog メタストアに対し、次のステップを実行してください。
-
Databricksアカウント管理者として、アカウントコンソールにログインします。
-
サイドバーで [
カタログ ]をクリックします。
-
メタストアの名前をクリックして、その詳細を開きます。
-
組織外の関係者とのOpenSharingを許可する の横にあるチェックボックスをクリックします。
-
受信者トークンの有効期間を構成します。
この構成により、すべての受信者トークンの有効期限が切れ、再生成が必要となる期間が設定されます。受信者トークンは、Databricks-to-オープンシェアリングプロトコルでのみ使用されます。トークンは作成後、最大1年間有効です。
既存の受信者の受信者トークンの有効期間は、メタストアのデフォルト受信者トークンの有効期間を変更しても自動的に更新されません。 特定の受信者に新しいトークンの有効期間を適用するには、トークンをローテーションする必要があります。受信者トークンの管理を参照してください。
デフォルトの受信者トークンの有効期間を設定するには:
- 有効期限の設定 が有効になっていることを確認します (これがデフォルトです)。
- 秒、分、時間、または日数を入力し、測定単位を選択してください。トークンは作成後最大1年間有効です。
- [ 有効にする ]をクリックします。
詳細については、トークンのセキュリティに関する考慮事項を参照してください。 6. アカウントにないDatabricksの受信者と共有する場合、 組織名 を入力してください。
読みやすい組織名を指定すると、受信者は自身の共有プロバイダーと、受信者のプロバイダーリスト内にある対応するプロバイダーオブジェクトを識別しやすくなります。
- [ 有効にする ]をクリックします。
(オプション)Unity Catalog CLIのインストール
共有と受信者を管理するには、カタログエクスプローラ、SQL コマンド、または Unity Catalog CLI を使用できます。 CLIはローカル環境で実行され、Databricksコンピュート リソースは必要ありません。
CLI をインストールするには、Databricks CLIを参照してください。
共有と受信者を作成および管理するアクセス許可を付与する
メタストア管理者は、共有と受信者を作成および管理する権限を持ち、受信者への共有の付与も含まれます。多くのプロバイダーのタスクは、メタストア管理者によって以下の権限を使用して委任できます。
CREATE SHAREメタストアで共有を作成する権限を付与します。CREATE RECIPIENTメタストアで受信者を作成する権限を付与します。USE RECIPIENTは、メタストア内のすべての受信者の詳細を一覧表示および表示する権限を付与します。USE SHAREは、メタストア内のすべての共有の詳細を一覧表示および表示する権限が付与されます。USE RECIPIENT``USE SHARE,とSET SHARE PERMISSIONを組み合わせることで、ユーザーは受信者に共有アクセス権を付与できます。- メタストア管理者は、あらゆる共有の所有権を譲渡できます。
- 共有と受信者の所有者は、これらのオブジェクトを更新し、受信者に共有を付与できます。オブジェクト作成者にはデフォルトで所有権が付与されますが、所有権を移転できます。
- 共有所有者は、テーブルへの
SELECTアクセスとボリュームへのREAD VOLUMEアクセスがある限り、テーブルとボリュームを共有に追加できます。
詳細については、Unity Catalog 権限リファレンスと、説明されている OpenSharing タスクに一覧表示されている権限を参照してください。
データマテリアライズのTTLを構成する
Databricks アカウント管理者またはメタストア管理者として、データのマテリアライズ化の TTL を構成できます。これにより、マテリアライズされた結果がキャッシュされる期間が決まります。マテリアライズ化は、受信者が共有動的ビュー、マテリアライズドビュー、ストリーミングテーブル、およびフォーリンテーブルをクエリするときに発生します。デフォルトでは、TTL は 8 時間です。キャッシュ自体は、さらに 3 時間後にマテリアライズ化によって削除され、既存のクエリが完了するための追加時間を提供します。
この値を変更するには、次の手順を実行します。
-
Databricks ワークスペースで、
[カタログ]をクリックして カタログエクスプローラー を開きます。
-
カタログ ウィンドウの上部にある
歯車アイコンをクリックし、 OpenSharing を選択します。
または、右上隅の Share > OpenSharing をクリックします。
-
自分と共有 タブで、右上隅にある組織名をクリックします。
-
右上にある
歯車アイコンをクリックします。
-
マテリアライゼーションのTTL に、目的の TTL 値を入力します。
ストレージへのネットワークアクセスを許可する
基盤となるクラウドストレージがアクセス制御で構成されている場合は、受信者のネットワークを許可リストに追加して、共有テーブルを読み取れるようにします。
各受信者に対して手動でネットワークとファイアウォールルールを設定する代わりに、SecureConnectを使用して、マネージドプロキシを介してアクセスを仲介します。
詳細については、Amazon S3 のバケットポリシーおよびサーバレス コンピュート ファイアウォール構成を参照してください。