What you will be able to do
- Pick between a listing, a direct share, a Data Exchange and a clean room for a given use case
- Design sharing across regions and cloud platforms with replication groups or Cross-Cloud Auto-Fulfillment
- Decide when to use Snowflake Marketplace and when to use a Data Exchange
- Share with consumers who have no Snowflake account, using reader accounts or external consumers
1.Four sharing methods and what sets them apart
Every Snowflake sharing method packages database objects into a share that consumer accounts query read-only. The documentation names four methods: a listing, a direct share, a Data Exchange and a clean room. They differ in reach and control, and the table and the matching check below pin down each one.
| Mechanism | Share with whom? | Auto-fulfill across clouds? | Optionally charge? | Optionally offer publicly? | Consumer usage metrics? |
|---|---|---|---|---|---|
| Listing | One or more accounts in any region | Yes | Yes | Yes | Yes |
| Direct share | One or more accounts in your region | No | No | No | No |
So a direct share fits a same-region partner where you need nothing extra. Choose a listing when you need to cross regions, publish on the Marketplace, charge for access, add descriptions and sample queries, or see usage metrics. A listing can be offered privately to specific accounts or publicly on the Marketplace, and an existing direct share can be converted into a listing. With listings, direct shares and exchanges, the consumer queries the data directly. Choose a clean room when the consumer must not have that unrestricted access.
Checkpoint 1 of 8· Match them up
Match each sharing method to its description
Tap a term, then the definition that fits it.
These are the four options as the Secure Data Sharing overview defines them. Only the clean room limits which queries the consumer can run.
“a Data Exchange, in which you set up and manage a group of accounts and offer a share to that group”Source: docs.snowflake.com
2.Sharing across regions and cloud providers
There are two routes. The manual route uses replication. It works for accounts on AWS, Google Cloud Platform and Azure, so the same procedure covers a different region and a different cloud provider. You first create an account in the target region and link it to your organization. An organization administrator enables replication for the source and target accounts. You then create a replication group that holds the database and the share:
USE ROLE ACCOUNTADMIN;
CREATE REPLICATION GROUP my_rg
OBJECT_TYPES = databases, shares
ALLOWED_DATABASES = db1
ALLOWED_SHARES = share1
ALLOWED_ACCOUNTS = acme.account_2;In the target account, you create a secondary group AS REPLICA OF the primary, refresh it, and then add consumer accounts that are local to that region to the replicated share. Setting REPLICATION_SCHEDULE on the primary group automates the refreshes. Plan for four things. You need only one copy per region, not one per consumer. A view that references several databases needs all of them in the group. Replication copies whole databases, so to cut cost you can copy only the needed rows into a new database with streams and tasks. And you must confirm that no legal or regulatory rule forbids moving the data to that location.
Checkpoint 2 of 8· Put it in order
Put the steps for sharing through replication with a consumer in another region in order
- 1.Refresh the secondary replication group
- 2.An organization administrator enables replication for the source and target accounts
- 3.Add consumer accounts local to the target region to the replicated share
- 4.Create a primary replication group containing the database and share in the source account
- 5.Create a secondary replication group AS REPLICA OF the primary in the target account
Replication has to be enabled and the group created and refreshed before the share exists in the target region. Consumers are added last, to the secondary share.
“adding one or more consumer accounts to the secondary shares that you replicated from the source account”Source: docs.snowflake.com
The second route, Cross-Cloud Auto-Fulfillment, works for listings, whether they go to specific consumers or onto the Marketplace. Snowflake replicates the listing's data product, meaning the share or application package attached to it, to consumer regions as they need it. You don't run replication or approve requests yourself. You can turn it on while the listing is in draft or after it is published. It isn't available on trial accounts.
The limits on this route are the ones exams test. Which route a listing may use depends on how it is offered. A listing shared with specific consumer accounts is a private listing: Snowsight detects when the target account is in another region and enables auto-fulfillment for you, and you cannot replicate a private listing manually. Paid listings must use auto-fulfillment. Free or limited trial listings on the Marketplace may use auto-fulfillment or manual replication. Application packages use auto-fulfillment. Timing follows demand: a private listing is fulfilled after the specified consumers get it, and a public Marketplace listing after a consumer in that region gets it. Making a data product available in other regions costs the provider extra. Snowflake manages a secure share area (SSA) that receives the data product in each region, one per organization in each commercial region. Virtual Private Snowflake environments and government regions each get a separate SSA.
Checkpoint 3 of 8· Check yourself
A provider wants a listing to be available to consumers in any region without running replication groups itself. What does it need?
Auto-fulfillment replicates a listing's data product to the regions that need it, with no manual replication. It requires a full account.
“for a listing to automatically replicate your data product to other Snowflake regions without having to manually replicate data”Source: docs.snowflake.com
Checkpoint 4 of 8· Exam question
A logistics company wants to give one of its shipping partners access to a live tracking dataset. The partner has no existing Snowflake account and does not want to purchase one just to consume this data. The provider still wants to retain full control over the underlying compute costs and access revocation. Which approach best fits this requirement?
Correct answer: A — Create a reader account for the partner, share the tracking database into it, and let the partner query using compute the provider account pays for.
- A. Correct - reader accounts are Snowflake-managed accounts the provider creates for consumers without their own license, and the provider account is billed for the reader account's compute, keeping cost and revocation entirely under the provider's control.
- B. Incorrect - requiring the partner to purchase a full account adds friction and cost the partner explicitly wants to avoid, even though it would technically support standard sharing.
- C. Incorrect - exporting and re-uploading files breaks the live, always-current nature of the data and reintroduces the storage duplication that Secure Data Sharing is designed to eliminate.
- D. Incorrect - a public Marketplace listing broadcasts the dataset to any interested party rather than restricting it to one named shipping partner, and still expects the consumer to operate their own account.
3.Snowflake Marketplace versus a Data Exchange
Snowflake Marketplace is the public route. A provider publishes listings there to share curated data with many consumers at once, instead of managing a sharing relationship with each one. Paid listings let it charge. It can also publish free datasets to generate interest, or samples that it provides on request or customizes. Marketplace is available on AWS, Google Cloud and Azure, except Microsoft Azure Government. Users who reach it over private connectivity need a CNAME record first. Listings offered privately, through an exchange or on the Marketplace come with consumer usage metrics.
A Data Exchange is the private route. It is a data hub for a group of members you invite, such as internal departments, suppliers or partners. You request it from Snowflake: it must be provisioned for your account. The account that hosts it is the Data Exchange Admin. Its ACCOUNTADMIN adds and removes members, marks each as a provider, a consumer or both, and can delegate those privileges to other roles. Providers publish free or personalized listings. Consumers browse them, and getting data needs ACCOUNTADMIN or IMPORT SHARE. Usage data for exchange listings appears only in the Data Sharing Usage schema views.
To choose between a Data Exchange and a private listing, look at the audience. The documentation positions a Data Exchange for a specific group of consistent business partners, and listings, offered to specific consumers or publicly, for a variety of consumers inside and outside your organization. A listing offered privately to specific accounts is the first choice, and a Data Exchange is the alternative when that isn't an option. The exchange adds a managed group in which the admin controls who can publish and consume. Marketplace listings come in several types: free, paid, personalized (consumers request access) and limited trial (instant access for 1 to 90 days). Providers can't convert a listing from one type to another.
Checkpoint 5 of 8· Check yourself
A manufacturer wants an invite-only hub where its suppliers can both publish and consume data, and where the manufacturer decides who joins and in which role. Which method fits?
A Data Exchange is a private hub. Its admin account adds members and makes each one a provider, a consumer or both.
“Members are Snowflake accounts that are added by the Data Exchange Admin and designated as providers, consumers, or both.”Source: docs.snowflake.com
Checkpoint 6 of 8· Exam question
A provider account hosted in AWS us-east-1 needs to share a database with a consumer account that operates in AWS us-west-2. Both accounts are within the same cloud platform but different regions. What must the provider do before the consumer account can be added to a share for this database?
Correct answer: A — Enable database replication for the account, create a replication group containing the database and share, and replicate that group into the us-west-2 region.
- A. Correct - Secure Data Sharing across regions relies on Snowflake's replication feature, so the source database and its share must be added to a replication group and replicated into the target region before a share can include an account located there.
- B. Incorrect - shares are region-scoped, so an account in a different region than the provider cannot be added directly no matter how similar the cloud platform is.
- C. Incorrect - a reader account still lives in a specific region tied to where it is provisioned, so creating one does not substitute for replicating the actual database into the consumer's region.
- D. Incorrect - IMPORTED PRIVILEGES only grants a consumer's local roles access to an already-imported shared database; it has no effect on which regions a share can reach.
4.Sharing with consumers who have no Snowflake account
The classic answer is a reader account, which the provider creates as a managed account. The reader account belongs to the provider, which pays for it, and it can consume data only from that provider. Its users can query imported data, but they cannot load, insert, update or do any other DML.
CREATE MANAGED ACCOUNT <name>
ADMIN_NAME = <username> , ADMIN_PASSWORD = <user_password> ,
TYPE = READER ,
[ COMMENT = '<string_literal>' ]A newer option, in Public Preview, serves consumers who use no Snowflake at all. They query live Iceberg tables through the standard Iceberg REST Catalog APIs from their own tools. The provider creates an external consumer, a restricted identity tied to a region, and gives it a programmatic access token (PAT). The PAT secret must be saved when it is issued, because it cannot be retrieved later. The provider then attaches the share to that consumer through an external listing. This needs ACCOUNTADMIN or the CREATE EXTERNAL CONSUMER privilege. If the account uses a network policy, each external consumer needs an entry in it. During the preview, the data can be shared only in the provider's own region.
CREATE EXTERNAL CONSUMER test_ext_consumer;
SHOW EXTERNAL CONSUMERS LIKE '%test_ext_consumer%';The two options differ in what the consumer gets. A reader account is a Snowflake account that the provider creates, in the provider's region and on the provider's edition. Its users log in, create warehouses and query the share with SQL, and the provider pays for all of it, so a resource monitor is wise. Open sharing needs no Snowflake account at all: the consumer connects with an Iceberg REST Catalog client and a PAT, and the shared data is Iceberg tables. When a question asks how to share with someone who has no Snowflake account, the documented established answer is a reader account. Open sharing is a newer alternative that the documentation marks Public Preview. During the preview it supports only PAT authentication and only the provider's own region, so treat it as a limited option and not as a replacement for reader accounts.
Checkpoint 7 of 8· Check yourself
Which statement about reader accounts is accurate?
Reader accounts belong to the provider that created them, which pays for them. They can only consume that provider's shares, and their users cannot run DML.
“a reader account can only consume data from the provider account that created it.”Source: docs.snowflake.com
5.Snowflake Data Clean Rooms: sharing with controlled analysis
Every method so far gives the consumer direct access to the shared data. A Snowflake Data Clean Room is for collaborations where that would expose too much. Collaborators share data, and it can be queried only through templates added to the collaboration. Collaborators review new templates and data sources, and approve or reject them. All analysis runs inside the clean room. Participants get back aggregated results and insights, never the raw rows, and the collaborator sharing the data decides which analyses the others may run. The documentation lists the benefits as stronger privacy, deeper insight from combining multiple sources, less risk of unauthorized access, and private machine learning on the combined data.
Each collaborator holds one or more roles. The Owner creates the collaboration and decides who has which role. A Data Provider supplies data and sets the policies on it. An Analysis Runner runs the templates on the data it is permitted to use. Templates are the JinjaSQL queries that do the analysis, and any collaborator can submit one for the others to approve. Results can be returned directly or activated, meaning exported to an approved destination such as a collaborator's own Snowflake account. Edition matters: data providers must use Enterprise Edition, owners and analysis runners can use Standard Edition, and activating results to another Snowflake account also needs Enterprise Edition. A provider can invite non-Snowflake users to a clean room as well as Snowflake accounts.
Checkpoint 8 of 8· Check yourself
Which collaboration role in a Snowflake Data Clean Room requires Enterprise Edition?
Data providers must use Enterprise Edition, while owners and analysis runners can use Standard Edition.
“Data providers must use Snowflake Enterprise Edition. Owners and analysis runners can use Standard Edition.”Source: docs.snowflake.com
Exam traps
Each one states something that sounds right. Open it to see what is actually true.
1.A direct share can reach a consumer in another region or on another cloud if you add that consumer's account to it.Why is that wrong?
Direct shares work only within one region. Other regions and clouds need replication groups or a listing with Cross-Cloud Auto-Fulfillment.
Covered in Sharing across regions and cloud providers
2.A reader account works like a small full account, so the consumer can load their own data into it to enrich the shared data.Why is that wrong?
Reader account users can only query imported data. Loading, inserting, updating and other DML are not allowed.
Covered in Sharing with consumers who have no Snowflake account
Sources
Every claim above is drawn from one of these pages, quoted as it was written on the date shown.
- 1.
“Use a listing when you want to share across regions, offer data publicly on the Snowflake Marketplace, charge for access, include metadata”
↩︎ Four sharing methods and what sets them apart“The reader account is owned and paid for by your provider account.”
↩︎ Sharing with consumers who have no Snowflake account“Yes. You can create a reader account for the consumer.”
↩︎ Sharing with consumers who have no Snowflake account“A direct share works only with accounts in the same region.”
↩︎ Exam trap 1“cannot perform any of the DML tasks that are allowed in a full account”
↩︎ Exam trap 2“a Data Exchange, in which you set up and manage a group of accounts and offer a share to that group”
↩︎ Checkpoint“A direct share works only with accounts in the same region.”
↩︎ Prediction“a reader account can only consume data from the provider account that created it.”
↩︎ Checkpoint - 2.
“You can offer a listing privately to specific accounts, or publicly on the Snowflake Marketplace.”
↩︎ Four sharing methods and what sets them apart“When you use listings, direct shares, and Data Exchange to share data with another party, they can directly access the data.”
↩︎ Four sharing methods and what sets them apart“You must request that a data exchange be provisioned and configured for your account”
↩︎ Snowflake Marketplace versus a Data Exchange“The provider who is sharing their data in a clean room defines what analyses can be run against the shared data”
↩︎ Snowflake Data Clean Rooms: sharing with controlled analysis - 3.
“Cross-region data sharing is supported by Snowflake accounts hosted on any of the following cloud platforms:”
↩︎ Sharing across regions and cloud providers“Data providers only need to create one copy of the dataset per region; and not a copy per consumer.”
↩︎ Sharing across regions and cloud providers“you should confirm that your organization does not have any legal or regulatory restrictions as to where your data can be transferred or hosted.”
↩︎ Sharing across regions and cloud providers“When sharing a view that references objects in multiple databases, each of these other databases must be included in the replication group.”
↩︎ Sharing across regions and cloud providers“adding one or more consumer accounts to the secondary shares that you replicated from the source account”
↩︎ Checkpoint - 4.
“A data product is any share or application package that is attached to your listing.”
↩︎ Sharing across regions and cloud providers“Auto-fulfillment isn’t available on trial accounts.”
↩︎ Sharing across regions and cloud providers“You cannot manually replicate private listings to other regions.”
↩︎ Sharing across regions and cloud providers“For paid listings, you use auto-fulfillment.”
↩︎ Sharing across regions and cloud providers“When you make a data product available in other regions, you incur additional costs.”
↩︎ Sharing across regions and cloud providers“Snowflake creates one secure share area for your organization in each commercial region.”
↩︎ Sharing across regions and cloud providers“Private listings are auto-fulfilled after the specified consumers get your listing.”
↩︎ Sharing across regions and cloud providers“for a listing to automatically replicate your data product to other Snowflake regions without having to manually replicate data”
↩︎ Checkpoint - 5.
“use listings on the Snowflake Marketplace to share curated data offerings with many consumers simultaneously, rather than maintain sharing relationships with each individual consumer.”
↩︎ Snowflake Marketplace versus a Data Exchange“With Paid listings, you can also charge for your data products.”
↩︎ Snowflake Marketplace versus a Data Exchange - 6.
“Data Exchange provides a data hub for securely collaborating around data with a selected group of members that you invite.”
↩︎ Snowflake Marketplace versus a Data Exchange“provide data to a specific group of consistent business partners taking part in the Data Exchange”
↩︎ Snowflake Marketplace versus a Data Exchange“If you want to share data with a variety of consumers inside and outside your organization, you can also use listings”
↩︎ Snowflake Marketplace versus a Data Exchange“Members are Snowflake accounts that are added by the Data Exchange Admin and designated as providers, consumers, or both.”
↩︎ Checkpoint - 7.
“A limited trial listing gives consumers instant limited access for 1 to 90 days.”
↩︎ Snowflake Marketplace versus a Data Exchange - 8.
“The reader account utilizes the same Snowflake Edition as the provider account and is created in the same region.”
↩︎ Sharing with consumers who have no Snowflake account - 9.
“Consumers query live data using standard, open-source Iceberg REST Catalog APIs”
↩︎ Sharing with consumers who have no Snowflake account“During Public Preview, the only supported target region for shared data is the region where your provider account is located.”
↩︎ Sharing with consumers who have no Snowflake account“During Public Preview, only Programmatic Access Tokens (PATs) are supported for external consumer authentication.”
↩︎ Sharing with consumers who have no Snowflake account“External consumers are restricted users bound to a specific region at creation time.”
↩︎ Sharing with consumers who have no Snowflake account - 10.
“Collaborators can review and approve or reject the inclusion of new templates or data sources by other collaborators.”
↩︎ Snowflake Data Clean Rooms: sharing with controlled analysis“Activating results to another Snowflake account also requires Enterprise Edition.”
↩︎ Snowflake Data Clean Rooms: sharing with controlled analysis“Owner: Creates the collaboration and determines who has what roles in a collaboration.”
↩︎ Snowflake Data Clean Rooms: sharing with controlled analysis“Data providers must use Snowflake Enterprise Edition. Owners and analysis runners can use Standard Edition.”
↩︎ Checkpoint - 11.
“You can invite both Snowflake and non-Snowflake users to join a clean room.”
↩︎ Snowflake Data Clean Rooms: sharing with controlled analysis