Planning for the deprecation of single-factor password sign-ins¶
To improve the security posture of all of its customers, Snowflake is rolling out changes to require multi-factor authentication (MFA) for all human users using passwords, and disallow passwords for all service users. These changes will be rolled out across multiple behavior change releases (BCRs). This topic describes how single-factor password sign-ins will be deprecated so you can plan accordingly.
Note
The deprecation process described in this topic does not apply to reader accounts, Open Catalog accounts, and trial accounts. You can continue to sign in to these types of accounts with a single-factor password.
Understanding the rollout process¶
The rollout of the deprecation of single-factor password sign-ins is broken down into multiple milestones.
Each milestone is implemented using Snowflake’s established behavior change release process. In this process, Snowflake releases a behavior change bundle each month. Because changes will be included in a behavior change bundle, enforcement of the new restrictions will coincide with the lifecycle of the bundle.
For more information about the lifecycle of behavior change bundles so you can plan for the enforcement of each milestone, see Behavior change policy.
Human users vs. service users¶
User objects in Snowflake don’t always correspond to human users. There are users who sign in to Snowflake without human interaction — for example, an application or service. These users are considered service users.
Administrators use the TYPE
parameter of a user object to define whether a user is a human user or a service user.
For human users,
TYPE=PERSON
. If you don’t set theTYPE
parameter or set it to NULL, the user is treated as a human user.For service users,
TYPE=SERVICE
.Note
The
LEGACY_SERVICE
user type helps customers transition service users to using a secure form of authentication. Setting a user’s type toLEGACY_SERVICE
temporarily allows the user to authenticate with a password even though it’s an application or service. The rollout described in this topic involves the gradual deprecation of this user type.
The distinction between a human user and a service user is important because this rollout affects these two types of users differently. To harden the security posture for both types of users, the deprecation of single-factor password sign-ins consists of the following:
All human users who use password authentication will be required to use a second factor of authentication. For a timeline that describes how Snowflake will meet this goal, see Milestones for human users.
All service users who currently use password authentication will be required to migrate to a more secure authentication method. For a timeline that describes how Snowflake will meet this goal, see Milestones for service users.
Deprecation timeline¶
The following table provides the timeline for the deprecation of single-factor password sign ins.
Estimated date |
Affected users |
Milestone |
---|---|---|
May 2025 - Jul. 2025 |
Human users |
|
Aug. 2025 - Oct. 2025 |
Human users |
|
Nov. 2025 - Jan. 2026 |
Service users |
|
Mar. 2026 - May 2026 |
Human users |
|
Jun. 2026 - Aug. 2026 |
Service users |
Milestones for human users¶
Goal: All human users who authenticate with passwords must use a second factor of authentication.
The rollout to meet this goal consists of the following milestones. Each milestone begins with the release of a behavior change bundle (that is, the testing period begins) and ends when the bundle becomes generally enabled. Restrictions associated with the milestone are enforced as soon as the bundle is enabled.
- 2025_04 bundle (May 2025 - July 2025) [1] : Mandatory MFA for all Snowsight users (new and existing)
Human users must authenticate with a second factor when using a password to access Snowsight, with no exceptions.
Keep in mind the following:
This milestone affects Snowsight only. Human users can continue to use a single-factor password to access the Snowflake service from business intelligence (BI) and similar tools, even after they use Snowsight to enroll in MFA. You can choose to enforce MFA for these other tools; users who are already enrolled in MFA and use MFA outside Snowsight will continue to use MFA.
Authentication policies that implemented optional MFA enrollment for Snowsight are overridden.
Because users authenticating with Snowflake OAuth use the Snowsight login interface, they must be enrolled in MFA.
Single sign-on users are not impacted by this change and can continue to access Snowsight with no changes.
Legacy service users (
TYPE=LEGACY_SERVICE
) are not impacted by this change and can continue to access Snowsight with a single-factor password.
- 2025_07 bundle (August 2025 - October 2025) [1] : Mandatory MFA for all new human users
All human users that are created after the behavior change bundle is enabled must authenticate with a second factor, including those using BI tools or similar.
Human users who existed before the bundle was enabled are not affected. These password users can continue to use BI tools or similar (anything but Snowsight) without a second factor of authentication until March 2026.
For example, suppose your administrator opts into the behavior change bundle associated with this milestone on September 10, 2025. All human users created on or after this date must use a second factor of authentication regardless of the surface. Human users who existed before this date can continue to use password-only authentication for BI tools, but not Snowsight.
- Bundle to be announced (March 2026 - May 2026) [1] : Mandatory MFA for all human users (no exceptions)
When the behavior change bundle associated with this milestone is enabled, all new and existing human users must use a second factor when authenticating with a password, with no exceptions.
Milestones for service users¶
Goal: All service users must use a secure form of authentication.
The rollout to meet this goal consists of the following milestones. Each milestone begins with the release of a behavior change bundle and ends when the bundle becomes generally enabled. Restrictions associated with the milestone are enforced as soon as the bundle is enabled.
Users with TYPE=SERVICE
cannot use password authentication, with no exceptions. To temporarily allow services and applications to
authenticate with a password, Snowflake provided the LEGACY_SERVICE
user type. The migration away from single-factor password
sign-ins focuses on the gradual deprecation of this LEGACY_SERVICE
user type, so all non-human users must be of type SERVICE
.
- Bundle to be announced (November 2025 - January 2026) [2] : No new legacy service users
All non-human users created after the behavior change bundle is enabled must be of type
SERVICE
, which prevents them from using a password. TheLEGACY_SERVICE
type is no longer available when creating a new user object. In addition, administrators cannot change the type of an existing user toLEGACY_SERVICE
.For example, suppose your administrator opts into the behavior change bundle associated with this milestone on December 10, 2025. After this date,
TYPE=LEGACY_SERVICE
is an invalid option when executing a CREATE USER or ALTER USER command.
- Bundle to be announced (June 2026 - August 2026) [2] : No legacy service users
When the behavior change bundle associated with this milestone is enabled, all non-human users are blocked from using a password to authenticate.
The
LEGACY_SERVICE
user type is fully deprecated. All existing user objects withTYPE=LEGACY_SERVICE
are migrated toTYPE=SERVICE
, which prevents them from using a password.
All dates are estimated, and are dependent on the release and lifecycle of the bundle. To understand this lifecycle, see Monthly behavior change bundles.
Requiring MFA ahead of schedule¶
Given the improved security associated with preventing single-factor password sign-ins, you might decide to implement it ahead of the timelines provided in this topic. This section describes how to enforce restrictions without waiting for the rollout to complete.
The rollout of mandatory MFA differentiates between Snowsight and other surfaces, and between new and existing users. You can use a custom authentication policy to immediately enforce MFA for all human users across all client types without waiting for the rollout process to complete.
You’ll want to carefully define all parameters of the new authentication policy, but at a minimum it should contain the following parameters to meet the goal of preventing single-factor password sign-ins:
CREATE AUTHENTICATION POLICY require_mfa_policy
MFA_AUTHENTICATION_METHODS = ('PASSWORD')
MFA_ENROLLMENT = REQUIRED;
For more information about these parameters, see CREATE AUTHENTICATION POLICY.
To set the authentication policy for the account so it governs the authentication of all human users, execute the following statements:
USE ROLE ACCOUNTADMIN; ALTER ACCOUNT SET AUTHENTICATION POLICY require_mfa_policy;
Enrolling in multi-factor authentication¶
For information about how users enroll in MFA, see Enroll in multi-factor authentication (MFA).