ADA-C01 Question 160
Single answerManage account-level parameters and featuresA Snowflake account is used by several business units. The security team needs to ensure that if a user is inactive for 20 minutes, Snowflake ends the user's session to reduce the risk of unauthorized access from unattended workstations. The administrator wants to enforce this consistently for all users while minimizing manual changes to individual users. Which action should the administrator take?
- A
Set the SESSION_IDLE_TIMEOUT_MINS account parameter to 20 using ALTER ACCOUNT
- B
Set the STATEMENT_TIMEOUT_IN_SECONDS account parameter to 1200 using ALTER ACCOUNT
- C
Create a session policy with SESSION_IDLE_TIMEOUT_MINS = 20 and apply it to every user individually
- D
Set AUTOCOMMIT = FALSE at the account level so inactive sessions are terminated after 20 minutes
Show answer and explanation
Correct answer: A
Explanation
The requirement is to terminate idle sessions after 20 minutes for users across the Snowflake account, and to do so with minimal per-user administration. The appropriate control is SESSION_IDLE_TIMEOUT_MINS, which can be set at the account level using ALTER ACCOUNT. This establishes the default behavior broadly and aligns with account-level parameter management responsibilities expected of an administrator. By contrast, STATEMENT_TIMEOUT_IN_SECONDS governs query runtime, not idle sessions, and AUTOCOMMIT is unrelated. Session policies are valid Snowflake features for session governance, but applying them user by user would not be the most efficient answer for this scenario when the goal is an account-wide default. This reflects Snowflake best practices around using account parameters for broad governance and only using more granular assignments when exceptions or differentiated controls are needed.
- A. Correct.
Correct. SESSION_IDLE_TIMEOUT_MINS controls how long a session can remain idle before Snowflake terminates it. Setting this parameter at the account level with ALTER ACCOUNT applies a default consistently across the account and reduces the need to manage the setting user by user. This is the most direct account-level control for the stated requirement.
- B. Incorrect.
Incorrect. STATEMENT_TIMEOUT_IN_SECONDS limits how long an individual SQL statement is allowed to run before being canceled. It does not terminate a session because the user has been inactive. This is a common confusion between statement execution limits and session inactivity controls.
- C. Incorrect.
Incorrect. A session policy can control idle session behavior, but the scenario specifically asks for an account-level approach that minimizes manual changes to individual users. Applying a policy to every user individually adds unnecessary administrative effort. Also, when the requirement is to enforce a broad default across the account, an account-level parameter is the simpler and more scalable choice.
- D. Incorrect.
Incorrect. AUTOCOMMIT controls transaction behavior, specifically whether each statement is automatically committed. It has no relationship to session inactivity or session termination. This distractor targets the misconception that general session settings can be used for security timeout enforcement.