开始使用 Snowflake Data Clean Rooms

本主题介绍管理员必须完成哪些任务才能设置 Snowflake Data Clean Rooms。

先决条件

要使用 Snowflake Data Clean Room,账户必须满足以下条件:

如果您不满足某些要求并需要升级,请联系 Snowflake 支持部门

容量账户

您需要具有前期容量承诺的 Snowflake 账户才能使用 Snowflake Data Clean Rooms。

Snowflake On Demand 账户无法创建或使用 Clean Room。

Snowflake 版本

使用下表可确定 Clean Room 协作者的 Snowflake 账户需要哪个 Snowflake 版本

协作者

任务

所需的 Snowflake 版本

提供商

创建 Clean Room

Enterprise Edition 或更高版本

使用者

加入并使用 Clean Room

Standard Edition 或更高版本

提供商和使用者条款

在作为提供商或使用者使用 Snowflake Data Clean Room 之前,您需要同意其他 Snowflake 条款并遵守 Snowflake 政策。有关详细信息,请参阅 对列表提供商和使用者的法律要求

注册 Snowflake Data Clean Room 环境

重要

  • 最初作为 Clean Room 参与者注册的用户必须在与 Clean Room 环境关联的 Snowflake 账户中具有 ACCOUNTADMIN 角色。此 Clean Room 管理员需要使用 ACCOUNTADMIN 角色,才能在入门流程的后续步骤中配置 Snowflake 账户。

  • 请勿从 Snowflake Marketplace 安装本机应用程序, 而是使用注册链接进行注册。注册 Clean Room 环境后,按照 配置 Snowflake 账户 中所述的步骤安装应用程序。

  • 所有 Clean Room 用户(包括首次注册的用户)必须使用 支持的身份验证器应用程序 才能启用多重身份验证 (MFA)。

要注册并登录 Clean Room 环境,请执行以下步骤:

  1. 导航到 注册页面

  2. 使用 账户名称格式 的连字符形式(即 orgname-acctname)输入 Snowflake 账户的账户标识符。

  3. 输入电子邮件地址。

  4. 指定公司名称,用于在用户登录时标识 Clean Room 环境。

  5. 选择 Sign Up。您会收到一封电子邮件。

收到电子邮件后,请执行以下步骤:

  1. 选择 Verify Email。注册页面会重新打开。

  2. 指定 NamePassword

  3. 选择 Sign up

  4. 重定向到新页面时,登录到 Clean Room 环境

将 IP 地址添加到允许列表

如果 Snowflake 账户使用 网络策略 来控制网络流量,您必须明确允许来自 Web 应用程序与 Snowflake 账户通信时所用 IP 地址的流量。

使用以下内容,根据您在 Amazon Web Service (AWS)、Microsoft Azure (Azure) 或 Google Cloud 上的 Snowflake 账户所在的区域,确定网络策略必须允许哪些 IP 地址:

Snowflake 账户区域

Web 应用程序 IP 地址

  • AWS US 西部(俄勒冈州)

  • AWS US 东部(俄亥俄州)

  • AWS US 东部(弗吉尼亚北部)

  • AWS 南美(圣保罗)

  • Azure 西部 US 2(华盛顿)

  • Azure 中部 US(爱荷华州)

  • Azure 中南部 US(得克萨斯州)

  • Azure 东部 US 2(弗吉尼亚)

  • GCP US 中部 1(爱荷华州)

  • GCP US 东部 4(弗吉尼亚州北部)

  • 52.7.249.136

  • 34.195.16.248

  • 52.7.210.215

  • AWS 加拿大(中部)

  • Azure 加拿大中部(多伦多)

  • 15.223.145.218

  • 3.96.6.109

  • 15.222.142.44

  • AWS EU(爱尔兰)

  • AWS 欧洲(伦敦)

  • AWS EU (巴黎)

  • AWS EU (法兰克福)

  • AWS EU (斯德哥尔摩)

  • AWS EU (苏黎世)

  • Azure UK 南部(伦敦)

  • Azure 北欧(爱尔兰)

  • Azure 欧洲西部(荷兰)

  • Azure 瑞士北部(苏黎世)

  • Azure UAE 北部(迪拜)

  • GCP 欧洲西部 2(伦敦)

  • GCP 欧洲西部 4(荷兰)

  • 54.93.86.99

  • 3.126.238.8

  • 3.127.143.168

  • AWS 亚太地区(孟买)

  • Azure 印度中部(浦那)

  • 35.154.94.29

  • 13.235.168.249

  • 15.206.48.175

  • AWS 亚太地区(新加坡)

  • AWS 亚太地区(东京)

  • AWS 亚太地区(大阪)

  • AWS 亚太地区(首尔)

  • AWS 亚太地区(雅加达)

  • Azure 东南亚(新加坡)

  • Azure 日本东部(东京)

  • 13.228.90.174

  • 52.220.42.130

  • 52.220.249.16

  • AWS 亚太地区(悉尼)

  • Azure 澳大利亚东部(新南威尔士州)

  • 52.65.205.236

  • 52.62.198.227

  • 3.104.160.96

配置 Snowflake 账户

具有 ACCOUNTADMIN 角色的 Snowflake 用户必须先配置与 Clean Room 环境关联的 Snowflake 账户,然后用户才能创建和使用 Clean Room。

重要

  • 作为本节说明的一部分,您创建并作为服务账户用户登录。以该用户身份登录时,不要 注册多重身份验证 (MFA)。

  • 具有 ACCOUNTADMIN 角色的用户必须为其用户对象定义有效的名字、姓氏和电子邮件。要验证是否定义了这些属性,请执行 DESCRIBE USER 命令。

配置 Snowflake 账户时,您将完成以下常规任务:

  • 创建代表 Clean Room 环境的服务账户用户,以便 Clean Room 可以访问 Snowflake 账户。

  • 安装 Snowflake Native App,允许 Clean Room 与 Snowflake 账户中的数据进行交互。

  • 注册包含协作者在 Clean Room 中可访问的数据的数据库、架构和对象。

要完成这些任务,请执行以下步骤:

  1. 在 Clean Room 环境中访问 Snowflake Admin 控制台。执行以下步骤:

    1. 导航至 Snowflake Data Clean Room 登录页面

    2. 输入电子邮件地址,然后选择 Continue

    3. 输入密码。

    4. 如果您与多个 Clean Room 环境关联,请选择您正在配置的 Snowflake 账户。

    5. 在左侧导航栏中,选择 Snowflake Admin

    6. 选择 Login to Snowflake,并作为具有 ACCOUNTADMIN 角色的 Snowflake 用户进行身份验证。

  2. 为 Clean Room 与 Snowflake 交互时所用的服务账户用户指定详细信息。请务必记住这些详细信息,因为在后续步骤中将需要它们。请注意,在实施后,Snowflake 使用密钥对身份验证,而不是用户名/密码来验证服务账户用户。执行以下操作:

    1. 输入与服务账户用户关联的电子邮件地址。

    2. New Snowflake Username 字段中,指定 Snowflake 账户的唯一名称。

    3. 指定密码。

    4. 选择 Create,以创建服务账户用户。

  3. 验证新服务账户用户的电子邮件。执行以下步骤:

    1. 选择 Log into your Snowflake account

    2. 使用服务账户用户的凭据登录 Snowsight。您在上一步中指定了这些内容。如果出现提示,请 不要 注册多重身份验证 (MFA)。

    3. 要打开 用户菜单,选择服务账户用户的用户名,然后选择 My profile

    4. 选择 Resend verification email。系统会向服务账户用户的电子邮件地址发送一封验证电子邮件。

    5. 访问服务账户用户的电子邮件收件箱,打开验证电子邮件,然后选择 Validate Your Email

    6. 返回 Clean Room 环境的 Snowflake Admin 控制台,然后选择 Verify Status

  4. 要安装与 Snowflake Data Clean Rooms (SAMOOHA_BY_SNOWFLAKE) 关联的 Snowflake Native App,请执行以下步骤:

    1. 可选:使用 Setup Scripts 部分查看在账户中执行的代码以安装 Snowflake Native App。请 手动执行此代码。

    2. 不要更改应用程序的默认名称。

    3. 选择 Install 以安装 Snowflake Native App。

      Snowflake Native App 的安装流程可能需要一些时间。定期选择 Refresh 检查它是否完成,然后再继续下一步。

  5. Database Registration 部分,选择包含您希望协作者在 Clean Room 中能够访问的数据的数据库、架构和对象。注册数据库或架构将注册该数据库或架构中的所有对象。

    Snowflake Data Clean Rooms 的 Web 应用程序支持以下对象:

    • 外部表

    • Apache Iceberg™ 表

    • 视图

    • 物化视图

    • 安全视图。安全视图的所有者必须是 SAMOOHA_APP_ROLE 角色。

    备注

    完成这些步骤后,Clean Room 协作者无法立即使用添加到已注册数据库或架构的新对象。如果将对象添加到已注册数据库或架构,则需要使用 Web 应用的 Snowflake Admin 选项返回到 Database Registration 部分,然后选择 Resync

有关使用 Snowflake Data Clean Rooms 时 Snowflake 账户中安装的内容的信息,请参阅 Snowflake Data Clean Rooms:安装详细信息

允许密钥对身份验证

Clean Room 环境用于与 Snowflake 账户通信的服务账户用户使用 密钥对身份验证 进行身份验证。如果 Snowflake 账户使用 身份验证策略 来控制用户的身份验证方式,则控制服务账户用户的身份验证策略必须允许密钥对身份验证。

要允许密钥对身份验证,必须使用 AUTHENTICATION_METHODS = ALLAUTHENTICATION_METHODS = KEYPAIR 创建身份验证策略。如果 Snowflake 账户具有不允许密钥对身份验证的账户级身份验证策略,则需要创建具有相应参数的新身份验证策略,然后将该策略分配给在安装过程中创建的服务账户用户。

实现与不同区域的使用者的协作

如果 Snowflake 客户的账户与您的账户分别位于不同的区域,要与其进行合作,您必须为 Clean Room 环境启用 Cross-Cloud Auto-Fulfillment。在 Clean Room 管理员作为协作者在其他区域添加账户 之前,具有 ACCOUNTADMIN 角色的 Snowflake 用户必须启用 Cross-Cloud Auto-Fulfillment。

要配置 Clean Room 环境以允许协作者位于不同的区域,请执行以下步骤:

  1. 导航至 Snowflake Data Clean Room 登录页面

  2. 输入电子邮件地址,然后选择 Continue

  3. 输入密码。

  4. 如果您与多个 Clean Room 环境关联,请选择您正在配置的 Snowflake 账户。

  5. 选择 Admin » Snowflake Admin

  6. 选择 Login to Snowflake,并作为具有 ACCOUNTADMIN 角色的 Snowflake 用户进行身份验证。

  7. 开启 Cross-Cloud Auto-Fulfillment

与跨区域协作相关的成本

如果协作者在不同的区域,则需要支付额外费用。有关这些费用的产生方式的更多信息,请参阅 了解 Cross-Cloud Auto-Fulfillment 费用

对跨区域协作的限制

对跨区域协作的限制包括以下方面:

  • 协作者必须共享同一个 Web 应用程序托管区域。例如,如果一个账户的 Web 应用程序托管区域是 Amazon Web Services:US 东部(弗吉尼亚北部),而另一个账户的 Web 托管区域是 Amazon Web Services:亚太地区(孟买),则两个 Snowflake 客户无法协作。要确定两个协作者是否共用同一个 Web 应用程序托管区域,请参阅 Web 应用程序托管

  • 提供商不能在 Clean Room 中使用差分隐私。

  • 协作者无法在 Clean Room 中关联外部表和 Iceberg 表。

  • 提供商无法查看从 Clean Room 使用者发送的请求日志。

  • 使用者无法运行多提供商分析。

  • 协作者不能使用掩码策略或行访问策略。

故障排除

按照本节排除完成本主题中的步骤后可能遇到的问题。

症状:权限不足

解决方案: 确保您的网络策略允许与 Web 应用程序关联的 IP 地址。有关这些 IP 地址的列表,请参阅 将 IP 地址添加到允许列表

症状:安装成功,但 Web 应用程序运行不正常。

解决方案 1: 使用 DESCRIBE USER 命令反复检查您用于配置 Snowflake 的 Snowflake 用户是否具有有效的名字、姓氏和电子邮件地址。如果用户缺少其中任何一项,请执行 ALTER USER 命令指定它们。

解决方案 2: 尝试卸载 Snowflake Data Clean Rooms 的 Snowflake Native App,然后重新安装。

  • 要卸载应用程序,请参阅 卸载 Snowflake 本机应用程序。如果您安装的应用程序具有默认名称,则名为 SAMOOHA_BY_SNOWFLAKE。

  • 要重新安装应用程序,请执行以下操作:

    1. 登录 Web 应用程序

    2. 在左侧导航栏中,选择 Snowflake Admin

    3. 选择 Login to Snowflake,并作为具有 ACCOUNTADMIN 角色的 Snowflake 用户进行身份验证。

    4. 使用 DESCRIBE USER 命令确认具有您刚才用于身份验证的 ACCOUNTADMIN 角色的 Snowflake 用户具有有效的名字、姓氏和电子邮件地址。如果用户缺少其中任何一项,请执行 ALTER USER 命令指定它们。

    5. 要安装 Snowflake Native App,请选择 Install

    6. 在安装过程中接受应用程序的默认名称。

后续步骤

有关 Clean Room 环境设置(包括添加用户和协作者)所需的其他步骤,请参阅 Snowflake Data Clean Rooms:管理员任务

语言: 中文