Verified against the official Snowflake COF-C03 Exam Study Guide — follows guide sections 2.1-2.3.
ALTER ACCOUNT ... SET NETWORK_POLICY = ...) requires
SECURITYADMIN or higher.ORGADMIN → ACCOUNTADMIN (encompasses
SYSADMIN + SECURITYADMIN) → SECURITYADMIN (users/roles/grants, inherits USERADMIN) →
USERADMIN (users/roles only) → SYSADMIN (warehouses/DBs/most objects) → PUBLIC (implicit,
everyone).DATA_ENGINEER, ANALYST_READONLY) and granted up to SYSADMIN.USE SECONDARY ROLES ALL) so the session's effective privilege
set is the union of primary + all secondary roles — useful when a user needs combined access
from multiple roles in one session without switching.log.info, etc.) and
tracing (OpenTelemetry-style event/span data) emitted from handlers (stored procs, UDFs,
Native Apps) into an event table, queryable like any other table — this is Snowflake's
observability mechanism for code running inside the platform.CREATE TAG <name> ALLOWED_VALUES 'a', 'b', ... — optional enum-style constraint; verified
hands-on that Snowflake genuinely rejects an out-of-list value at assignment time
(ALTER TABLE ... MODIFY COLUMN ... SET TAG <tag> = '<value>'), not just a suggestion.INFORMATION_SCHEMA.TAG_REFERENCES(...) / the
ACCOUNT_USAGE.TAG_REFERENCES view — how a compliance process finds "every column tagged
CONFIDENTIAL" without knowing in advance which tables have PII.ALTER TAG <tag> SET MASKING POLICY <policy>
attaches a masking policy to the tag itself, not to any specific column. Verified hands-on:
a column tagged after the fact inherited the masking behavior automatically, with the
column's own masking-policy attachment never touched directly — classify once, governance
rule applies everywhere that classification is used, including columns tagged later.CREATE ALERT objects — a scheduled SQL condition check that fires an action
(e.g. send a notification) when true, useful for data-quality or threshold monitoring.ACCOUNT_USAGE schema: system database views (e.g. WAREHOUSE_METERING_HISTORY,
QUERY_HISTORY, LOGIN_HISTORY) for historical account activity/cost analysis — note it has
latency (data can lag up to ~2 hours to 3 days depending on the view) versus
INFORMATION_SCHEMA, which is real-time but only covers a limited retention window.