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 即可。

  • 如果您是账户管理员,且 Clean Room 环境未安装在您的 Snowflake 账户中,请阅读以下账户要求。如果您满足所有要求,请按照 以下说明为您的 Snowflake 账户安装 Clean Room 环境

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

  • **如果您是开发人员,**对您的账户拥有 ACCOUNTADMIN 访问权限的人必须 授予您对 SAMOOHA_APP_ROLE 的访问权限

Snowflake Data Clean Rooms 概述

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

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

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

以下是对 Snowflake 中如何使用 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 管理员(DCR* 管理员*)、Clean Room 创建者(Clean Room 经理)和开发人员。

了解详情

创建 Clean Room

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

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

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

了解详情

联接 Clean Room

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

(在 Web 应用程序中,“联接”和“安装”都用于描述使用者何时接受 Clean Room 邀请。这是因为 Clean Room 必须安装在使用者的 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 都安装了一个或多个 模板。模板是一种 SQL 查询,可以包含模板运行人员提供的运行时参数。这些参数使用户能够指定 Clean Room 中的哪些表用于查询、在查询中使用哪些列以及 WHERE 子句筛选器。

Snowflake 提供了一组用于 Web 应用程序的标准模板。这些模板支持常见用例,例如受众重叠、受众相似、库存预测和任意 SQL 查询。

开发人员可以创建自定义模板以在 Clean Room 中使用。

查询可以在 Web 应用程序或代码中运行。查询结果可以查看或下载,也可以共享给提供商、使用者或经批准的第三方,前提是允许在 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 既提供了无代码的 Web 应用程序,又提供了创建和管理 Clean Room 的 API。当前,Web 应用程序和 API 的功能并不完全相同。以下是只能在一个环境中执行的任务摘要:

仅限 Web 应用程序的功能

仅限 API 的功能

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

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

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

  • 使用身份提供商。

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

  • 创建模板链

  • 多提供商分析

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

Web 应用程序

可以在浏览器中管理和使用 Snowflake Data Clean Room。您可以使用 Web 应用程序以提供商或使用者的身份创建、管理和使用 Clean Room,为 Snowflake 账户管理 Web 应用程序或整个 Clean Room 环境。Web 应用程序是管理 Clean Room 环境的唯一途径。

权限和访问权限: Web 应用程序由 Clean Room 经理管理。Snowflake 账户的 DCR 管理员必须向您 授予使用 Web 应用程序的访问权限

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

该 Web 应用程序可从 Snowflake Web 应用程序 Snowsight 的一个单独的 URL 访问。URL 是特定于每个账户的。

要了解如何使用 Web 应用程序,请尝试 Web 应用程序教程,或 阅读有关 Web 应用程序的更多信息

API

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

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

权限和访问权限: 要使用 API,Snowflake 账户的 DCR 管理员必须向您 授予使用 samooha_app_role 的访问权限。使用 API 时,请使用您的 Snowflake 登录凭据。

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

语言: 中文