Snowflake
This guide is for Snowflake. See also: BigQuery | Databricks
Introduction
The ROX Data Warehouse Integration enables customers to share live data directly from their Snowflake data warehouse to ROX. Using Snowflake's native sharing capabilities, this integration provides real-time access to your data without copying, moving, or duplicating it—you retain full control while ROX gains secure, governed access.
This guide covers two methods for sharing data with ROX:
- Direct Secure Share — For customers on the same Snowflake region as ROX
- Private Listing with Auto-Fulfillment — For customers on different clouds or regions
Key Benefits
Benefit | Description |
|---|---|
Full Control | Data stays in your account. You can revoke access at any time. |
Zero-Copy Architecture | No data duplication—ROX queries your live data directly. |
Real-Time Access | ROX always sees the latest data without ETL or batch jobs. |
No Data Egress Fees | Sharing within Snowflake avoids cloud egress charges. |
Secure by Default | All access governed by Snowflake's RBAC and encryption. |
ROX Account Information
Contact your ROX account team to obtain the ROX Snowflake account identifier, account locator, and region details required for setting up the data share.
Which Method Should You Use?
Method | When to Use | Benefits |
|---|---|---|
Direct Secure Share | Your Snowflake account is on the same cloud and region as ROX | Simplest setup, instant access, no replication delay |
Private Listing | Your Snowflake account is on a different cloud or region than ROX (e.g., different AWS region, Azure, GCP) | Auto-Fulfillment handles cross-cloud replication automatically, works worldwide, configurable refresh |
Not sure which region you're on? Run
SELECT CURRENT_REGION();in your Snowflake account, then contact your ROX account team to confirm which method to use.
Option A: Direct Secure Share (Same Region)
Use this method if your Snowflake account is on the same region as ROX.
Steps
- Create a Secure Share
- Navigate to Data Products → Private Sharing → Shared by My Account
- Click Share → Create a Secure Share
- Add Objects
- Select the tables, views, or secure views you want to share with ROX
- Add ROX as Consumer
- In the share settings, add the ROX account identifier provided by your ROX account team
- Notify ROX
- Send your ROX contact:
- Your Snowflake account identifier
- The share name you created
- Brief description of shared objects
- Send your ROX contact:
Option B: Private Listing with Auto-Fulfillment (Cross-Region)
Use this method if your Snowflake account is on a different cloud or region than ROX.
Steps
- Create a Secure Share
- Navigate to Data Products → Private Sharing → Shared by My Account
- Click Share → Create a Secure Share
- Add the tables, views, or secure views you want to share
- Create a Private Listing
- Navigate to Data Products → Provider Studio → Listings
- Click + Listing
- Select Only Specified Consumers
- Attach Data Product
- Link your Secure Share to the listing
- Add a title and description to help ROX identify the data
- Add ROX as Consumer
- In the Who can access section, click + Add
- Enter the ROX account identifier provided by your ROX account team
- Snowflake will automatically detect cross-region and enable Auto-Fulfillment
- Configure Refresh Frequency
- Set refresh interval (recommended: every 1-2 hours for operational data)
- Select a warehouse to use for auto-fulfillment
- Publish & Notify ROX
- Click Publish to make the listing live
- Send your ROX contact:
- Your Snowflake account identifier
- Listing name and share name
- Refresh frequency configured
First time creating a listing? You'll be prompted to accept the Snowflake Provider Terms of Service.
Choosing What to Share
Object Type | When to Use |
|---|---|
Tables | Direct access to raw data. Use when ROX needs full table access. |
Views | Pre-filtered or joined data. Use to limit columns, apply row filters, or join multiple tables. |
Secure Views | Recommended for sensitive data. Hides underlying SQL logic and table structure from ROX. |
Best Practice: Use Secure Views when sharing PII, financial data, or when you don't want ROX to see the underlying query logic or table structure.
Information to Provide to ROX
After setting up the share, send the following to your ROX account team:
- Your Snowflake Account Identifier (org.account format)
- Listing name (if using Private Listing) and Share name
- Brief description of shared objects and their schema
- Refresh frequency (if using Private Listing with Auto-Fulfillment)
Prerequisites
Requirement | Details |
|---|---|
Role | ACCOUNTADMIN or a role with CREATE SHARE and CREATE DATA EXCHANGE LISTING privileges |
Auto-Fulfillment | For Private Listings, Org Admin must run: SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT |
Provider Terms | Accept Snowflake Provider Terms of Service (prompted on first listing creation) |
Technical Considerations
Security and Compliance
- All data sharing respects your existing Snowflake RBAC policies
- ROX can only access objects explicitly granted to the share
- Audit logs available in Snowflake's
SNOWFLAKE.ACCOUNT_USAGEschema
Performance
- Zero-copy sharing means no impact on your warehouse compute
- ROX queries run on ROX's compute resources, not yours
- For Private Listings, Auto-Fulfillment replication is incremental and optimized
Data Freshness
Method | Data Freshness |
|---|---|
Direct Share | Real-time (instant access to live data) |
Private Listing | Based on configured refresh frequency (1 hour minimum recommended) |
Troubleshooting
Issue | Solution |
|---|---|
Cannot find ROX account when adding consumer | Verify you're using the correct account identifier from your ROX account team |
Auto-Fulfillment not available | Contact your Org Admin to run SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT |
Share not visible to ROX | Ensure the listing is published (not in draft state) |
Cross-region replication slow | Check your configured refresh frequency; initial sync may take longer for large datasets |