ADA-C01 Question 459
Single answerShare objects securely in a data share (for example, what type to use)A Snowflake administrator needs to provide a partner organization with read-only access to a subset of customer data through a secure data share. The source table contains sensitive columns such as EMAIL and PHONE, but the partner should see only CUSTOMER_ID, REGION, and TOTAL_SPEND. The partner must not be able to infer hidden data through query behavior, and the shared object must be supported in a data share. Which object should the administrator create and add to the share?
- A
A standard view on the table that selects only CUSTOMER_ID, REGION, and TOTAL_SPEND
- B
A secure view on the table that selects only CUSTOMER_ID, REGION, and TOTAL_SPEND
- C
A materialized view on the table that selects only CUSTOMER_ID, REGION, and TOTAL_SPEND
- D
A dynamic table on the source table that selects only CUSTOMER_ID, REGION, and TOTAL_SPEND
Show answer and explanation
Correct answer: B
Explanation
For Snowflake Secure Data Sharing, when a provider needs to expose only certain rows or columns from underlying tables, the correct object type is a secure view. Secure views are supported for sharing and are specifically intended to protect underlying logic and reduce the risk of exposing sensitive information through metadata or optimization behavior. Standard views are not the recommended object type for this use case in a share. In practice, administrators create the secure view in a database/schema, grant usage as needed, and add the secure view to the share rather than exposing the base table directly. This aligns with Snowflake documentation and best practices for Secure Data Sharing and secure objects.
- A. Incorrect.
Incorrect. A standard view can project only the allowed columns, but it is not the correct choice for secure sharing requirements. When sharing data, Snowflake supports sharing secure views, which are specifically designed to prevent exposure of underlying query details and certain inference paths. A common misconception is that hiding columns in any view is sufficient for secure data sharing; for shares, the view type matters.
- B. Correct.
Correct. A secure view is the appropriate object to expose a filtered or column-restricted representation of base data in a data share. Secure views are intended for scenarios where consumers should not access underlying table structure or infer protected data through view definitions or optimizer behavior. This is the recommended way to share a subset of sensitive data while preserving read-only access for the consumer.
- C. Incorrect.
Incorrect. Materialized views are not the right answer for this sharing scenario. Even though they can store a derived result set, the requirement is specifically to share an object securely in a data share while preventing exposure of underlying sensitive information. Snowflake data sharing is designed to use secure objects such as secure views for this purpose. Choosing a materialized view reflects the misconception that precomputed derived data automatically satisfies secure sharing requirements.
- D. Incorrect.
Incorrect. Dynamic tables are used for pipeline-style transformation and refresh workflows, not as the recommended secure abstraction for sharing selective access to base data through a share. The scenario is about exposing a secure, read-only subset of a table to another account, which is what secure views are designed for.