使用 OpenSharing 访问与你共享的数据(对于收件人)

本页介绍如何使用 OpenSharing 访问已与你共享的数据。 OpenSharing 支持多个共享模型:

  • 适用于启用了 Unity Catalog 的 Azure Databricks 工作区用户的 Databricks 到 Databricks 共享
  • 面向使用任何工具的任意接收方的 Databricks 到开放平台共享
  • 面向 Databricks 的开放共享,适用于使用 开源 OpenSharing 协议 与使用 Azure Databricks 的接收方进行共享的提供方

OpenSharing 和数据收件人

OpenSharing 是安全数据共享的开放标准。 在此上下文中称为数据提供程序的 Databricks 用户可以使用 OpenSharing 在Azure Databricks与组织外部的人或组(称为数据接收者)共享数据。

共享协议

您访问数据的方式取决于您本人是否是 Databricks 用户,以及数据提供方是否将共享给您的数据配置为 Databricks-to-Databricks 共享、Databricks-to-Open 共享或 Open-to-Databricks 共享。

在 Databricks 到 Databricks 共享模型中,你需是启用了 Unity Catalog 的 Databricks 工作区的用户。 团队的一名成员为数据提供程序提供 Unity Catalog 元存储的唯一标识符,数据提供程序使用该标识符创建安全的共享连接。 共享数据可以在您的工作区中访问。 如有必要,团队成员会对该数据配置精细访问控制。

在 Databricks 到 Open 共享模型中,可以使用你喜欢的任何工具(包括 Databricks)访问共享数据。 数据提供程序通过安全通道发送激活 URL 或门户链接。 请通过此链接下载凭据文件或 URL,以便能够访问与你共享的数据。

共享数据并非由 Databricks 直接提供,而是由 Azure Databricks 上运行的数据提供程序提供。

在 Open-to-Databricks 模型中,可以使用Azure Databricks通过开源 OpenSharing 协议访问数据提供程序共享的数据。 你的数据提供方会通过安全渠道向你发送一个凭据文件,你再将其上传到 Azure Databricks。 使用目录资源管理器或笔记本,可以访问与你共享的数据。

注释

Databricks 可能会收集有关数据接收者使用和访问共享数据的信息(包括识别使用与此类信息相关的凭证文件访问数据的任何个人或公司),并可能与适用的数据提供者共享。

获取对共享给你的数据的访问权限

访问数据的方式取决于提供程序使用的共享协议。

在 Databricks 到 Databricks 共享模型中获取访问权限

在 Databricks 到 Databricks 共享模型中:

  1. 数据提供程序向你发送说明,以便你能够查找与 Databricks 工作区关联的 Unity Catalog 元存储的唯一标识符,然后你将此标识符发送给提供程序。

    共享标识符是由元存储的云、区域和 UUID(元存储的唯一标识符)组成的字符串,格式为 <cloud>:<region>:<uuid>。 例如,aws:eu-west-1:b0c978c8-3e68-4cdf-94af-d05c120ed1ef

    若要使用目录资源管理器获取共享标识符,请执行以下操作:

    1. 在 Azure Databricks 工作区中,单击 Data icon.Catalog

    2. “目录”窗格顶部,单击齿轮图标,然后选择OpenSharing

      或者,在右上角,单击“ 共享 > OpenSharing”。

    3. 在“ 与我共享 ”选项卡上,选择右上角的 Databricks 共享组织名称,然后选择“ 复制共享标识符”。

    若要使用笔记本或 Databricks SQL 查询获取共享标识符,请使用默认的 SQL 函数 CURRENT_METASTORE。 如果使用笔记本,则必须在工作区中 标准或专用访问模式 运行,才能访问共享数据。

    SELECT CURRENT_METASTORE();
    
  2. 数据提供程序创建:

    • 在其 Databricks 帐户中创建一个收件人,用于代表你和组织中要访问数据的用户。
    • 创建一个共享,代表了要与你共享的表、卷和视图。
  3. 你可以访问与你共享的数据。 如有必要,你或团队中的某人可为用户配置对该数据的精细数据访问。 请参阅使用 Databricks 到 Databricks OpenSharing 读取共享数据(适用于接收者)

在 Databricks-to-Open 共享模型中获取访问权限

在 Databricks 到 Open 的共享模式中:

  1. 数据提供程序创建:

    • 在其 Databricks 帐户中创建一个收件人,用于代表你和组织中要访问数据的用户。
    • 创建一个共享,表示要与你共享的表和分区
  2. 数据提供者会通过安全通道发送给您激活 URL 或门户 URL。 请通过此链接下载凭据文件或 URL,以便能够访问与你共享的数据。

    支持持有者令牌和 OAuth 客户端凭据。

    Important

    不要与任何人分享激活链接。 只能下载凭据文件一次。 如果在下载凭据文件后再次访问激活链接,则“下载凭据文件”按钮处于禁用状态。

    如果在使用激活链接之前丢失了激活链接,请联系数据提供者。

  3. 将凭据文件存储在安全位置中。

    不要与有权访问共享数据的用户组之外的任何人共享凭据文件。 如果需要与组织中的某人共享它,Databricks 建议使用密码管理器。

在 Open-to-Databricks 模型中获取访问权限

在 Open-to-Databricks 模型中:

  1. 数据提供程序使用 开源 OpenSharing 协议 创建共享并将资产添加到共享。

  2. 数据提供者会通过安全通道发送给您激活 URL 或门户 URL。 请通过此链接下载凭据文件或 URL,以便能够访问与你共享的数据。

    支持持有者令牌和 OAuth 客户端凭据。

    Important

    不要与任何人分享激活链接。 只能下载凭据文件一次。 如果在下载凭据文件后再次访问激活链接,则“下载凭据文件”按钮处于禁用状态。

    如果在使用激活链接之前丢失了激活链接,请联系数据提供者。

  3. 将凭据文件存储在Azure Databricks工作区中。

    不要与有权访问共享数据的用户组之外的任何人共享凭据文件。

读取共享数据

如何读取通过 OpenSharing 安全共享给你的数据,取决于你收到的是凭据文件,还是你使用的是 Databricks 工作区,并已向数据提供方提供了你的共享标识符(Databricks 到 Databricks 模式)。

注释

如果在尝试读取共享时收到一个错误,指出数据资产不存在,请参阅 数据资产“不存在”错误

使用凭据文件读取共享数据(Databricks-to-Open 共享或 Open-to-Databricks 共享)

如果使用持有者令牌与你共享数据,请使用下载的凭据文件向数据提供程序的帐户进行身份验证并读取共享数据。 只要基础令牌有效且提供程序继续共享数据,访问就会持续。 提供商管理令牌的过期和更新。 令牌在创建后最多一年有效。 你可以准乎实时地获得对数据的更新。 可读取和复制共享数据,但不能修改源数据。

若要使用Azure Databricks访问和读取共享数据,请参阅导入提供程序并在Azure Databricks中读取共享数据

若要使用 Apache Spark、pandas 和Power BI访问和读取共享数据,请参阅读取与持有者令牌共享的数据

使用 OIDC 联合身份验证读取共享数据(Databricks-to-Open 共享)

如果有人使用带有 OIDC 联合身份验证的 Databricks-to-Open 共享协议与你共享了数据,你可以使用发送给你的 URL 向数据提供方的账户进行身份验证并读取共享数据。 只要提供程序继续共享数据,Access 就持续存在。 你可以准乎实时地获得对数据的更新。 可读取和复制共享数据,但不能修改源数据。

若要了解如何在 Tableau 和 Power BI 中使用 OIDC 令牌联合流访问和读取共享数据,请参阅 U2M 流中使用 Open ID Connect (OIDC) 联合身份验证共享的数据Read data shared in a U2M flow。 若要了解如何在Python客户端应用中使用 OIDC 令牌联合流访问和读取共享数据,请参阅 M2M 流中使用 Open ID Connect (OIDC) 联合身份验证共享的数据

读取使用 Databricks 到 Databricks 共享共享的数据

如果数据是使用 Databricks 到 Databricks 共享模型与你共享的,则你无需凭据文件即可访问共享的数据。 Databricks 将负责创建安全连接,在你的 Databricks 工作区中可以自动发现共享的数据。

若要了解如何查找、读取和管理 Databricks 工作区中的共享数据,请参阅 “读取使用 Databricks 到 Databricks OpenSharing(面向收件人)共享的数据”。

审查共享数据的使用

如果有权访问Azure Databricks工作区,可以使用Azure Databricks审核日志来了解组织中的谁正在使用 OpenSharing 访问哪些数据。 请参阅审核和监视数据共享

其他资源