Snowflake Data Clean Rooms 概述

本页概述了 Snowflake Data Clean Room 的工作原理。如果您是 Snowflake 管理员并想在账户中安装 Clean Room,请阅读 安装 Snowflake Data Clean Rooms 环境

在您的账户中安装 Clean Room

Snowflake Data Clean Room 环境由对 Snowflake 账户拥有 ACCOUNTADMIN 权限的人为整个 Snowflake 账户(不是每个用户或每个 Clean Room)安装一次。

  • **如果您收到了联接 Clean Room 的电子邮件邀请,**您的 Snowflake 账户中已经安装了 Clean Room。您可以阅读本页的其余部分以了解有关 Clean Room 使用的更多信息,但您无需安装任何东西,只需联接 Clean Room 即可。

  • 如果您是账户管理员 且 Snowflake 账户中未安装 Clean Room 环境,请 了解如何为您的 Snowflake 账户安装 Clean Room 环境

  • **如果您不是账户管理员,**询问账户管理员您的账户是否已安装 Snowflake Data Clean Rooms。如果未安装,请他们安装并授予您访问权限。如果已安装,请他们授予您访问 Clean Room 的权限。

  • ** 如果您是开发者并需要 API 访问权限,则 ** 请求 Clean Room 管理员 为您授予 API 的访问权限

Snowflake Data Clean Rooms 概述

Data Clean Room 是可配置的隔离式 Snowflake 环境,协作者可以在其中导入数据,指定可以针对该数据运行哪些查询,并配置数据保护设置,例如差分隐私以及指定可联接和可投影的行。只有受邀才能访问 Clean Room。

Clean Room 不支持获利功能。提供商需要为启用 Clean Room 所需的各种后台进程付费;运行查询的账户按照 Snowflake 标准成本计费,用于支付数据和计算使用量。有关成本的更多信息,请参阅 了解成本

您必须得到 Clean Room 提供商的邀请才能访问 Clean Room。如果您想向更多的受众开放您的 Clean Room,则必须提供一种方式,让潜在的协作者与您联系,提供他们的 Snowflake 账户以供您邀请(或为 非 Snowflake 用户 提供电子邮件地址)。

以下是对 Snowflake Data Clean Room 工作原理的高级概述:

Clean Room 环境安装

Snowflake Data Clean Room 环境 由对 Snowflake 账户拥有 ACCOUNTADMIN 权限的人为整个 Snowflake 账户(不是每个用户或每个 Clean Room)安装 一次

管理员配置环境以指定该账户中的哪些用户可以创建 Clean Room 并运行查询、哪些用户有 API 访问权限、哪些账户可以受邀在 Clean Room 中协作、Clean Room 创建者可以导入哪些数据,以及哪些(如果有)第三方服务可用于导出在此账户中创建的任何 Clean Room 的查询结果。

如果已经为您的账户安装了 Clean Room 环境,请联系您的 Clean Room 管理员获取访问权限。如果尚未为您的账户安装 Clean Room 环境,请了解如何安装该环境

安装和配置环境后,管理员向其他 Snowflake 用户授予 Clean Room UI 和/或 API 的使用权限。

了解详情

创建 Clean Room

Snowflake 账户管理员向其账户中的用户授予权限,以便能够创建 Clean Room。Clean Room 的创建者称为该 Clean Room 的 提供商。提供商可以配置 Clean Room 并与其他 Snowflake 账户中的用户(甚至是非 Snowflake 用户)共享。当有人与您共享 Clean Room 时,您被称为该 Clean Room 的 使用者

备注

提供商和使用者角色适用于 Snowflake 账户级别,而不是个人用户级别。也就是说,如果您在 Snowflake 账户 ABC 中创建 Clean Room,则有权访问 ABC Clean Room 环境的所有 ABC 用户都可以管理您的 Clean Room。同样,如果您邀请 Snowflake 账户 EFG 成为使用者,则 EFG 中拥有 Clean Room 访问权限的所有用户都是该 Clean Room 的使用者。

创建 Clean Room 后,提供商将表或视图导入(链接)其中,指定可以针对其数据运行哪些查询,其数据中的哪些列可以联接或出现在结果中,以及可以对结果执行哪些操作。(如后所述,您可以在标准 Clean Room 上创建变体。)

然后,提供商邀请使用者联接 Clean Room,导入自己的表和视图,并运行提供商指定的其中一个查询。使用者必须获得 Clean Room 管理员的预先批准,然后才能被邀请访问 Clean Room。

了解详情

联接 Clean Room

创建和配置 Clean Room 后,提供商会向其他账户中的用户发送联接 Clean Room 的邀请。这些受邀用户被称为 使用者,有时被称为 协作者。通过 Clean Room UI 受邀的使用者会收到一封联接 Clean Room 的电子邮件邀请。Snowflake 用户必须安装 Clean Room 环境才能受邀联接 Clean Room,但您可以 `邀请非 Snowflake 用户 :doc:`</user-guide/cleanrooms/managed-accounts> 联接 Clean Room。Snowflake 账户必须由 Clean Room 管理员列入许可名单,然后 Clean Room 创建者才能邀请该账户中的用户。

(在 Clean Room UI 中,“联接”和“安装”都用于描述使用者何时接受 Clean Room 邀请。这是因为 Clean Room 必须安装在使用者的 Clean Room 环境中。)

联接 Clean Room 后,使用者在该 Clean Room 中导入模板(链接)所需的任何数据,指定如何访问他们的数据,例如可以联接或投影哪些列,提供任何特定模板的筛选器或其他参数,然后运行该模板。如果需要,使用者可以指定模板的重复运行。可以在浏览器中查看结果,也可以下载结果。如果提供商启用了激活功能且使用者批准,则用户可以将结果导出到批准的位置(他们自己的 Snowflake 账户或提供商指定的第三方激活连接器)。

任何一方(提供商或使用者)都不能直接查询或查看导入 Clean Room 的数据,但只能通过该 Clean Room 中的模板进行访问。模板是由提供商或使用者在 Clean Room 中安装的 SQL 查询,必须获得另一方的许可才能在 Clean Room 中使用。

各方还根据自己的数据设置访问规则,包括哪些列可以联接、投影或导出,以及哪些模板可以在 Clean Room 中运行。各方可以随时从 Clean Room 中删除其数据。

默认情况下,只有使用者可以在 Clean Room 中运行模板,但提供商可以要求使用者在 Clean Room 中运行指定的模板。

了解详情

运行查询

每个 Clean Room 都安装了一个或多个 模板。模板是一种 SQL 查询,可以包含模板运行人员提供的运行时参数。这些参数使用户能够指定 Clean Room 中的哪些表用于查询、哪些列用于查询、WHERE 子句筛选器等。您不能简单地在 Clean Room 中运行任意 SQL 查询,而是必须创建一个计算结果为 SQL 查询的模板,并请求对方允许运行该模板。

Snowflake 提供了一组用于 Web 应用程序的标准模板。这些模板支持常见用例,例如受众重叠、受众相似、库存预测和任意 SQL 查询。开发者还可以创建自定义模板,在他们的 Clean Room 中使用。

模板可以在 Clean Room UI 中运行,也可以在代码中运行。模板结果可以查看或下载,也可以共享给提供商、使用者或经批准的第三方,前提是允许在 Clean Room 中 激活

了解详情

Clean Room 变体

如上所述,最常见的 Clean Room 是这样的,提供商导入数据并指定一个或多个可以针对数据运行的特定查询以及如何共享结果,使用者导入自己的数据并对组合数据运行允许的查询。但是,提供商可以允许标准 Clean Room 的多种变体:

关于提供商和使用者

Clean Room 协作者被归类为给定 Clean Room 的 提供商使用者。提供商是创建 Clean Room 的账户;使用者是共享 Clean Room 的账户。您不能在创建 Clean Room 的同一个账户中邀请某人充当该 Clean Room 的使用者。同一 Snowflake 账户中的所有用户在该账户中的同一个 Clean Room 中具有相同的 Clean Room 角色(提供商或使用者)。

您是提供商还是使用者,完全取决于您是否创建或共享了 Clean Room,而不是由任何 Snowflake 角色或其他权限决定。

以下是有关提供商和使用者角色的更多信息。

小技巧

有时,协作者 一词是指使用者或任何有权访问给定 Clean Room 的人。

提供商

提供商 被定义为创建 Clean Room 的账户。任何通过该账户访问 Clean Room 的人都被视为该 Clean Room 的提供商。

提供商执行以下 Clean Room 操作:

  • 创建、共享和删除 Clean Room

  • 指定谁可以作为使用者使用 Clean Room(邀请使用者)

  • 将数据导入 Clean Room

  • 定义哪些模板可以在 Clean Room 中运行

  • 指定使用者是否可以在 Clean Room 中运行自定义模板

  • 邀请使用者共享 Clean Room

  • 指定 Clean Room 中使用哪些模板,并为 Clean Room 创建自定义模板

  • 如果使用者同意,则对使用者数据进行查询

  • 允许链接模板

  • 将 Python 脚本加载到 Clean Room 中以在模板中使用

  • 允许在使用者查询中使用来自其他指定 Clean Room 的数据来查询来自该 Clean Room 的提供商数据

  • 为 Clean Room 或使用者启用或禁用差分隐私

  • 管理 Clean Room 的版本控制

  • 根据自己的数据设置列和联接策略

使用者

使用者 被定义为由提供商向其发出联接(安装)Clean Room 邀请的账户。

使用者执行以下 Clean Room 操作(根据 Clean Room 配置):

  • 为他们的账户联接(安装)Clean Room

  • 将数据导入 Clean Room

  • 运行 Clean Room 支持的所有查询

  • 导出 Clean Room 启用的查询结果

  • 请求在 Clean Room 中使用自己的模板的权限

  • 指定提供商是否可以在 Clean Room 中运行模板(默认情况下,只有使用者才能运行模板)

  • 允许 Clean Room 提供商对使用者的数据运行查询

  • 如果所有受影响 Clean Room 的提供商都同意,则运行涵盖来自多个 Clean Room 的数据和提供商数据的查询。

  • 将 Python 脚本加载到 Clean Room 中(获得提供商的许可)

  • 根据自己的数据设置列和联接策略

  • 为提供商运行的查询设置差分隐私设置

访问 Snowflake Data Clean Room 的方法

Snowflake Data Clean Room 同时提供基于浏览器的无代码应用程序(洁净室 UI)和 API,以创建和管理 Clean Room。当前,Clean Room UI 和 API 的功能并不完全相同。以下是差异摘要:

仅限 UI 的功能

仅限 API 的功能

  • 环境管理任务,例如 Clean Room 徽标、名称和描述、可用激活或身份连接器列表。

  • 管理管理员、提供商和(潜在)使用者账户的列表。

  • 计划模板的重复运行。(您可以使用其他脚本工具 [例如 cron 作业] 来计划运行。)

  • 使用身份提供商。

  • 创建提供商或使用者的自定义模板

  • 创建模板链

  • 多提供商分析

请注意,您可以在 Web 应用程序中创建 Clean Room 并在 API 中使用或管理,反之亦然。

Clean Room UI

可以在浏览器中管理和运行 Snowflake Data Clean Room。您可以使用 Clean Room UI,以提供商或使用者的身份创建、管理和使用 Clean Room,或者配置各种账户级别的功能,例如托管账户、第三方连接器和 UI 用户功能。

许可和访问权限: 您必须被 Clean Room 管理员 Clean Room UI 的访问权限

Clean Room UI 需要电子邮件地址、姓名和密码才能登录。该电子邮件地址无需与您的 Snowflake 账户电子邮件地址相匹配,而是由 Clean Room 管理员指定的。您的用户名和密码由您选择。

Clean Room UI 可通过 Snowflake Web 应用程序 Snowsight 以单独的 URL 访问。URL 是特定于每个账户的。

要感受如何使用 Clean Room UI,请 尝试 Clean Room UI 教程,或 阅读有关洁净室 UI 的更多信息

API

Snowflake 提供许多存储过程来创建或运行 Clean Room。可以通过 Snowsight 笔记本或工作表或任何其他命令行界面调用这些过程,您可以在您的 Snowflake 账户中运行存储过程。

这些过程使您能够以提供商或使用者的身份执行创建、管理或使用 Clean Room 所需的大部分使用者或提供商操作。API 不启用管理操作;要管理 Clean Room,必须使用 Web 应用程序。阅读 API 的参考文档。

权限和访问权限: 要使用 API,Snowflake 账户的 Clean Room 管理员必须向您 授予使用 samooha_app_role 的访问权限

阅读有关 Clean Room API 的信息尝试 API 教程

您的 Snowflake 账户中是否安装了 Clean Room 环境?

以下是判断您的账户中是否安装了 Clean Room UI 或 API 的方法:

在 Snowsight 中,打开 Data Products » Apps » Installed Apps,查看是否已安装 Snowflake Data Clean Room。

语言: 中文