Snowflake Secure Data Sharing lets you share data across accounts in real time without making a physical copy. The provider creates a Share object and adds tables, views, and UDFs to it, and the consumer just creates a database from that Share to start querying. This article walks through everything from creating a Share to Reader Account and Marketplace.
Traditional data sharing required ETL or file transfers to create copies of the data. With Snowflake's zero-copy sharing, the consumer reads directly from the provider's micro-partitions.
Zero-copy sharing architecture:
[Provider Account]
├─ Table: sales_data
│ └─ Micro-partitions (on S3 / Azure Blob / GCS)
│
├─ Share: sales_share
│ └─ Metadata references only (no data copy)
│
▼
[Consumer Account]
├─ Database: shared_sales_db (FROM SHARE)
│ └─ Reads provider's micro-partitions directly
│
└─ Warehouse: consumer_wh (runs on consumer side)-- Step 1: Create the Share object
CREATE SHARE sales_share
COMMENT = 'Monthly sales data share';
-- Step 2: Grant USAGE on the database
GRANT USAGE ON DATABASE analytics_db TO SHARE sales_share;
-- Step 3: Grant USAGE on the schema
GRANT USAGE ON SCHEMA analytics_db.public TO SHARE sales_share;
-- Step 4: Grant SELECT on the table
GRANT SELECT ON TABLE analytics_db.public.monthly_sales
TO SHARE sales_share;
-- Sharing a Secure View
GRANT SELECT ON VIEW analytics_db.public.sales_summary_v
TO SHARE sales_share;
-- Step 5: Add the consumer account to the Share
ALTER SHARE sales_share ADD ACCOUNTS = consumer_org.consumer_acct;
-- Adding multiple accounts
ALTER SHARE sales_share ADD ACCOUNTS = org1.acct1, org2.acct2;-- List available Shares
SHOW SHARES;
-- Create a shared database from the Share
CREATE DATABASE shared_sales
FROM SHARE provider_org.provider_acct.sales_share;
-- Query the shared data
SELECT * FROM shared_sales.public.monthly_sales
WHERE sale_month >= '2026-01-01';
-- Grant access to users in your own organization
GRANT IMPORTED PRIVILEGES ON DATABASE shared_sales TO ROLE analyst_role;| Object | Shareable | Notes |
|---|---|---|
| Table | Yes | GRANT SELECT |
| Secure View | Yes | SECURE keyword required |
| Secure UDF | Yes | SECURE keyword required |
| Regular View | No | Must be converted to a Secure View |
| Stage / Pipe | No | Cannot be included in a Share |
| Task / Stream | No | Cannot be included in a Share |
Non-SECURE views cannot be included in a Share. This prevents the view definition (SQL text) from being exposed to the consumer.
A Reader Account is the mechanism for sharing data with external partners or customers who do not have a Snowflake account of their own. It is created and managed from the provider account, and the provider also pays for the warehouse compute.
-- Create a Reader Account
CREATE MANAGED ACCOUNT partner_reader
ADMIN_NAME = 'reader_admin',
ADMIN_PASSWORD = 'StrongP@ss123!',
TYPE = READER;
-- Assign the Share to the Reader Account
ALTER SHARE sales_share ADD ACCOUNTS = partner_reader;
-- Set up a Resource Monitor to control cost
CREATE RESOURCE MONITOR reader_monitor
WITH CREDIT_QUOTA = 10
TRIGGERS
ON 80 PERCENT DO NOTIFY
ON 100 PERCENT DO SUSPEND;| Item | Reader Account | Full Account |
|---|---|---|
| Snowflake Account | Created by provider | Consumer already owns one |
| Compute Cost | Provider pays | Consumer pays |
| Storage Cost | Provider pays | Provider pays (source data) |
| Data Writes | Not allowed (read-only) | Cannot write to the shared DB |
| Creating Own Tables | Not allowed | Allowed (in own account) |
| Management | Provider | Consumer |
Snowflake Marketplace is a platform built on top of Data Sharing for publishing, discovering, and acquiring data products.
| Type | Visibility | Pricing | Use Case |
|---|---|---|---|
| Free Listing | All Snowflake users | Free | Open data, promotions |
| Paid Listing | All Snowflake users | Paid (monthly / usage-based) | Selling data products |
| Personalized Listing | Specified accounts only | Optional | Partner-only sharing |
Data Sharing does not allow regular views to be shared; Secure Views are required. A Secure View hides the view definition (SQL text) from the consumer and also restricts certain query optimizer optimizations to prevent data leakage.
-- Create a Secure View
CREATE OR REPLACE SECURE VIEW sales_summary_v AS
SELECT
region,
product_category,
DATE_TRUNC('MONTH', sale_date) AS sale_month,
SUM(amount) AS total_amount,
COUNT(*) AS transaction_count
FROM sales_data
WHERE is_active = TRUE
GROUP BY 1, 2, 3;
-- Add the Secure View to the Share
GRANT SELECT ON VIEW sales_summary_v TO SHARE sales_share;Data Sharing
問題 1
Which statement about Snowflake Secure Data Sharing is correct?
正解: D
The consumer grants access to roles in their own organization by running GRANT IMPORTED PRIVILEGES ON DATABASE ... TO ROLE ... on the database created from the Share. A is wrong because sharing is zero-copy. B is wrong because compute for a Reader Account is paid by the provider. C is wrong because regular views cannot be included in a Share; a Secure View is required.
Does Data Sharing create copies of the data?
No. Snowflake Secure Data Sharing uses zero-copy sharing and never makes a physical copy of the data. Only metadata for the shared objects is exposed to the consumer, and when the consumer runs a query it reads directly from the provider's storage. As a result, storage is never duplicated and the data is always real-time fresh.
What is the difference between a Reader Account and a Full Account?
A Reader Account is a managed account that a provider creates to share data with an external organization that has no Snowflake account of its own. The provider pays for the Reader Account's compute (warehouse usage). When sharing to a Full Account (a regular Snowflake account), the consumer uses their own warehouse, so the consumer pays for compute.
Can you share data across different cloud providers?
Shares work out of the box within the same region and cloud provider. To share across regions or cloud providers (for example, AWS to Azure) you need to set up database replication. Publishing a Listing on the Snowflake Marketplace may also require replication for cross-region distribution.
Practice with certification-focused question sets
無料で問題を解いてみるNicheeLab Editorial Team
NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.
Snowflake Certifications: All 11 Exams Explained (2026)
Every SnowPro certification — Associate, Core, Specialty, Ad...
Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)
All 11 SnowPro exams ranked by difficulty with study-time es...
Snowflake Study Guide: Fastest Pass Route by Exam (2026)
How to pass SnowPro certifications efficiently — official ma...
SnowPro Core (COF-C03): Complete Exam Guide (2026)
Pass the SnowPro Core exam — six domains, scope, sample ques...
SnowPro Associate Platform (SOL-C01): Complete Guide (2026)
The entry-level SnowPro Associate exam — scope, weighting, s...