COF-C03 - Account Management and Data Governance (20% of the exam) - Section 2.3

Apply data governance controls including dynamic data masking, column-level security, and row access policies.

Apply Snowflake governance policies: dynamic data masking and column-level security to hide or tokenise sensitive column values based on the querying role, and row access policies to filter the rows a role can see. Recognise how a masking or row access policy is created once and attached to many objects.

dynamic data maskingmasking policiescolumn-level securityrow access policiesexternal tokenization

Practice question for this objective

Free sampleAccount Management and Data Governancehard

A data steward must choose between a masking policy and a row access policy for several governance requirements on the same SALES table. For which TWO requirements is a row access policy, rather than a masking policy, the correct Snowflake control? Select TWO.

  • AAn auditor role must be able to read full unmasked salary figures while every other role sees a redacted placeholder in that column.
  • BEach regional manager must see only the order rows for the territory codes assigned to their role, with all other rows absent from the result set. Correct
  • CRows for closed accounts must be suppressed from analyst queries while remaining queryable by the compliance role that the policy maps to those rows. Correct
  • DCard numbers must be stored only as non-sensitive tokens, with the raw values held by an external provider and detokenised on demand for authorised roles.
Row access policies decide which rows appear per query, whereas masking policies transform column values and tokenisation substitutes stored values. A row access policy is evaluated for each row to keep or remove it based on the querying context, so requirements that turn on row visibility belong to it, while column transformation and stored-value substitution belong to masking policies and tokenisation respectively.

Why A is wrong: Tempting because access depends on the role, but transforming a single column's value while keeping every row is a masking policy task, not row filtering.

Why B is correct: Correct, because deciding which rows appear based on the querying context is exactly what a row access policy evaluates per row to permit or remove it.

Why C is correct: Correct, because conditionally including or excluding whole rows based on the active role and row data is the defining behaviour of a row access policy.

Why D is wrong: Tempting because it protects sensitive data, but this token-in, value-out pattern is external tokenisation invoked from a masking policy, not row filtering.

See more COF-C03 practice questions, answers explained.

Exam traps in Account Management and Data Governance

Answers that look right on this material and are not. Each one is a distractor from a different question in the COF-C03 bank for this domain.

  • The masking policy is evaluated first so COMMISSION is masked, and the row access policy then filters on the already-masked value, which can drop rows the analyst expected to see based on the real commission

    Why it is wrong: Snowflake applies the row access policy before column masking, so masking does not occur before row filtering; this option inverts the documented order and so describes the wrong behaviour.

  • A row access policy attached to the CUSTOMERS table, so that the rows containing sensitive EMAIL and PHONE values are filtered out for every role except the support role at query time

    Why it is wrong: A row access policy filters whole rows from the result rather than transforming column values, so it would hide entire customer records rather than obfuscate the EMAIL and PHONE fields as required.

  • A masking policy filters out entire rows from the result set when the querying role is unauthorised, leaving authorised rows fully visible.

    Why it is wrong: Tempting because masking and row filtering both restrict data, but removing rows is the job of a row access policy; a masking policy only transforms column values, never drops rows.

Examworthy is not affiliated with or endorsed by Snowflake. Original, blueprint-aligned practice material only.