Snowflake Data Clean Rooms: Administrator tasks¶
This topic describes the tasks for the administrator of a Snowflake Data Clean Room. For information about implementing a clean environment for the first time, see Installing the Snowflake Data Clean Rooms environment.
Sign in as the Snowflake administrator¶
The clean rooms environment manages user credentials separately from Snowflake. That is, your clean rooms web application credentials are stored and managed separately from your Snowflake credentials.
When you sign in to clean rooms with your clean rooms administrator account, you default to the DCR admin role in the web app. If you want to elevate your privileges to the Snowflake administrator role, you must sign in as described here.
To sign in to the web app as administrator:
Sign in to the web app with your clean room credentials.
Navigate to Admin > Snowflake Admin.
Select Log in to Snowflake and provide your Snowflake credentials. Use the credentials you used to install the environment.
Add potential collaborators to the environment¶
A clean room user who has the Admin role must add a potential collaborator before other users can share a clean room with that collaborator.
Note
If a Snowflake customer has an account in a different region than your Snowflake account, your account administrator must enable Cross-Cloud Auto-Fulfillment before you can add them as a collaborator. For more information, including the limitations of collaborating with customers in other regions, see About Cross-Cloud Auto-Fulfillment.
To add someone as collaborator within a clean room environment, follow these steps:
Navigate to the Snowflake Data Clean Rooms login page.
Log in as a clean room administrator. You do not need to have the ACCOUNTADMIN role in Snowflake.
In the left navigation, select Collaborators.
Do one of the following:
If the collaborator has a Snowflake account, select Snowflake Partners » + Snowflake Partner. Respond to the prompts to enter the details of the collaborator’s Snowflake account.
If the collaborator is not a Snowflake customer, select the Managed Accounts tab to create a clean room managed account for them.
Add DCR admins or clean room managers¶
DCR admins can configure and manage a clean room environment.
Clean room managers can create new clean rooms in that account (act as clean room providers as well as clean room consumers), using the web application.
Learn more about clean room roles.
To allow users in your Snowflake account to use the web app, follow these steps:
Navigate to the Snowflake Data Clean Rooms login page.
Log in as a clean room administrator. You do not need to have the ACCOUNTADMIN role in Snowflake.
Select User Management.
Select + Users.
Enter the email address of the new clean room user.
Select the role of the new user.
The new user is sent an email with a link to join the clean room.
Grant API access¶
To allow users to use the developer APIs to programmatically work with clean rooms, follow these steps:
Sign in to the Snowflake account associated with the clean room environment, which is where you installed the Snowflake Native App.
Open a worksheet, and use the ACCOUNTADMIN ROLE to assign the SAMOOHA_APP_ROLE role to the user.
For example, to allow a user
joe
to use the developer APIs, execute the following code:USE ROLE accountadmin; GRANT ROLE samooha_app_role TO USER joe;
Add warehouse options¶
Any warehouse for which the SAMOOHA_APP_ROLE role has usage and operate privileges can be used to run analyses. To add warehouses that can be used by clean room users to execute analyses, create a warehouse and then grant privileges on it to the SAMOOHA_APP_ROLE.
For example, to add a warehouse my_big_warehouse
that can be used to run analyses, execute the following commands from a worksheet:
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;
Monitor web app activity¶
As an administrator, you can track what users are doing in the web app by monitoring the query history in your Snowflake account. You can
identify query history entries that correspond to activity in the web app because the value of user_name
is the name of the service
account user that was created when the Snowflake account was configured.
You can use the user_email
query tag to identify which clean room user performed an action.
To access the query history for your clean room environment, do one of the following, depending on whether you want to use SQL or Snowsight:
- Snowsight:
Sign in the Snowflake account associated with your clean room environment as a user with the ACCOUNTADMIN role.
Select Monitoring » Query History.
Use the User filter to select the service account user associated with the clean room environment.
- SQL:
Execute queries against the QUERY_HISTORY view in the ACCOUNT_USAGE schema of the shared SNOWFLAKE database.
For example, to trace the web app activity of the user
joe@company.com
, execute the following code: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@company.com';
Monitor provider-run analyses¶
A provider-run analysis refers to the process of a provider creating and sharing a clean room, then running an analysis in the clean room after the consumer links their data. These analyses run in the consumer’s account, not the provider’s. This section describes how the consumer can track the queries executed by the provider’s analyses in the clean room.
Snowflake Data Clean Rooms assigns a query tag to each query executed for a provider-run analysis. This query tag takes the form
cleanroom_UUID_provider_account_locator
. A consumer can retrieve all queries associated with provider-run analyses by searching
for the query tag in the query history of their account.
To retrieve the query, first obtain the UUID for a clean room, then search for the query tag. In the following code, replace
cleanroom_name
and provider_account_locator
with the appropriate values.
-- 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>;
You can also use Snowsight to filter the query history by the appropriate query tag after using SQL to retrieve the clean room UUID.
Customize available connectors¶
Connectors let you integrate your clean room environment with your ecosystem partners. As the clean room administrator for a provider, you can customize the clean room environment to limit which connectors appear as options for the clean room user. For example, if you have a single preferred activation partner, you can configure the clean room environment so that the partner is the only option when a consumer activates the results of an analysis in a clean room.
Note
Your customizations apply to new clean rooms only.
To control which connectors are available in a clean room:
In the left navigation, select Admin » Profile & Features.
Optional: To customize activation connectors, follow these steps:
On the Activation tile, select Edit.
Select which activation options you want to display, and then select Save.
Optional: To customize identity and data provider connectors, follow these steps:
On the Identity & Data Provider tile, select Edit.
Select which identity options you want to display, and then select Save.
Brand your clean rooms¶
You can configure a profile for your clean room environment so every clean room created is branded with your logo and company name. To define the logo and name for your company, complete these steps:
In the left navigation, select Admin » Profile & Features.
In the Company profile section, do the following:
Upload a logo for your company in JPG or PNG format. This logo will appear on every clean room that is created.
Edit the Company Name to define the name that you want to appear on the clean rooms that are created in your environment.
Enable single sign-on (SSO)¶
Your clean room environment can be configured so users authenticate using your own identity provider via single sign-on (SSO). To enable SSO, contact Snowflake Support.
Allow key-pair authentication¶
The service account user that the clean room environment uses to communicate with your Snowflake account uses key-pair authentication to authenticate. If your Snowflake account uses authentication policies to control how users authenticate, then the authentication policy controlling the service account user must allow key-pair authentication.
To allow key-pair authentication, either remove all authentication policies, or add an authentication policy with AUTHENTICATION_METHODS = ALL
or AUTHENTICATION_METHODS = KEYPAIR
. If your Snowflake account has an account-level authentication policy that does not allow key-pair
authentication, you need to create a new authentication policy with the appropriate parameter, then assign the policy to the service
account user that was created during the installation process.
You can check your authentication policies by running this command:
SHOW AUTHENTICATION POLICIES;
An empty results table indicates no policies, which means that key-pair authentication is allowed.
Configure network policies¶
If your Snowflake account uses a network policy to control network traffic, you must explicitly allow traffic from the IP addresses that the web app uses to communicate with your Snowflake account.
Find your cloud provider account region in the table below and configure your account network policy to allow all the IP addresses listed in that row:
Snowflake account region |
Allow these IP addresses for the web app |
---|---|
|
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
|
See details about the service account for this environment¶
The web application uses a service account to communicate with Snowflake. This service account was created by the account administrator when they installed the clean rooms environment for this account.
You cannot modify details about the service account user.
To see details about the service account for this clean rooms environment:
Sign in to the web application.
Navigate to Admin > Snowflake Admin.
Select Log in to Snowflake and log in with your Snowflake administrator credentials.
On the Snowflake Admin page you can see information such as the service user name and service user email.