外部システムアクセス用の Unity Catalog クレデンシャルベンディング
プレビュー
この機能は パブリック プレビュー段階です。
このページでは、Unity Catalog 資格情報の自動販売機能で、外部処理エンジンから Databricks 内のデータへのアクセスをサポートする方法について説明します。
認証情報配信機能は、Unity REST APIおよびApache Iceberg RESTカタログを使用してUnity Catalogに接続する外部システムをサポートします。 DeltaクライアントからDatabricksテーブルにアクセスする方法、および外部システムを使用してDatabricksデータにアクセスする方法を参照してください。
Unity Catalog のクレデンシャルベンディングとは何ですか?
認証情報販売 機能は、Unity Catalog REST APIを使用して、有効期限の短い認証情報を発行します。付与された認証情報は、統合の設定に使用されたDatabricksプリンシパルの権限を継承します。資格証明書の販売方法には2種類あります。
- テーブル資格情報の自動販売 は、Unity Catalog メタストアに登録されているデータへのアクセスを提供します。
- パス資格情報の自動販売 は、 Unity Catalog メタストアの外部ロケーションへのアクセスを提供します。
必要条件
- メタストア上で外部アクセスを設定するには、要求元のプリンシパルに
EXTERNAL USE SCHEMAのアクセス許可を与える必要があります。メタストアで外部データアクセスを有効にする方法については、こちらをご覧ください。 - ワークスペース URL は、IP アクセス リストやGoogle Private Service Connectの背後にあるエンジンを含む、要求元のエンジンにアクセスできる必要があります。
- クラウドストレージのURLは、ファイアウォールおよびネットワーク制御を通じてアクセス可能である必要があります。
テーブル資格情報の自動販売
テーブルの認証情報には、有効期限の短いアクセストークン文字列と、外部エンジンがクラウドストレージの場所からテーブルデータとメタデータにアクセスするために使用できるクラウドストレージの場所のURLが含まれます。
サポートされているアクセスタイプ
テーブル認証情報配信機能は、以下のテーブルタイプと操作をサポートしています。
テーブルタイプ | 読み取り | 書き込み | 作成 |
|---|---|---|---|
Deltaをマネージド | はい | はい* | はい* |
外部Delta | はい | はい | はい |
管理されたIceberg | はい | はい | はい |
Delta with Iceberg の読み方 (UniForm) | はい | はい** | No |
* DeltaクライアントからのUnity Catalogマネージドテーブルの作成と書き込みはベータ版です。
** DeltaクライアントからUniFormテーブルに外部書き込みを行った後、 MSCK REPAIR TABLE実行してIcebergメタデータを生成します。
一部のクライアントは Delta Lake によってサポートされるテーブルへのアクセスをサポートしますが、他のクライアントではテーブルで Iceberg 読み取り (UniForm) を有効にする必要があります。 Deltaクライアントを使用したIcebergテーブルの読み取りを参照してください。
外部データアクセス用の一時テーブル資格情報を要求する
資格情報の自動販売のサポートは、外部クライアントによって異なります。 サポートされている場合、クライアントは接続が構成されたときに、自動的に販売された資格情報を利用する必要があります。
このセクションでは、資格情報の自動販売 API エンドポイントを明示的に呼び出す例を示します。 一部の外部クライアントでは、Unity Catalog テーブルをバックアップするクラウド オブジェクト ストレージ内のデータとメタデータにアクセスするために、構成を明示的に設定する必要がある場合があります。 資格情報の販売によって返される値を使用して、アクセスを構成できます。
資格情報のベンディングをサポートするテーブルのリストを取得するには、 include_manifest_capabilities オプションを有効にして ListTables API を呼び出します。 HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORT または HAS_DIRECT_EXTERNAL_ENGINE_WRITE_SUPPORT とマークされたテーブルのみが、temporary-table-credentials API で参照できます。GET /api/2.1/unity-catalog/tablesを参照してください。
次の curl 例では、外部データ アクセスの一時的な資格情報を明示的に要求します。 この要求は、十分な特権を持つワークスペース プリンシパルによって完了する必要があります。
curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation": "<READ|READ_WRITE>"}'
詳細については、Databricks REST API リファレンスの 「POST /api/2.1/unity-catalog/temporary-table-credentials 」を参照してください。
制限
次の制限があります。
-
すべての外部クライアントが資格情報の自動販売をサポートしているわけではなく、サポートは基になるクラウド オブジェクト ストレージによって異なる場合があります。
-
サポートされているのは Unity Catalog マネージドテーブルと Unity Catalog 外部テーブルのみです。
- Iceberg 読み取りが有効になっているテーブルは、この要件を共有します。 Deltaクライアントを使用したIcebergテーブルの読み取りを参照してください。
- Delta Lake リーダー クライアントは、Delta Lake によってサポートされているテーブルのみを読み取ることができ、テーブルで有効になっているすべての有効なリーダーまたはライター プロトコルをサポートする必要があります。Delta Lake 機能の互換性とプロトコルを参照してください。
- Delta Lake を使用しない外部テーブルでは、トランザクションの保証は提供されません。
-
次のテーブルタイプまたは機能が有効になっているテーブルはサポートされていません。
- 行フィルターまたは列マスクを持つテーブル。
- Delta Sharing を使用して共有されるテーブル。
- レイクハウスフェデレーションで接続されたテーブル (フォーリンテーブル)。
- 表示モード。
- マテリアライズドビュー。
- Lakeflow Spark宣言型パイプラインストリーミングテーブル。
- オンライン テーブル。
- ベクトル検索インデックス。
-
資格情報の更新は、Iceberg 1.9.0 ではサポートされていません。最新の Iceberg リリースを使用して、資格情報を更新します。
パス資格情報の自動販売
発行された認証情報により、関連するパスに限定された範囲で、クラウドストレージの場所に直接アクセスできます。これらは有効期限が限られており、指定された場所やテーブル以外への広範なアクセスを許可するものではありません。
外部データアクセス用の一時パス資格情報を要求する
資格情報の自動販売のサポートは、外部クライアントによって異なります。 サポートされている場合、クライアントは接続が構成されたときに、自動的に販売された資格情報を利用する必要があります。
このセクションでは、資格情報の自動販売 API エンドポイントを明示的に呼び出す例を示します。 一部の外部クライアントでは、Unity Catalog テーブルをバックアップするクラウド オブジェクト ストレージ内のデータとメタデータにアクセスするために、構成を明示的に設定する必要がある場合があります。 資格情報の販売によって返される値を使用して、アクセスを構成できます。
次の curl 例では、外部データ アクセスの一時的な資格情報を明示的に要求します。 この要求は、十分な特権を持つワークスペース プリンシパルによって完了する必要があります。
curl -X POST -H "Authorization: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-path-credentials \
-d '{"url": "<string>", "operation": <PATH_READ|PATH_READ_WRITE|PATH_CREATE_TABLE>"}'
詳細については、Databricks REST API リファレンスの「 一時パス資格情報の生成」 を参照してください。