Snowflake Data Clean Rooms:管理员任务¶
本主题介绍 Snowflake Data Clean Room 管理员的任务。有关首次实施清洁环境的信息,请参阅 Snowflake Data Clean Rooms 概述。
以 Snowflake 管理员身份登录¶
Clean Room 环境与 Snowflake 分开管理用户凭据。也就是说,您的 Clean Room Web 应用程序凭据与您的 Snowflake 凭据分开存储和管理。
当您使用 Clean Room 管理员账户登录 Clean Room 时,您将默认为 Web 应用程序中的 DCR 管理员角色。如果您想将您的权限提升到 Snowflake 管理员角色,必须按照此处的说明登录。
要以管理员身份登录 Web 应用程序,请执行以下操作:
使用您的 Clean Room 凭据 登录 Web 应用程序。
导航到 Admin > Snowflake Admin。
选择 Log in to Snowflake 并提供您的 Snowflake 凭据。使用您用于安装环境的凭据。
将潜在协作者添加到环境中¶
具有管理员角色的 Clean Room 用户必须先添加潜在协作者,之后 其他用户才能与该协作者共享 Clean Room。
备注
如果 Snowflake 客户的账户所在区域与 Snowflake 账户不同,则您的账户管理员必须先启用 Cross-Cloud Auto-Fulfillment,然后您才能将客户添加为协作者。包括在其他区域中与客户协作的限制有关的更多信息,请参阅 关于 Cross-Cloud Auto-Fulfillment。
要在 Clean Room 环境中添加某人为协作者,请执行以下步骤:
以 Clean Room 管理员身份登录。此用户无需在 Snowflake 中具有 ACCOUNTADMIN 角色。
在左侧导航栏中,选择 Collaborators。
执行下列操作之一:
如果协作者拥有 Snowflake 账户,请选择 Snowflake Partners » + Snowflake Partner。系统会提示您输入协作者的 Snowflake 账户的详细信息。
如果协作者不是 Snowflake 客户,请选择 Managed Accounts 选项卡,为其创建 Clean Room 托管账户。
添加 DCR 管理员或 Clean Room 经理¶
DCR 管理员可以配置和管理 Clean Room 环境。
Clean Room 经理可以使用 Web 应用程序在该账户中创建新 Clean Room(充当 Clean Room 提供商以及 Clean Room 使用者)。
要允许您的 Snowflake 账户中的用户使用 Web 应用程序,请按照下列步骤操作:
以 Clean Room 管理员身份登录。此用户无需在 Snowflake 中具有 ACCOUNTADMIN 角色。
选择 User Management。
选择 + Users。
输入新 Clean Room 用户的电子邮件地址。
选择新用户的角色。
新用户会收到一封电子邮件,其中包含了加入 Clean Room 的链接。
授予 API 访问权限¶
您可以授予您账户中的其他 Snowflake 用户对您的 Clean Room 的完整 API 访问权限,或授予指定 Clean Room 更有限的权限。
授予完整 API 访问权限¶
要允许用户对您账户中的所有 Clean Room 使用任何 Clean Room 程序,请按照以下步骤操作:
登录到与 Clean Room 环境关联的 Snowflake 账户,即安装 Snowflake Native App 的地方。
打开工作表,然后使用 ACCOUNTADMIN 角色将 SAMOOHA_APP_ROLE 角色分配给用户。
例如,要允许用户
joe
使用开发者 APIs,请执行以下代码:USE ROLE accountadmin; GRANT ROLE samooha_app_role TO USER joe;
授予有限的 API 访问权限¶
您可以将 运行访问权限 授予您账户中指定的使用者 Clean Room。运行访问权限意味着只能运行 使用者程序的子集,例如 consumer.run_analysis
。consumer.install_cleanroom
等程序无法使用该角色运行。
要向用户授予有限的权限,请执行以下操作:
对 SAMOOHA_APP_ROLE 拥有 GRANT ROLE 权限的用户创建新角色并将其授予用户:
USE ROLE ACCOUNTADMIN; CREATE ROLE MARKETING_ANALYST_ROLE; GRANT USAGE ON WAREHOUSE APP_WH TO MARKETING_ANALYST_ROLE; -- Or whichever warehouse you are using GRANT ROLE MARKETING_ANALYST_ROLE TO USER george.washington;
然后,Clean Room 管理员授予新角色对特定 Clean Room 的有限权限:
CALL samooha_by_snowflake_local_db.consumer.grant_run_on_cleanrooms_to_role( ['overlap_cleanroom', 'market_share_cleanroom'], 'MARKETING_ANALYST_ROLE' );
用户使用有限角色在 Clean Room 账户中执行特定操作:
-- User george.washington logs in and uses the proper role. USE WAREHOUSE APP_WH USE ROLE MARKETING_ANALYST_ROLE; -- Consumer-run analyses should succeed. CALL samooha_by_snowflake_local_db.consumer.run_analysis( $cleanroom_name, 'prod_overlap_analysis', ['SAMOOHA_SAMPLE_DATABASE.MYDATA.CONVERSIONS'], -- Consumer tables ['SAMOOHA_SAMPLE_DATABASE.DEMO.EXPOSURES'], -- Provider tables object_construct( 'max_age', 30 ) ); -- Most other procedures will fail. CALL samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
要撤销此角色的运行权限,请调用 consumer.revoke_run_on_cleanrooms_from_role
。
要查看哪些用户被授予了特定角色,请执行以下操作:
SHOW GRANTS OF ROLE <run_role_name>;
添加仓库选项¶
任何具有 SAMOOHA_APP_ROLE 角色使用和操作权限的仓库都可以用于运行分析。要添加可以被 Clean Room 用户用于执行分析的仓库,请创建一个仓库,然后将其权限授予 SAMOOHA_APP_ROLE。
例如,要添加一个可以用于运行分析的仓库 my_big_warehouse
,请通过工作表执行以下命令:
USE ROLE ACCOUNTADMIN;
CREATE WAREHOUSE my_big_warehouse WITH WAREHOUSE_SIZE = X5LARGE;
GRANT USAGE, OPERATE ON WAREHOUSE my_big_warehouse TO ROLE SAMOOHA_APP_ROLE;
监控 Web 应用程序活动¶
管理员可以监控 Snowflake 账户中的查询历史记录,以跟踪用户在 Web 应用程序中执行的操作。您可以识别与 Web 应用程序中的活动对应的查询历史记录条目,因为 user_name
的值是 配置 Snowflake 账户 时创建的服务用户的名称。
您可以使用 user_email
查询标签来识别哪个 Clean Room 用户执行了操作。
要访问 Clean Room 环境的查询历史记录,请根据是要使用 SQL 还是 Snowsight 来执行以下过程之一:
- Snowsight:
以具有 ACCOUNTADMIN 角色的用户身份登录与您的 Clean Room 环境关联的 Snowflake 账户。
选择 Monitoring » Query History。
使用 User 筛选器选择与 Clean Room 环境关联的服务账户用户。
- SQL:
对共享的 SNOWFLAKE 数据库的 ACCOUNT_USAGE 架构中的 QUERY_HISTORY 视图 执行查询。
例如,如果要跟踪用户
joe@example.com
的 Web 应用程序活动,请执行以下代码:SELECT *, TRY_PARSE_JSON(query_tag) AS query_tag_details FROM snowflake.account_usage.query_history WHERE query_tag_details IS NOT NULL AND query_tag_details:request_type = 'DCR' AND query_tag_details:user_email = 'joe@example.com';
监控由提供商运行的分析¶
提供者运行的分析是指提供者创建并共享 Clean Room 的过程,在使用者链接他们的数据后,在 Clean Room 中进行分析。这些分析在使用者的账户中运行,而不是在提供者的账户中。本节描述了使用者如何在 Clean Room 中跟踪由提供者分析执行的查询。
Snowflake Data Clean Rooms 为每个执行的查询分配一个查询标签,以进行提供者运行的分析。该查询标签的形式为 cleanroom_UUID_provider_account_locator
。消费者可以通过在其账户的查询历史中搜索查询标签,检索与提供商运行的分析相关的所有查询。
要检索查询,首先获取 Clean Room 的 UUID,然后搜索查询标签。在以下代码中,将 cleanroom_name
和 provider_account_locator
替换为适当的值。
-- Retrieve clean room UUID
SELECT cleanroom_id FROM samooha_by_snowflake_local_db.public.cleanroom_record
WHERE cleanroom_name = '<cleanroom_name>';
-- Retrieve queries with provider-run query tag
SELECT * FROM snowflake.account_usage.query_history
WHERE query_tag = cleanroom_id || '<provider_account_locator>;
您还可以使用 Snowsight,在使用 SQL 检索 Clean Room UUID 后,通过适当的查询标签过滤查询历史。
自定义可用连接器¶
您可以使用连接器将 Clean Room 环境与生态系统合作伙伴集成到一起。作为提供商的 Clean Room 管理员,您可以自定义 Clean Room 环境,以限制哪些连接器作为 Clean Room 用户的选项出现。例如,如果您有一个首选的激活合作伙伴,您可以配置 Clean Room 环境,使得当使用者在 Clean Room 中激活分析结果时,该合作伙伴是唯一的选择。
备注
您的自定义仅适用于新的 Clean Room。
要在 Clean Room 中控制可用的连接器:
在左侧导航栏中,选择 Admin » Profile & Features。
可选:要自定义激活连接器,请执行以下步骤:
在 Activation 磁贴中,选择 Edit。
选择您想要显示的激活选项,然后选择 Save。
可选:要自定义身份和数据提供程序连接器,请按照以下步骤操作:
在 Identity & Data Provider 磁贴中,选择 Edit。
选择您想要显示的身份选项,然后选择 Save。
给 Clean Room 标明品牌¶
您可以为 Clean Room 环境配置简介,以便创建的每个 Clean Room 都带有您的徽标和公司名称。要为您的公司定义徽标和名称,请完成以下步骤:
在左侧导航栏中,选择 Admin » Profile & Features。
在 Company profile 部分中,执行以下操作:
上传公司的徽标,格式为 JPG 或 PNG。这个标志将出现在创建的每个 Clean Room 上。
编辑 Company Name,定义您希望在环境中创建的 Clean Room 上显示的名称。
启用单点登录 (SSO)¶
您可以启用单点登录(SSO)访问 Web UI。此增强功能无需管理 Clean Room UI 的额外登录凭据,同时利用身份提供商(IDP)增强的安全控制,从而简化了用户访问。支持的 SSO 提供商包括 Okta、Azure AD 和 PingFederate。
要启用 SSO,请联系 Snowflake 支持部门。
允许密钥对身份验证¶
Clean Room 环境用于与 Snowflake 账户通信的服务账户用户使用 密钥对身份验证 进行身份验证。如果 Snowflake 账户使用 身份验证策略 来控制用户的身份验证方式,则控制服务账户用户的身份验证策略必须允许密钥对身份验证。
要允许密钥对身份验证,请移除所有身份验证策略,或者通过 AUTHENTICATION_METHODS = ALL
或 AUTHENTICATION_METHODS = KEYPAIR
添加身份验证策略。如果 Snowflake 账户具有不允许密钥对身份验证的账户级身份验证策略,则需要创建具有相应参数的新身份验证策略,然后将该策略分配给在安装过程中创建的服务账户用户。
您可以通过运行以下命令来检查您的身份验证策略:
SHOW AUTHENTICATION POLICIES;
空结果表表示没有策略,这意味着允许密钥对身份验证。
配置网络策略¶
如果 Snowflake 账户使用 网络策略 来控制网络流量,您必须明确允许来自 Web 应用程序与 Snowflake 账户通信时所用 IP 地址的流量。
在下表中找到您的云提供商账户区域,并配置您的账户网络策略以允许在该行中列出所有 IP 地址:
Snowflake 账户区域 |
允许 Web 应用程序的这些 IP 地址 |
---|---|
|
52.7.249.136
34.195.16.248
52.7.210.215
|
|
15.223.145.218
3.96.6.109
15.222.142.44
|
|
54.93.86.99
3.126.238.8
3.127.143.168
|
|
35.154.94.29
13.235.168.249
15.206.48.175
|
|
13.228.90.174
52.220.42.130
52.220.249.16
|
|
52.65.205.236
52.62.198.227
3.104.160.96
|
查看此环境的服务账户的详细信息¶
Web 应用程序使用服务账户与 Snowflake 进行通信。此服务账户是由账户管理员在为此账户安装 Clean Room 环境时创建的。
您不能修改有关服务账户用户的详细信息。
要查看此 Clean Room 环境的服务账户的详细信息,请执行以下操作:
登录 Web 应用程序。
导航到 Admin > Snowflake Admin。
选择 Log in to Snowflake 并使用您的 Snowflake 管理员凭据登录。
在 Snowflake Admin 页面中您可以看到服务用户名和服务用户电子邮件等信息。