COF-C03 Question 330
Single answerReader accountsA data provider wants to share a curated set of sales tables with a small customer that does not have its own Snowflake account. The customer should be able to query the shared data immediately without purchasing a Snowflake license, and the provider wants to control the compute used for those queries. Which solution best meets these requirements?
- A
Create a reader account for the customer, create a warehouse in the provider account, and grant the reader account access to a share containing the sales data
- B
Create a standard data share and send the customer the secure share URL so they can query the data without a Snowflake account
- C
Unload the sales data to an external stage and give the customer cloud storage credentials so they can query it directly
- D
Create a database role for the customer and let them sign in with their existing corporate identity provider, even without a Snowflake account
Show answer and explanation
Correct answer: A
Explanation
Reader accounts are intended for data consumers who do not have their own Snowflake account. The provider creates the reader account, creates users for it, and supplies the compute resources used by reader users through warehouses in the provider account. This is different from standard secure data sharing, which requires the consumer to have a Snowflake account already. In practice, reader accounts are useful for smaller customers, evaluations, or limited-use data access scenarios where the provider wants centralized control over both access and compute. Snowflake documentation on data sharing and reader accounts describes that reader accounts allow non-Snowflake customers to consume shared data, while the provider is responsible for the associated compute and account management.
- A. Correct.
Correct. A reader account is designed for consumers who do not already have a Snowflake account. The provider creates and manages the reader account, shares data to it, and provides the compute by creating warehouses in the provider account for reader users to run queries. This matches all requirements: immediate access, no separate Snowflake license for the customer, and provider-controlled compute.
- B. Incorrect.
Incorrect. Standard data sharing requires the consumer to already have a Snowflake account that can receive the share. There is no mechanism for a non-Snowflake customer to query a share directly through a URL alone. This option reflects a common misconception that secure sharing removes the need for a consumer account entirely.
- C. Incorrect.
Incorrect. Unloading data to cloud storage is a data export pattern, not a Snowflake reader account solution. It would not let the customer query live shared tables inside Snowflake, and the provider would lose many governance advantages of secure data sharing such as avoiding data copies and managing access centrally.
- D. Incorrect.
Incorrect. Database roles can control access within Snowflake, but they do not create access for an organization that does not already have a Snowflake account. Federated authentication also does not replace the requirement for an account. This option confuses authorization and authentication features with account provisioning.