SnowPro Advanced: Security Engineer Question 191
Single answerVisualize data lineageA security engineer must investigate whether a masking policy applied to the table PROD.CUSTOMERS could affect downstream analytics objects that are queried by business users. The engineer wants a visual, object-level view showing upstream and downstream dependencies so they can quickly identify which views and tables are derived from PROD.CUSTOMERS before making the change. Which Snowflake feature should the engineer use?
- A
Use Snowsight Lineage to visualize upstream and downstream object dependencies for PROD.CUSTOMERS
- B
Query ACCESS_HISTORY because it provides a visual graph of all derived objects and policy inheritance paths
- C
Use QUERY_HISTORY to identify all statements that referenced PROD.CUSTOMERS and treat those statements as the lineage map
- D
Run DESCRIBE MASKING POLICY on the policy to see every downstream table and view that depends on PROD.CUSTOMERS
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use Snowsight Lineage. In Snowflake, lineage is designed to help users understand how data flows across supported objects by showing upstream and downstream dependencies visually. This is especially valuable for security engineering tasks such as evaluating the blast radius of policy changes, assessing where sensitive data propagates, and validating governance controls before modifying masking or row access protections. ACCESS_HISTORY and QUERY_HISTORY are valuable monitoring and investigation tools, but they are not substitutes for Snowflake's lineage visualization capability. As a best practice, use Lineage first to identify dependent objects, then use auditing views such as ACCESS_HISTORY if you need to confirm who accessed the data or how it was queried.
- A. Correct.
Correct. Snowsight provides a Lineage experience that visually shows upstream and downstream relationships between supported Snowflake objects. For a security engineer assessing the impact of changing protections on a source table, this is the appropriate feature to quickly understand derived objects such as downstream views and tables.
- B. Incorrect.
Incorrect. ACCESS_HISTORY is useful for auditing data access and understanding which users, roles, and queries accessed objects or columns, but it is not the primary visual lineage feature. It can support an investigation, but it does not itself provide the intended visual dependency graph for lineage analysis.
- C. Incorrect.
Incorrect. QUERY_HISTORY shows executed SQL statements and execution details, which may help with troubleshooting or forensic review, but it does not provide a maintained visual lineage graph of object dependencies. Relying on query text alone can miss the broader dependency view and is much less efficient for change impact analysis.
- D. Incorrect.
Incorrect. DESCRIBE MASKING POLICY returns metadata about the masking policy definition, not a complete visual map of downstream object lineage from a source table. It helps inspect policy logic, but it does not replace lineage visualization for impact analysis across derived objects.