使用 Delta Sharing 开放共享协议共享数据(针对提供者)

本页概述了提供程序如何使用 Delta Sharing 开放的共享协议,与任何计算平台上的任何用户共享已启用 Unity 目录的 Azure Databricks 工作区中的数据。 如果你是数据接收者(正在与其共享数据的用户或用户组),请参阅使用 Delta Sharing 访问与你共享的数据(适用于接收者)

谁应该使用 Delta Sharing 开放共享协议?

有 3 种方法来使用 Delta Sharing 共享数据:

  1. Databricks 开放共享协议(参见本文),它让你能够与任何计算平台上的用户共享你在启用了 Unity Catalog 的 Databricks 工作区中管理的数据。

    此方法使用 Azure Databricks 中内置的 Delta Sharing 服务器。当你使用 Unity Catalog 管理数据并希望与不使用 Databricks 或无权访问支持 Unity Catalog 的 Databricks 工作区的用户共享数据时,此方法非常有用。 与提供者端的 Unity Catalog 的集成简化了提供者的设置和管理。

  2. 开源 Delta Sharing 服务器的客户管理的实现,它让你能够在任何平台之间进行共享(无论是否是 Databricks)。

    请参阅 github.com/delta-io/delta-sharing

  3. Databricks-to-Databricks 共享协议使您能够将启用 Unity Catalog 的工作区中的数据与其他拥有启用 Unity Catalog 的 Databricks 工作区访问权限的用户共享。

    请参阅使用 Delta Sharing Databricks 到 Databricks 协议共享数据(针对提供者)

有关 Delta Sharing 的简介以及这三种方法的相关详细信息,请参阅什么是 Delta Sharing?

Delta Sharing 开放共享工作流

本部分提供开放共享工作流的大致概述,并提供每个步骤的详细文档链接。

在 Delta Sharing 开放共享模型中:

  1. 数据提供程序会创建一个收件人,该收件人是一个命名对象,表示数据提供程序要与之共享数据的用户或用户组。

    当数据提供方创建收件人时,提供方将使用长期有效的持有者令牌或 Open ID Connect (OIDC) 联合身份联邦来设置身份验证。 如果提供程序使用持有者令牌,Azure Databricks 将生成凭据文件和数据提供程序可以发送到收件人以访问凭据文件的激活链接。 在 OIDC 联合流中,收件人的 IdP 基于提供程序创建的策略管理身份验证。

    有关详细信息,请参阅 为非 Databricks 用户创建收件人对象(使用持有者令牌进行开放共享)使用 Open ID Connect (OIDC)联合身份验证来启用 Delta Sharing 共享的身份验证(开放共享)

  2. 数据提供方创建一个共享,该共享是一个命名对象,包含在提供方账户中的 Unity Catalog 元数据存储中注册的表集合。

    有关详细信息,请参阅创建和管理 Delta Sharing 的共享

  3. 数据提供程序为接收者授予对共享的访问权限。

    有关详细信息,请参阅管理对 Delta Sharing 数据共享的访问权限(适用于提供者)

  4. 在持有者令牌流程中,数据提供方通过安全通道将激活链接发送给接收者,并附带使用这些链接下载凭证文件的说明,该凭证文件将用于与数据提供方建立安全连接,以接收共享数据。

    有关详细信息,请参阅 “获取激活”链接

    在 OIDC 联合流中,收件人通过其 IdP 进行身份验证。 请参阅使用 Open ID Connect (OIDC) 联合身份验证启用对 Delta Sharing 共享(开放共享)的身份验证

  5. 在持有者令牌流中,数据接收者遵循激活链接下载凭据文件,然后使用凭据文件访问共享数据。

    共享数据仅供读取。 用户可以使用其选择的平台或工具访问数据。 有关详细信息,请参阅使用持有者令牌通过 Delta Sharing 开放共享的数据

    在 OIDC 联合流中,收件人通过其 IdP 进行身份验证。 请参阅使用 Open ID Connect (OIDC) 联合身份验证启用对 Delta Sharing 共享(开放共享)的身份验证

提供方特定的配置

许多提供商都有自己的 Delta Sharing 网络进行共享。 有关特定共享说明,请参阅以下示例:

云令牌和基于目录的访问

使用开放式共享共享共享符合条件的 Delta 表时,Azure Databricks返回表的云存储位置以及临时云凭据(云令牌),收件人可以使用这些凭据直接从云存储读取数据。 这称为 基于目录的访问模式 ,是 开放 Delta 共享协议的一部分。 默认情况下,它为符合资格要求的新共享资产启用。 如果共享表不满足所有要求,则收件人使用预先签名的 URL 访问,就像正常一样。

有关资格要求和数据隐私注意事项,请参阅 云令牌资格

开放共享的提供程序设置和安全注意事项

使用开放共享模型时,良好的令牌管理是安全共享数据的关键:

  • 如果 Azure Databricks 上的数据提供者打算在提供共享时使用开放共享,则他们在为其 Unity Catalog 元存储启用 Delta Sharing 时,必须配置默认接收者令牌生存期。 Databricks 建议为令牌配置有效期限。 请参阅在元数据存储上启用 Delta Sharing 功能
  • 如果需要修改默认令牌生存期,请参阅修改收件人令牌生存期
  • 鼓励收件人安全地管理其下载的凭据文件。
  • 有关令牌管理和打开共享安全性的详细信息,请参阅 “管理收件人令牌”。
  • 云环境类型(例如,从 AWS 商业云到 AWS GovCloud 或 Azure 中国)之间支持开放共享。

数据提供程序可以通过指定 IP 访问列表来限制收件人访问特定的网络位置,从而提供额外的安全性。 请参阅使用 IP 访问列表限制 Delta Sharing 接收者访问权限(开放共享)