外部システムアクセス用の Unity Catalog 資格情報の販売

プレビュー

この機能はパブリックプレビュー段階です。

この記事では、Unity Catalog の資格情報の自動販売機能が、外部処理エンジンから Databricks 内のデータへのアクセスをどのようにサポートするかについて説明します。

クレデンシャルベンディングは、Unity REST API と Iceberg REST カタログを使用して Unity Catalog に接続する外部システムをサポートしています。 「Delta クライアントからの Databricks テーブルの読み取り」および「外部システムを使用した Databricks データへのアクセス」を参照してください。

Unity Catalog のクレデンシャルベンディングとは何ですか?

資格情報の自動販売 は、Unity Catalog REST API を使用して、有効期間の短い資格情報を付与します。 付与された資格情報は、統合の構成に使用された Databricks プリンシパルの特権を継承します。 これらの資格情報は、Unity Catalog メタストアに登録されているデータへのアクセス権を外部クライアントに付与します。

注:

Unity Catalog 資格情報の自動販売は、Unity Catalog データへの読み取り専用アクセスをサポートしています。 Delta Lake を基盤とするテーブルへのアクセスをサポートするクライアントもあれば、テーブルで Iceberg 読み取り (UniForm) を有効にする必要があるクライアントもあります。 「Delta テーブルでの Iceberg 読み取りの有効化 (UniForm)」を参照してください。

一時的な認証情報が付与されるには、リクエストを行う Databricks プリンシパル (ユーザー、グループ、またはサービスプリンシパル) が、外部エンジンからアクセスする必要があるテーブルを含むスキーマに対する EXTERNAL USE SCHEMA 権限を持っている必要があります。 スキーマを含む Unity Catalog メタストアも、外部アクセスに対して明示的に有効にする必要があります。 「Unity Catalog への外部データ アクセスを有効にする」を参照してください。

認証情報には、外部エンジンがクラウドストレージの場所からテーブルデータとメタデータにアクセスするために使用できる、有効期間の短いアクセストークン文字列とクラウドストレージの場所のURLが含まれます。

要件

  • メタストアで外部アクセスを構成し、接続を構成するプリンシパルに EXTERNAL USE SCHEMA を許可する必要があります。 「Unity Catalog への外部データ アクセスを有効にする」を参照してください。

  • DatabricksUnity CatalogOpenAPIs またはIcebergRESTAPIs を使用して ワークスペースにアクセスするには、リクエストを実行するエンジンからワークスペースの URL にアクセスできる必要があります。これには、 IP アクセスリスト または AWS Private Link を使用するワークスペースが含まれます。

  • Unity Catalog に登録されたデータ オブジェクトの基になるクラウド ストレージの場所にアクセスするには、Unity Catalog の一時的な資格情報 API によって生成されたストレージ URL に、要求を実行するエンジンからアクセスできる必要があります。 つまり、エンジンは、基になるクラウド ストレージ アカウントのファイアウォールとネットワーク アクセス制御リストで許可されている必要があります。

外部データ アクセス用の一時的な資格情報を要求する

資格情報の自動販売のサポートは、外部クライアントによって異なります。 サポートされている場合、クライアントは接続が構成されたときに、自動的に販売された資格情報を利用する必要があります。

このセクションでは、資格情報の自動販売 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 "Authentication: Bearer $OAUTH_TOKEN" \
https://<workspace-instance>/api/2.1/unity-catalog/temporary-table-credentials \
-d '{"table_id": "<string>", "operation_name": "<READ|READ_WRITE>"}'

詳細については、Databricks REST API リファレンスの 「POST /api/2.1/unity-catalog/temporary-table-credentials 」を参照してください。

制限事項

次の制限があります。

  • すべての外部クライアントが資格情報の自動販売をサポートしているわけではなく、サポートは基になるクラウド オブジェクト ストレージによって異なる場合があります。

  • によってサポートされる Unity Catalogと 外部テーブルのみがサポートされています。Unity CatalogDelta Lake

  • 次のテーブルタイプまたは機能が有効になっているテーブルはサポートされていません。

    • 行フィルターまたは列マスクを持つテーブル。

    • Delta Sharing を使用して共有されるテーブル。

    • レイクハウスフェデレーションで接続されたテーブル (フォーリンテーブル)。

    • 表示モード。

    • マテリアライズドビュー。

    • Delta Live Tables ストリーミング テーブル。

    • オンライン テーブル。

    • ベクトル検索インデックス。