SnowPro Advanced: Security Engineer Question 156
Single answerLeverage account-level and user-level parameters to restrict when users can download query result setsA financial services company uses Snowflake Snowsight and the Classic Console for different user groups. Security administrators must reduce the risk of sensitive data being exported from worksheets, but they cannot block all query execution or remove object access. They decide to use parameters so that analysts can still run queries while restricting result downloads for most users. Which approach best meets this requirement?
- A
Set the account parameter PREVENT_UNLOAD_TO_INLINE_URL = TRUE so users cannot download worksheet results unless explicitly allowed at the user level.
- B
Set the account parameter DATA_RETENTION_TIME_IN_DAYS = 0 so query results are not retained long enough to be downloaded by users.
- C
Set the account parameter DISABLE_UI_DOWNLOAD_BUTTON = TRUE, and override it to FALSE for specific users who are approved to download query result sets.
- D
Revoke the USAGE privilege on warehouses from most analysts so they can view objects but cannot run queries that would produce downloadable result sets.
Show answer and explanation
Correct answer: C
Explanation
The best answer is to use the DISABLE_UI_DOWNLOAD_BUTTON parameter. In Snowflake, parameters can be set at different levels, including the account and user levels, allowing administrators to define a restrictive default and then grant exceptions only where justified. This is the most practical and least disruptive way to reduce data exfiltration risk from UI-based query result downloads while preserving the ability to run queries. In contrast, PREVENT_UNLOAD_TO_INLINE_URL applies to unloading behavior, not worksheet download buttons; DATA_RETENTION_TIME_IN_DAYS is unrelated to UI download controls; and revoking warehouse access blocks query execution entirely. This reflects Snowflake best practice: use the narrowest effective control and apply inheritance/overrides through parameter hierarchy where appropriate.
- A. Incorrect.
Incorrect. PREVENT_UNLOAD_TO_INLINE_URL controls whether data can be unloaded to inline URLs, which is related to unloading/export operations to cloud storage destinations, not the UI behavior for downloading worksheet query result sets. A candidate might choose this option because it sounds like a download control, but it does not govern the worksheet result download buttons in Snowflake web interfaces.
- B. Incorrect.
Incorrect. DATA_RETENTION_TIME_IN_DAYS controls Time Travel retention for table data and does not restrict whether users can download query results from the UI. This is a common misconception because both involve retained data, but query result download restrictions are handled through a dedicated parameter rather than retention settings.
- C. Correct.
Correct. DISABLE_UI_DOWNLOAD_BUTTON is the parameter designed to control whether users can download query result sets from the Snowflake UI. Setting it at the account level establishes a secure default for all users, and setting it at the user level allows approved exceptions. This approach aligns with the requirement to keep query access in place while limiting export through the interface.
- D. Incorrect.
Incorrect. Revoking warehouse USAGE would prevent users from running queries rather than specifically restricting downloads of result sets. The scenario explicitly requires that users continue to execute queries, so this approach is too disruptive and does not leverage the intended account-level and user-level parameter controls.