安装 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,以便为组织中的编码员和非编码员提供支持。
1.安装原生应用程序¶
通过代码或 Marketplace 安装原生应用程序:
- 如果您不想同意 Marketplace 提供商和使用者条款:
则在您的 Snowflake 账户中运行以下代码:
USE ROLE ACCOUNTADMIN; CALL system$accept_legal_terms('DATA_EXCHANGE_LISTING', 'GZSTZTP0KKO'); 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 中没有的 附加功能,如计划查询、第三方激活和有用的预定义模板。
以下是在您的 Snowflake 账户中启用 Clean Room UI 的方法:
配置您的网络策略,以 允许 Clean Room UI 访问您的 Snowflake 账户。(仅在您的 Snowflake 账户使用网络策略控制网络流量时才需要)。
创建一个服务用户。 该服务用户由 Clean Room UI 用来与 Snowflake 通信。
使用您的 Snowflake 管理员凭据登录 Snowsight,并创建一个服务用户,如下所示。提供您可以访问的密码和电子邮件地址。我们建议使用分发列表,而不是个人电子邮件。
-- Create the service user account. 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 中退出当前用户,然后使用 服务用户的凭据 重新登录同一 Snowflake 账户。
打开配置文件,并选择 Resend verification email。
打开验证电子邮件,点击链接验证服务用户电子邮件地址。无需使用服务用户的凭据再次登录 Snowsight。您可以在 Admin » Snowflake Admin 页面 Snowflake 下方的 Clean Room UI 中查看服务用户的详细信息。
完成 UI 设置。 本步骤将网络策略应用到服务用户,将服务用户从密码身份验证迁移到密钥对身份验证,并将 SAMOOHA_APP_ROLE 授予服务用户。请按照以下步骤完成 UI 的基本设置:
使用您的 Snowflake 凭据 登录 Clean Room UI。
打开 Admin » Snowflake Admin » Connect to Snowflake account。
输入您的服务账户用户名,然后选择 Save。
您现在可以使用 Clean Room UI。
配置 Clean Room UI 环境¶
安装原生应用程序、API 和 UI 之后,应配置环境并添加用户:
添加 Clean Room UI 管理员和用户。 管理员每天管理环境,可以执行许多操作,例如管理协作者和配置第三方连接器。用户可以创建或加入 Clean Room 并进行分析。
添加开发者。 向您 Snowflake 账户中的开发者授予 API 访问权限,以便他们在您的账户中创建或使用 Clean Room。
启用 Cross-Cloud Auto-Fulfillment。 默认情况下,Clean Room 仅可与创建者所在底层云区域的使用者共享。如果您想让提供商与其他云区域的使用者共享 Clean Room,则必须为您的账户启用 Cross-Cloud Auto-Fulfillment。
注册 UI 中可用的数据集。 使用 Clean Room UI 的协作者只能将已由 Clean Room UI 管理员预先注册的数据导入其 Clean Room。
安装故障排除¶
按照本节排除完成本主题中的步骤后可能遇到的问题。
- 症状:权限不足
解决方案: 确保您的网络策略允许与 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。
在安装过程中接受应用程序的默认名称。