Snowflake

Snowflake Data Sharing: Secure Data Sharing & Marketplace Complete Guide

2026-03-21
更新: 2026-03-27
NicheeLab Editorial Team

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.

How Zero-Copy Sharing Works

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)
  • Storage cost: provider only (because no copy exists)
  • Compute cost: consumer pays via their own warehouse
  • Data freshness: provider updates are reflected immediately

Creating and Managing a Share

Provider-side Setup

-- 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;

Consumer-side Setup

-- 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;

Shareable Objects

ObjectShareableNotes
TableYesGRANT SELECT
Secure ViewYesSECURE keyword required
Secure UDFYesSECURE keyword required
Regular ViewNoMust be converted to a Secure View
Stage / PipeNoCannot be included in a Share
Task / StreamNoCannot 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.

Reader Account

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;

Reader Account vs Full Account Sharing

ItemReader AccountFull Account
Snowflake AccountCreated by providerConsumer already owns one
Compute CostProvider paysConsumer pays
Storage CostProvider paysProvider pays (source data)
Data WritesNot allowed (read-only)Cannot write to the shared DB
Creating Own TablesNot allowedAllowed (in own account)
ManagementProviderConsumer

Snowflake Marketplace

Snowflake Marketplace is a platform built on top of Data Sharing for publishing, discovering, and acquiring data products.

  • Providers publish datasets as Listings
  • Both free Listings and paid Listings (Monetization) are supported
  • Consumers can find and acquire Listings from the Marketplace and query them immediately
  • A Personalized Listing is a limited Listing visible only to specific accounts

Listing Types

TypeVisibilityPricingUse Case
Free ListingAll Snowflake usersFreeOpen data, promotions
Paid ListingAll Snowflake usersPaid (monthly / usage-based)Selling data products
Personalized ListingSpecified accounts onlyOptionalPartner-only sharing

Why Secure Views Matter

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;

Exam Prep Highlights

  • Data Sharing is zero-copy (no physical copy of the data is created)
  • Storage cost is paid by the provider; compute cost is paid by the consumer (except for Reader Accounts)
  • Regular views cannot be shared; Secure Views are required
  • Compute cost for a Reader Account is paid by the provider
  • Consumer permissions on a shared DB are managed via IMPORTED PRIVILEGES
  • Cross-region sharing requires database replication
  • A Share needs a chain of USAGE grants (DB -> schema -> table)

Sample Question

Data Sharing

問題 1

Which statement about Snowflake Secure Data Sharing is correct?

  1. A. When the consumer creates a shared database, the provider's data is physically copied
  2. B. The consumer pays for the compute cost of a Reader Account
  3. C. Regular (non-SECURE) views can also be included in a Share and shared with consumers
  4. D. The consumer manages access to the shared database by granting IMPORTED PRIVILEGES

正解: 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.

Frequently Asked Questions

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.

Check what you learned with practice questions

Practice with certification-focused question sets

無料で問題を解いてみる
Author

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.


Related articles
Snowflake

Snowflake Certifications: All 11 Exams Explained (2026)

Every SnowPro certification — Associate, Core, Specialty, Ad...

Snowflake

Snowflake Exam Difficulty Ranking: All 11 Certs Compared (2026)

All 11 SnowPro exams ranked by difficulty with study-time es...

Snowflake

Snowflake Study Guide: Fastest Pass Route by Exam (2026)

How to pass SnowPro certifications efficiently — official ma...

Snowflake

SnowPro Core (COF-C03): Complete Exam Guide (2026)

Pass the SnowPro Core exam — six domains, scope, sample ques...

Snowflake

SnowPro Associate Platform (SOL-C01): Complete Guide (2026)

The entry-level SnowPro Associate exam — scope, weighting, s...

Browse all Snowflake articles (103)
© 2026 NicheeLab All rights reserved.