通过


用于外部系统访问的 Unity Catalog 凭证分发

重要说明

此功能目前以公共预览版提供。

小贴士

有关如何使用 Microsoft Fabric 读取Azure Databricks数据的信息,请参阅 使用 Microsoft Fabric 读取 Unity 目录中注册的数据

本页描述 Unity Catalog 的凭据管理功能如何支持外部处理引擎访问 Azure Databricks 中的数据。

凭据销售支持使用 Unity REST API 和 Apache Iceberg REST 目录连接到 Unity 目录的外部系统。 请参阅 从 Delta 客户端访问 Databricks 表 以及 使用外部系统访问 Databricks 数据

什么是 Unity Catalog 凭证分发?

凭证售卖使用 Unity Catalog REST API 授予短期凭据。 已授予的凭据继承了用于配置集成的 Azure Databricks 主体的权限。 凭证分发有两种类型:

  • 表凭据分发 提供对 Unity Catalog 元数据存储中注册的数据的访问权限。
  • 路径凭据分发 提供对 Unity Catalog 中外部位置的访问权限。

要求

表格凭据分发

表凭据包括一个短期有效的访问令牌字符串和一个云存储位置的 URL,外部引擎可使用它们从云存储位置访问表数据和元数据。

支持的访问类型

表格凭据分发支持以下表格类型和操作:

表类型 阅读 写入 创建
托管增量 是的 是* 是*
外部变动 是的 是的 是的
托管 Iceberg 是的 是的 是的
Delta 搭配 Iceberg 的读取(UniForm) 是的 是**

从 Delta 客户端创建和写入 Unity Catalog 管理的表目前处于 Beta 阶段

** 从 Delta 客户端外部写入 UniForm 表后,运行 MSCK REPAIR TABLE 以生成 Iceberg 元数据。

注释

某些客户端支持访问基于 Delta Lake 的表,而另一些客户端则要求在表上启用 Iceberg 读取(UniForm)。 请参阅使用 Iceberg 客户端读取 Delta 表

请求用于外部数据访问的临时表凭据

对凭证售卖的支持因外部客户端而异。 在支持的情况下,客户端应在配置连接时自动利用所提供的凭证。

本部分提供显式调用凭证售卖 API 终结点的示例。 一些外部客户端可能会要求显式设置配置,以访问支持 Unity Catalog 表的云对象存储中的数据和元数据。 可以使用凭证售卖返回的值来配置访问权限。

注释

通过调用 ListTables API 并启用 include_manifest_capabilities 选项,可检索支持凭证售卖的表列表。 只有标记了 HAS_DIRECT_EXTERNAL_ENGINE_READ_SUPPORTHAS_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>"}'

有关详细信息,请参阅 Azure Databricks REST API 参考中的 POST /api/2.1/unity-catalog/temporary-table-credentials

限制

存在以下限制:

  • 并非所有外部客户端都支持凭证售卖,并且支持可能会因基础云对象存储而异。
  • 仅支持 Unity Catalog 托管表和 Unity Catalog 外部表。
  • 不支持以下类型的表或启用了功能的表:
    • 具有行筛选器或列掩码的表。
    • 使用 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>"}'

有关详细信息,请参阅 Azure Databricks REST API 参考中的生成临时路径凭据