安装 Snowflake Data Clean Rooms 环境¶
准备工作¶
在 Snowflake 账户中为该账户的所有用户安装了 Clean Room 环境。
账户内的用户由 Clean Room 管理员授权进入 Clean Room 环境。
如果您的账户未安装 Clean Room 环境:请按照本页的安装说明进行操作。
如果您收到了加入 Clean Room 的电子邮件邀请:请点击链接,提供您的电子邮件地址和新密码(如有指示)。这将打开 Clean Room UI,您可以在其中联接并使用 Clean Room。请注意,您必须提供收到邀请的电子邮件地址。密码是您的 Clean Room 账户专用的;建议不要重复使用您的 Snowflake 密码。
如果您的账户已安装 Clean Room 环境,并且您希望访问:请向 Clean Room 管理员申请访问 API 和/或 UI。
概述¶
Snowflake Data Clean Room 包括两个环境:
Clean Room UI: 基于浏览器的无代码环境,使用户可以轻松创建或运行分析。
The clean rooms API: Access to a set of stored procedures used to create and manage clean rooms and run analyses.
这些环境提供类似但 并不完全等效的 能力。Clean Room 管理员在 Snowflake 账户中安装一个或两个组件,然后可分别授予用户对每个环境的访问权限。
安装 Snowflake Data Clean Room 的要求¶
账户和用户要求¶
以下是在 Snowflake 账户中安装 Snowflake Data Clean Rooms 的要求:
账户必须是所需的 Snowflake 版本:
要创建 Clean Room,您必须拥有 Enterprise Edition 或更高版本。
为了能够联接和使用其他账户中创建的 Clean Room,您必须拥有 Standard Edition 或更高版本。
不支持阅读者账户, 因为阅读者账户不允许共享安装和运行 Clean Room 应用程序所需的数据。
账户必须允许 密钥对身份验证,由服务账户用于进行身份验证。
您必须接受数据共享条款。 如果您尚未接受 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 环境。
You must always install the native app (step 1), but after that you can enable the clean rooms UI for browser usage, the clean rooms API for code usage, or both. We recommend installing both the UI and the API to support both coders and non-coders in your organization.
1.安装原生应用程序¶
通过 Marketplace 安装原生应用程序:
则将您当前的角色设置为 ACCOUNTADMIN
从 Snowflake Marketplace 安装 Snowflake Data Clean Room 应用程序
选择 Get 并接受默认选项。
安装只需几分钟时间。
2. Install the clean rooms API¶
The clean rooms API is used for programmatic creation and usage of clean rooms.
Here are the steps to install the clean rooms API in your Snowflake account:
After installing the native application, launch it in Snowflake. In the navigation menu, select Data Products » Apps » Snowflake Data Clean Rooms » Launch app. This opens a worksheet with SQL commands.
Run the SQL commands to install the clean rooms API, with the following notes:
如果在安装过程中重命名了原生应用程序,则需要按照脚本注释中的说明修改脚本。
如果想在运行前查看完整的安装脚本,请取消
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¶
The clean rooms UI provides an easy no-code environment to manage your clean rooms account and create clean rooms and run analyses. It also provides some additional functionality not available in the clean rooms API, such as scheduled queries, third-party activation, and useful predefined templates.
以下是在您的 Snowflake 账户中启用 Clean Room UI 的方法:
配置您的网络策略,以 允许 Clean Room UI 访问您的 Snowflake 账户。(仅在您的 Snowflake 账户使用网络策略控制网络流量时才需要)。
Complete the UI setup. This step configures a service user [*] that clean rooms UI uses to communicate with Snowflake.
使用您的 Snowflake 凭据 登录 Clean Room UI。
打开 Admin » Snowflake Admin » Connect to Snowflake account。
在 Enable the Data Clean Rooms UI 下选择 Quick Setup 或 Manual Setup:
Quick Setup - 这将为您创建服务用户。为该账户指定一个唯一的服务用户名。
Manual Setup - 如果您想自己创建服务用户或重用现有服务用户,请选择此选项。请注意,Clean Room 将控制服务用户并对其进行修改,因此请确保服务用户不用于其他任何用途。了解如何创建服务用户。
Enter your unique service user name and select Finish.
按照下一部分的说明 配置您的 Clean Room 环境。
Configure the clean rooms environment¶
安装原生应用程序、API 和 UI 之后,应配置环境并添加用户:
Add clean rooms UI administrators and users. Administrators manage the environment on a day-to-day basis and can perform many actions, such as managing collaborators and configuring third-party connectors. Users can create or join clean rooms and run analyses.
添加开发者。 向您 Snowflake 账户中的开发者授予 API 访问权限,以便他们在您的账户中创建或使用 Clean Room。
启用 Cross-Cloud Auto-Fulfillment。 默认情况下,Clean Room 仅可与创建者所在底层云区域的使用者共享。如果您想让提供商与其他云区域的使用者共享 Clean Room,则必须为您的账户启用 Cross-Cloud Auto-Fulfillment。
Register datasets available in the UI. A collaborator using the clean rooms UI can import only data that has been pre-registered by a clean rooms UI administrator into their clean room.
安装故障排除¶
按照本节排除完成本主题中的步骤后可能遇到的问题。
- 症状:权限不足
解决方案: 确保您的网络策略允许与 Clean Room UI 关联的 IP 地址。有关这些 IP 地址的列表,请参阅 配置网络策略。
- 症状:安装成功,但 Clean Room UI 无法正常运行。
解决方案 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。
在安装过程中接受应用程序的默认名称。
手动创建 UI 服务用户¶
安装 Clean Room UI 时,您可以让安装程序为您创建服务用户,也可以提供您创建的服务用户。以下是在 Snowsight 中创建服务用户的方法:
Sign in to Snowsight with your Snowflake administrator credentials and create a user as shown in the following SQL example:
-- Create the user. -- Clean rooms will set the type to SERVICE for you. USE ROLE USERADMIN; CREATE USER <SERVICE-USER-USERNAME>;
重要
Clean Room 会改变该用户的身份验证控制、网络策略和其他属性。将此用户提供给 Clean Room 环境后,您将无法自己使用该用户。