nerdexam
Snowflake

SOL-C01 · Question #21

You have a base table called `customer data' which contains sensitive information like credit card numbers. You need to create a view called that exposes only non-sensitive columns (e.g., customer_id,

The correct answer is C. Create a secure view `customer_summary' selecting only the desired columns from. A secure view (option C) is the correct choice because it hides the underlying query definition from users who query the view, preventing them from inspecting the base table's structure or sensitive column names - a standard view exposes that metadata to users with DESCRIBE or SH

Snowflake Account and Security

Question

You have a base table called `customer data' which contains sensitive information like credit card numbers. You need to create a view called that exposes only non-sensitive columns (e.g., customer_id, customer_name, city) and hides the logic of the underlying table's structure. Additionally, you want to ensure that no user can directly query the 'customer_data' table. Which of the following steps are necessary to achieve this?

Options

  • ACreate a standard view `customer_summary' selecting only the desired columns from
  • BCreate a materialized view `customer_summary' selecting only the desired columns from
  • CCreate a secure view `customer_summary' selecting only the desired columns from
  • DCreate a standard view `customer_summary' selecting only the desired columns from
  • ECreate a secure view customer_summary' selecting all columns from customer_data'. Grant

How the community answered

(68 responses)
  • A
    6% (4)
  • B
    12% (8)
  • C
    50% (34)
  • D
    29% (20)
  • E
    3% (2)

Explanation

A secure view (option C) is the correct choice because it hides the underlying query definition from users who query the view, preventing them from inspecting the base table's structure or sensitive column names - a standard view exposes that metadata to users with DESCRIBE or SHOW CREATE VIEW access.

Why the distractors fail:

  • A & D use a standard view, which exposes the view's definition and does not hide the table structure - failing the "hides underlying logic" requirement.
  • B uses a materialized view, which physically stores query results and is designed for performance, not security - it doesn't restrict schema visibility.
  • E selects all columns from customer_data, which would expose sensitive columns like credit card numbers, defeating the entire purpose.

Memory tip: Think of "secure" as a lock on the view's definition - regular views are glass boxes (you can see inside), while secure views are steel boxes (results only, no peeking at the logic). In Snowflake specifically, CREATE SECURE VIEW is the explicit keyword that enables this behavior, and you'd pair it with revoking SELECT on the base table from all non-admin roles.

Topics

#Secure View#Data Access Control#View Types#Sensitive Data

Community Discussion

No community discussion yet for this question.

Full SOL-C01 Practice