メインコンテンツまでスキップ

外部システムアクセス用の 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 例では、外部データ アクセスの一時的な資格情報を明示的に要求します。 この要求は、十分な特権を持つワークスペース プリンシパルによって完了する必要があります。

Bash
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 例では、外部データ アクセスの一時的な資格情報を明示的に要求します。 この要求は、十分な特権を持つワークスペース プリンシパルによって完了する必要があります。

Bash
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 リファレンスの「 一時パス資格情報の生成」 を参照してください。