安装 Snowflake Data Clean Rooms 环境¶
准备工作¶
在 Snowflake 账户中为该账户的所有用户安装了 Clean Room 环境。
账户内的用户由 Clean Room 管理员授权进入 Clean Room 环境。
如果您的账户未安装 Clean Room 环境:请按照本页的安装说明进行操作。
如果您收到了加入 Clean Room 的电子邮件邀请:请点击链接,提供您的电子邮件低至和新密码(如有指示)。这将打开 Clean Room Web 应用程序,您可以加入并使用 Clean Room。请注意,您必须提供收到邀请的电子邮件地址。密码是您的 Clean Room 账户专用的;建议不要重复使用您的 Snowflake 密码。
如果您的账户已安装 Clean Room 环境,并且您希望访问:请向 Clean Room 管理员申请访问 API 和/或 UI。
概述¶
Snowflake Data Clean Room 包括两个环境:
Clean Room UI: 基于浏览器的无代码环境,使用户可以轻松创建或运行分析。
Clean Room API: 访问一组用于创建和管理 Clean Room 以及运行分析的存储过程。
这些环境提供类似但 并不完全等效的 能力。Clean Room 管理员在 Snowflake 账户中安装一个或两个组件,然后可分别授予用户对每个环境的访问权限。
安装 Snowflake Data Clean Room 的要求¶
账户和用户要求¶
以下是在 Snowflake 账户中安装 Snowflake Data Clean Rooms 的要求:
账户必须是所需的 Snowflake 版本:
要创建 Clean Room,您必须拥有 Enterprise Edition 或更高版本。
为了能够联接和使用其他账户中创建的 Clean Room,您必须拥有 Standard Edition 或更高版本。
账户必须允许 密钥对身份验证,由服务账户用于进行身份验证。
您必须接受数据共享条款。 如果您尚未接受 Snowflake 客户控制的数据共享功能条款,请联系 Snowflake 支持团队。Snowflake Data Clean Room 利用 列表,这些列表是 Snowflake 服务的一部分,受您与 Snowflake 的服务条款的约束,包括 Snowflake 客户控制的数据共享功能条款和 Snowflake 可接受使用策略。
不得定义账户级默认值 排序规则。您可以运行以下命令检查您的排序规则状态:
SHOW PARAMETERS LIKE 'DEFAULT_DDL_COLLATION' IN ACCOUNT;
(仅限 Clean Room UI)**Snowflake 账户必须是容量账户:** 这是一个有预付容量承诺的账户。Snowflake On-Demand 账户无法访问 Clean Room UI。
(仅限 Clean Room UI)**您必须使用 :ref:` 支持的身份验证器应用程序 <label-cleanroom_web_app_mfa>` 进行多重身份验证** (MFA)。
如果您不满足所有这些要求并需要升级,请联系 Snowflake 支持部门。
安装人员要求¶
以下是对 Clean Room 环境安装人员的要求:
您必须在 Snowflake 账户中拥有 ACCOUNTADMIN 角色,才能在该账户中安装 Clean Room 环境。
具有 ACCOUNTADMIN 角色的用户必须为其用户对象定义有效的名字、姓氏和电子邮件。要进行检查,请运行 DESCRIBE USER。
安装 Clean Room 环境¶
请按照以下步骤在您的 Snowflake 账户中安装 Clean Room 环境。
您必须始终安装原生应用程序(步骤 1),但之后您可以启用浏览器 Clean Room UI 和/或代码 Clean Room API。我们建议同时安装 UI 和 API,以便为组织中的编码员和非编码员提供支持。
备注
安装 Clean Room 环境需要三组账户凭据:
Snowflake 账户: 这是用于安装具有 ACCOUNTADMIN 权限的 Clean Room 环境的 Snowflake 账户。
Clean Room 账户: 这是用于登录 Clean Room Web 应用程序的账户。这些凭据由 Snowflake Data Clean Room 维护和管理,与您的 Snowflake 账户无关。使用新密码登录此账户。登录 Clean Room Web 应用程序后,如果需要执行 Snowflake 管理员功能,您将在 Web 应用程序内 使用您的 Snowflake 凭据登录。
服务用户: Web 应用程序使用 服务用户账户 </user-guide/cleanrooms/roles_overview>`与 Snowflake 通信。该用户从您的 Snowflake 账户中获得有限的权限。您将在 Clean Room 安装过程中创建服务账户,之后无需保存服务账户凭据或管理服务账户。您可以在 :ui:`Admin » Snowflake Admin 页面 Snowflake 下的 Clean Room UI 中查看您的服务用户详细信息。
1.安装原生应用程序¶
通过代码或 Marketplace 安装原生应用程序:
- 如果您不想同意 Marketplace 提供商和使用者条款:
则在您的 Snowflake 账户中运行以下代码:
USE ROLE ACCOUNTADMIN CREATE APPLICATION SAMOOHA_BY_SNOWFLAKE FROM LISTING 'GZSTZTP0KKO';
- 如果您同意 Marketplace 提供商和使用者条款:
则将您当前的角色设置为 ACCOUNTADMIN
从 Snowflake Marketplace 安装 Snowflake Data Clean Room 应用程序
选择 Get 并接受默认选项。
安装只需几分钟时间。
2.安装 Clean Room API¶
Clean Room API 用于 Clean Room 的编程创建和使用。
以下是在您的 Snowflake 账户中安装 Clean Room API 的步骤:
安装原生应用程序后,在 Snowflake 中启动它:Data products » Apps » Snowflake Data Clean Rooms » Launch app。这将打开一个包含 SQL 命令的工作表。
运行 SQL 命令安装 Clean Room API 的注意事项如下:
如果在安装过程中重命名了原生应用程序,则需要按照脚本注释中的说明修改脚本。
如果想在运行前查看完整的安装脚本,请取消
DRY_RUN=TRUE
脚本行的注释,然后运行包括该行在内的所有命令,以查看脚本内容。请注意,不要手动运行该命令暴露的安装脚本,否则可能导致安装不完整。请注意,安装需要几分钟时间。
确认可以访问 API:
USE ROLE samooha_app_role; USE WAREHOUSE app_wh; CALL SAMOOHA_BY_SNOWFLAKE_LOCAL_DB.LIBRARY.CHECK_MOUNT_STATUS();
如果返回 FALSE,请参阅下面的故障排除部分。
向您 Snowflake 账户中的其他用户授予 API 访问权限:
要添加具有 全部能力 的用户来创建和管理 Clean Room,请运行
GRANT ROLE SAMOOHA_APP_ROLE to USER USER
要添加仅具有 使用者运行权限 的用户,请创建一个或多个 Snowflake 角色,并授予用户对该角色的访问权限。然后,通过调用
consumer.grant_run_on_cleanrooms_to_role
,授予特定 Clean Room 的运行权限。
(可选)安装 Clean Room UI,实现无代码访问 Clean Room 或其他功能,如计划查询。
3.启用 Clean Room UI¶
Clean Room UI 提供了一个简单的无代码环境,用于管理 Clean Room 账户、创建 Clean Room 和运行分析。它还提供了一些 Clean Room API 中没有的 附加功能,如计划查询、第三方激活和有用的预定义模板。
重要
Clean Room 与 Snowflake 分开管理自己的用户凭据。我们建议您为 Clean Room 账户和 Snowflake 账户使用不同的密码。
以下是为您的 Snowflake 账户安装 Clean Room UI 的步骤:
配置您的网络策略,以 允许 Clean Room UI 访问您的 Snowflake 账户。(仅在您的 Snowflake 账户使用网络策略控制网络流量时才需要)。
创建一个服务用户。 该服务用户 由 Clean Room UI 用来与 Snowflake 通信。
使用您的 Snowflake 管理员凭据登录 Snowsight,并创建一个服务用户,如下所示。提供您可以访问的密码和电子邮件地址。我们建议使用分发列表,而不是个人电子邮件。
USE ROLE USERADMIN; CREATE USER <SERVICE-USER-USERNAME> PASSWORD='<SERVICE-USER-PASSWORD>' FIRST_NAME='DCR' LAST_NAME='Service User' EMAIL='<SERVICE-USER-EMAIL-ADDRESS>';
在 Snowsight 以外保存服务用户名和密码,因为在安装过程中会用到。
在 Snowsight 中退出当前用户,然后使用 服务用户的凭据 重新登录同一账户。
打开您的配置文件,并选择 Resend verification email。
打开验证电子邮件,点击链接验证服务用户电子邮件地址。无需再次使用服务用户的凭据登录 Snowsight。
创建 Clean Room UI 账户。 在此步骤中,您将创建一个 Clean Room 账户。Clean Room 账户凭据为电子邮件地址和密码,与您的 Snowflake 凭据无关。您将使用这些凭据登录 Clean Room UI。
访问 Clean Room 账户注册页面。您需要提供以下信息:
通过电子邮件发送给您的链接验证您的账户电子邮件地址,以设置您的 Clean Room UI 账户。您需要提供以下信息:
电子邮件地址: 这是您收到验证电子邮件的电子邮件地址。这是 Clean Room 凭据中的用户名。
公司名称: 该 Clean Room 账户的只读名称。您提供的名称将显示在 Clean Room UI 账户选择器中,也将显示在 Clean Room UI 中您的账户配置文件中。为您的所有 Clean Room 账户选择独一无二的名称,当您的 Clean Room 凭据可以访问多个 Clean Room 账户时,这类名称在账户选择器中将非常有意义。此名称仅对您账户中的提供商可见,对使用者不可见,并且只能通过联系 Snowflake 支持部门进行更改。如果把一个 Clean Room 账户作为使用者账户,另一个作为提供商账户,那么有用的名称示例可能是“Test consumer”和“Test provider”。
该 Clean Room 账户的 密码。
完成 UI 设置。 本步骤将网络策略应用到服务用户,将服务用户从密码身份验证迁移到密钥对身份验证,并将 SAMOOHA_APP_ROLE 授予服务用户。请按照以下步骤完成 UI 的基本设置:
打开 Admin » Snowflake Admin » Connect to Snowflake account 并使用您的 Snowflake 账户凭据登录。
输入您的服务账户用户名,然后选择 Save。
您现在可以使用 Clean Room UI。
配置 Clean Room UI 环境:
在环境中注册数据。 要在 Clean Room 中使用 Snowflake 数据,必须先由账户管理员注册。只有注册的数据才能被 Clean Room 创建者链接到 Clean Room 中。
添加 DCR 管理员。 DCR 管理员对 Web 应用程序进行日常管理,添加其他管理员和 Clean Room 管理员,可以启用和配置 Clean Room 可用的连接器,以及 执行其他任务。
添加 Clean Room 管理员。 Clean Room 管理员可以使用 Web 应用程序来创建 Clean Room,或在共享 Clean Room 时充当使用者。
添加开发者。 向您 Snowflake 账户中的开发者授予 API 访问权限,以便他们在您的账户中创建或使用 Clean Room。
为您的账户启用 SSO。 如果您的账户使用 SSO 管理身份验证,请了解如何为 Clean Room 环境启用 SSO。
启用 Cross-Cloud Auto-Fulfillment。 默认情况下,Clean Room 仅可与创建者所在底层云区域的使用者共享。如果要启用 Clean Room 与不同云区域的使用者共享,则必须为账户启用 Cross-Cloud Auto-Fulfillment。
安装故障排除¶
按照本节排除完成本主题中的步骤后可能遇到的问题。
- 症状:权限不足
解决方案: 确保您的网络策略允许与 Web 应用程序关联的 IP 地址。有关这些 IP 地址的列表,请参阅 配置网络策略。
- 症状:安装成功,但 Web 应用程序运行不正常。
解决方案 1: 使用 DESCRIBE USER 命令反复检查您用于配置 Snowflake 的 Snowflake 用户是否具有有效的名字、姓氏和电子邮件地址。如果用户缺少其中任何一项,请执行 ALTER USER 命令指定它们。
解决方案 2: 尝试卸载 Snowflake Data Clean Rooms 的 Snowflake Native App,然后重新安装。
要卸载应用程序,请参阅 卸载 Snowflake 本机应用程序。如果您安装的应用程序具有默认名称,则名为 SAMOOHA_BY_SNOWFLAKE。
要重新安装应用程序,请执行以下操作:
在左侧导航窗格中选择 Snowflake Admin。
选择 Login to Snowflake,并作为具有 ACCOUNTADMIN 角色的 Snowflake 用户进行身份验证。
使用 DESCRIBE USER 命令确认具有您刚才用于身份验证的 ACCOUNTADMIN 角色的 Snowflake 用户具有有效的名字、姓氏和电子邮件地址。如果用户缺少其中任何一项,请执行 ALTER USER 命令指定它们。
要安装 Snowflake Native App,请选择 Install。
在安装过程中接受应用程序的默认名称。