ADA-C01 Question 438
Single answerEvaluate different sharing models (one to one, one to many, private, public)A data provider uses Snowflake to distribute the same read-only product catalog to 40 external customers. Most customers should receive identical data, but 3 strategic partners require additional secure views that expose partner-specific columns. The provider wants to minimize ongoing administrative effort while ensuring each customer can access only the data intended for them. Which approach best meets these requirements?
- A
Create a separate private share for each customer, including the same base objects for all 40 customers and partner-specific views for the 3 strategic partners.
- B
Create one public share for the common product catalog and separate private shares only for the 3 strategic partners that need additional partner-specific views.
- C
Create one private share containing the common product catalog and add all 40 customer accounts to it; create separate private shares for each of the 3 strategic partners only if their additional views cannot be shared through the common share.
- D
Create a single listing and rely on consumers to enforce access restrictions to the partner-specific columns after they import the shared data.
Show answer and explanation
Correct answer: C
Explanation
The best answer is to use one-to-many private sharing for the common dataset and reserve separate private shares for exceptions. In Snowflake, a private share is intended for direct sharing with specific accounts, and a single private share can be granted to multiple consumer accounts. This is ideal when many consumers need the same objects. A one-to-one private share is valid but operationally inefficient when the shared content is largely identical. Public sharing is intended for discoverable distribution to a broader audience and is not the best fit for a controlled set of named customers. From an administrative and security perspective, providers should design shares so consumers receive only the approved objects; they should not depend on downstream consumers to restrict access. This aligns with Snowflake best practices for secure data sharing, including using secure views where needed and selecting the appropriate sharing model based on whether the audience is specific and known (private) or broadly discoverable (public), and whether the relationship is one-to-one or one-to-many.
- A. Incorrect.
Incorrect. This one-to-one private sharing model would work functionally, but it creates unnecessary administration because 40 separate shares must be created and maintained even though most customers receive identical content. It does not align with the requirement to minimize ongoing administrative effort. This is a common mistake when administrators default to account-by-account sharing instead of using one-to-many private sharing.
- B. Incorrect.
Incorrect. A public share is discoverable by any Snowflake account, which is not appropriate when the provider intends to share data only with known customers. Public sharing is suited to broadly discoverable distribution, not controlled customer-specific distribution. In addition, using a public share for the common catalog could expose the availability of the data to unintended parties even if consumer access still requires action.
- C. Correct.
Correct. This uses a one-to-many private sharing model for the common dataset, which is the most efficient way to distribute identical read-only data to multiple known consumer accounts. A single private share can include multiple consumer accounts. For the 3 strategic partners with additional requirements, separate private shares can be created if they need different shared objects than the general customer set. This balances administrative efficiency with the need to isolate partner-specific access.
- D. Incorrect.
Incorrect. A listing can be useful for data distribution, but relying on consumers to enforce restrictions after access is granted violates the provider's responsibility to control access at the sharing boundary. Provider-side object design and share design should ensure consumers only receive the intended data. Partner-specific columns should be controlled through separate views and, when needed, separate shares or listings, not delegated to consumers.