默认对 Snowflake 新账户执行多重身份验证注册

Attention

This behavior change is in the 2024_08 bundle.

For the current status of the bundle, refer to Bundle History.

启用此行为变更捆绑包后,新创建的 Snowflake 账户行为如下:

Before the change:

没有内置身份验证策略,无法强制用户在新创建的 Snowflake 账户上注册多重身份验证 (MFA)。

After the change:

A new built-in authentication policy that enforces users to enroll in MFA in newly created Snowflake accounts if the user uses password authentication, and have their TYPE property set to PERSON or NULL.

试用账户不受新的内置身份验证策略的限制。如果试用账户转换为付费账户,则付费账户具有内置的身份验证策略,要求 MFA 注册。

阅读者账户不受新的内置身份验证策略的限制。

对新账户的建议

创建新账户时,您可以为您的账户分配一个 ACCOUNTADMIN。此行为变更强制在新的 Snowflake 账户上执行多重身份验证 (MFA) 注册。根据人员外或服务是否使用 ACCOUNTADMIN 角色,您需要指定是否要在 ACCOUNTADMIN 上强制执行 MFA 注册,以防止账户锁定或确保账户安全。

根据您的设置,按照以下其中一个部分进行操作:

对人类 ACCOUNTADMIN 强制执行 MFA 注册

如果有人在您的账户上直接使用 ACCOUNTADMIN 角色,您可以在创建账户时强制 ACCOUNTADMIN 注册 MFA,以确保账户安全。

在创建账户时执行以下 SQL 语句,以指定人类使用 ACCOUNTADMIN 角色,并要求注册 MFA:

CREATE ACCOUNT my_admin ADMIN_USER_TYPE = PERSON;

防止对非人类 ACCOUNTADMIN 强制执行 MFA

If a human does not use the ACCOUNTADMIN role on your account, you must prevent MFA enrollment from being enforced to allow the service that is using the ACCOUNTADMIN role to run successfully. A service-type ACCOUNTADMIN cannot use passwords to authenticate, and must specify an ADMIN_RSA_PUBLIC_KEY during account creation.

在创建账户时执行以下 SQL 语句,以指定服务使用 ACCOUNTADMIN 角色并使用 RSA 密钥进行身份验证,而不需要注册 MFA:

CREATE ACCOUNT my_admin
  ADMIN_USER_TYPE = SERVICE
  ADMIN_RSA_PUBLIC_KEY = 'MIIBIj...';

允许在非人类 ACCOUNTADMIN 上进行密码身份验证

If a human does not use the ACCOUNTADMIN role on your account, you must prevent MFA enrollment from being enforced to allow the service that is using the ACCOUNTADMIN role to run successfully. The recommended authentication method for a service-type ACCOUNTADMIN is key-pair authentication, but if the service using the ACCOUNTADMIN ROLE does not support key-pair authentication, then you can specify that a legacy service uses the ACCOUNTADMIN role.

A legacy service ACCOUNTADMIN cannot log in to Snowsight, and you cannot set the FIRST_NAME or LAST_NAME parameters.

在创建账户时执行以下 SQL 语句,以指定旧服务使用 ACCOUNTADMIN 角色并使用密码进行身份验证,而不需要注册 MFA:

CREATE ACCOUNT my_admin
  ADMIN_USER_TYPE = LEGACY_SERVICE
  ADMIN_PASSWORD = 'password';

Note

The LEGACY_SERVICE type is a temporary solution. Snowflake highly recommends you set up key-pair authentication.

See user types for more information about user types and their limitations.

参考:1784