1.3 Outline Snowflake security principles and identify use cases where they should be applied.
1.A security policy requires all service accounts using key-pair authentication to rotate their keys every 90 days with zero downtime for the associated applications. Which two `ALTER USER` properties are specifically designed to facilitate this non-disruptive key rotation process?(Select 2)
- A.RSA_PUBLIC_KEY
- B.HAS_RSA_PUBLIC_KEY
- C.KEY_ROTATION_DEADLINE
- D.RSA_PUBLIC_KEY_2
- E.PASSWORD
Show answer & explanation
Correct answers: A, D — RSA_PUBLIC_KEY; RSA_PUBLIC_KEY_2
- A. Correct. The `RSA_PUBLIC_KEY` property is used to set the primary public key for a user. In the context of non-disruptive key rotation, it is used in the final step to promote the new key (initially set in `RSA_PUBLIC_KEY_2`) to become the primary key, thus completing the rotation cycle. Both `RSA_PUBLIC_KEY` and `RSA_PUBLIC_KEY_2` are essential for the process.
- B. Incorrect. `HAS_RSA_PUBLIC_KEY` is a read-only property visible in the output of the `DESCRIBE USER` command. It indicates whether a user has a public key assigned but is not a parameter that can be set with `ALTER USER` to facilitate the rotation process.
- C. Incorrect. `KEY_ROTATION_DEADLINE` is not a valid property for the `ALTER USER` command in Snowflake. It does not exist in the context of user-level key rotation.
- D. Correct. The `RSA_PUBLIC_KEY_2` property is specifically designed to enable non-disruptive key rotation. It allows a second public key to be assigned to a user, which Snowflake will accept for authentication. This enables applications to start using the new key while the old key (in `RSA_PUBLIC_KEY`) remains active, ensuring zero downtime during the transition.
- E. Incorrect. The `PASSWORD` property is used for password-based authentication and is entirely unrelated to key-pair authentication or the process of rotating RSA keys.