SnowPro Advanced: Security Engineer Question 382
Select 3Domain 5.0: Securing Snowflake Services and Features for AI/ML and Applications (12%)A financial services company is building an internal assistant in Snowflake that uses Cortex Analyst to answer questions about customer portfolios. The assistant is exposed through a custom application used by portfolio managers. Security requirements state that: (1) users must only see results for customers they are authorized to access, (2) semantic model definitions must not be modifiable by application users, and (3) the application should follow least-privilege principles when invoking AI capabilities. Which combination of actions best meets these requirements?
- A
Enforce row-level restrictions on the underlying tables and views used by the semantic model, and ensure queries run under the end user's data access context.
- B
Grant broad account-level privileges to the application role so Cortex Analyst can bypass table and view permissions when generating SQL.
- C
Store the semantic model in a controlled stage or repository location with write access limited to administrators or CI/CD roles, while granting the application only the read permissions it needs.
- D
Use a dedicated application or service role with only the minimum required privileges to access the semantic model objects and invoke the necessary Cortex functionality.
- E
Disable all row access policies on the source data and rely on prompt instructions in the application to prevent users from seeing unauthorized customer data.
Show answer and explanation
Correct answers: A, C, D
Explanation
The best answer is the combination of options 1, 3, and 4. In Snowflake, AI-enabled application patterns such as Cortex Analyst still rely on core security controls: RBAC, object privileges, and data access policies. For requirement (1), authorized data visibility must be enforced in Snowflake using row-level controls on the underlying datasets consumed by the semantic model. For requirement (2), the semantic model should be treated as a governed artifact; write access should be limited to trusted admin or deployment roles, while application users receive only the read access necessary. For requirement (3), least privilege is achieved by using a dedicated application or service role rather than broad administrative rights. These practices align with Snowflake security best practices for applications and AI features: generated SQL and AI interactions do not override native access controls, and prompt text should never be treated as a substitute for enforceable security policies.
- A. Correct.
Correct. Cortex Analyst generates SQL against Snowflake data, so standard Snowflake access controls remain critical. To ensure portfolio managers only see authorized customer data, row-level security should be enforced on the underlying data through mechanisms such as row access policies or secure views, and query execution must respect the user's effective data access context. This aligns with the principle that AI-generated SQL does not replace native object- and data-level security controls.
- B. Incorrect.
Incorrect. Granting broad account-level privileges violates least privilege and is not required for Cortex Analyst. Cortex Analyst does not need to bypass table and view permissions to function correctly. In Snowflake, generated SQL is still subject to normal authorization checks. This option reflects a common misconception that AI features require elevated privileges beyond the data they query.
- C. Correct.
Correct. Protecting the semantic model from unauthorized modification is an important security control for application integrity. Limiting write access to administrators or CI/CD roles helps prevent tampering, accidental changes, or prompt-to-SQL manipulation through model edits. The application should typically have only the read access required to use the semantic model, not modify it.
- D. Correct.
Correct. A dedicated application or service role that has only the privileges needed to read approved objects and invoke required AI functionality is the recommended least-privilege design. This reduces blast radius if the application is misconfigured or compromised and helps separate operational administration from runtime execution privileges.
- E. Incorrect.
Incorrect. Prompt instructions are not a security boundary. Disabling row access policies would expose sensitive customer data if generated SQL touches broader datasets. Snowflake security for AI/ML and applications should rely on enforceable platform controls such as RBAC, row access policies, masking policies where relevant, and controlled object privileges, not application-layer instructions alone.