Unity Catalog への外部データ アクセスを有効にする
DatabricksUnity Catalogでは、UnityRESTAPI と カタログを使用してIcebergREST テーブルにアクセスできます。
メタストア管理者は、外部からアクセスする必要があるメタストアごとに外部データ アクセスを有効にする必要があります。 接続を構成するユーザーまたはサービスプリンシパルは、外部から読み取る必要があるテーブルを含むスキーマごとに EXTERNAL USE SCHEMA
権限を持っている必要があります。
Unity REST API は Delta テーブルの直接読み取りをサポートしており、Iceberg REST カタログは Iceberg 読み取りが有効になっているテーブルの読み取りをサポートしています。 「外部システムを使用した Databricks データへのアクセス」を参照してください。
メタストアでの外部データ アクセスを有効にする
外部エンジンがメタストア内のデータにアクセスできるようにするには、メタストア管理者がメタストアの外部データ アクセスを有効にする必要があります。 このオプションは、不正な外部アクセスを防ぐために、デフォルトでは無効になっています。
外部データアクセスを有効にするには、次の操作を行います。
- メタストアに接続されている Databricks ワークスペースで、[ カタログ]
をクリックします。
[カタログ] ウィンドウの上部にある 歯車アイコンをクリックし、[ メタストア] を選択します。
- [詳細 ] タブで、[ 外部データ アクセス ] を有効にします。
これらのオプションは、十分な権限を持つユーザーに対してのみ表示されます。 これらのオプションが表示されない場合は、メタストアの外部データ アクセスを有効にする権限がありません。
プリンシパルを付与する EXTERNAL USE SCHEMA
Databricks に接続する外部クライアントは、十分な特権を持つプリンシパルからの承認が必要です。
Databricks では、認証に OAuth と個人用アクセス トークン (PAT) がサポートされています。 「Databricks リソースへのアクセスの承認」を参照してください。
一時的な資格情報を要求するプリンシパルは、次のものを持っている必要があります。
-
含まれているスキーマまたはその親カタログに対する
EXTERNAL USE SCHEMA
権限。この特権は、常に明示的に付与する必要があります。 親カタログの所有者のみがそれを付与できます。 偶発的な流出を避けるため、
ALL PRIVILEGES
にはEXTERNAL USE SCHEMA
権限は含まれておらず、スキーマの所有者にはデフォルトでこの権限がありません。 -
SELECT
テーブルのアクセス許可、親カタログのUSE CATALOG
、および親スキーマのアクセス許可USE SCHEMA
。
次の構文例は、ユーザーに EXTERNAL USE SCHEMA
を付与する方法を示しています。
GRANT EXTERNAL USE SCHEMA ON SCHEMA catalog_name.schema_name TO `user@company.com`
ユーザーがスキーマ内のすべての必要なテーブルを読み取る権限を持っていると仮定すると、追加の権限は必要ありません。 テーブルを読み取るための追加のアクセス許可を付与する必要がある場合は、「 Unity Catalog の特権とセキュリティ保護可能なオブジェクト」を参照してください。