ALTER AUTHENTICATION POLICY

修改身份验证策略的属性。

另请参阅:

CREATE AUTHENTICATION POLICYDESCRIBE AUTHENTICATION POLICYDROP AUTHENTICATION POLICYSHOW AUTHENTICATION POLICIES

语法

ALTER AUTHENTICATION POLICY <name> RENAME TO <new_name>

ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> SET
  [ AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ MFA_AUTHENTICATION_METHODS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ MFA_ENROLLMENT = { REQUIRED | OPTIONAL } ]
  [ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ SECURITY_INTEGRATIONS = ( '<string_literal>' [ , '<string_literal>' , ...  ] ) ]
  [ COMMENT = '<string_literal>' ]

ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> UNSET
  [ CLIENT_TYPES ]
  [ AUTHENTICATION_METHODS ]
  [ SECURITY_INTEGRATIONS ]
  [ MFA_AUTHENTICATION_METHODS ]
  [ MFA_ENROLLMENT ]
  [ COMMENT ]
Copy

参数

name

指定要更改的身份验证策略的标识符。如果标识符包含空格或特殊字符,则必须将字符串放在双引号中。放在双引号中的标识符区分大小写。标识符必须满足 标识符要求

RENAME TO ...

指定现有身份验证策略的新名称。

SET ...

指定要为身份验证策略设置的一个或多个属性,属性之间用空格、逗号或换行符分隔。

AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )

更改登录时允许使用的身份验证方法。该参数可接受以下一个或多个值:

小心

通过身份验证方法进行限制可能会产生意想不到的后果,例如阻止驱动程序连接或第三方集成。

ALL

允许所有身份验证方法。

SAML

允许 SAML2 安全集成。如果 SAML 存在,则会显示 SSO 登录选项。如果 SAML 不存在,则不会显示 SSO 登录选项。

PASSWORD

允许用户使用用户名和密码进行身份验证。

OAUTH

允许 External OAuth

KEYPAIR

允许 密钥对身份验证

默认:ALL

MFA_AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )

登录时执行多重身份验证 (MFA) 的身份验证方法列表。此参数中未列出的身份验证方法不会提示进行多重身份验证。

以下身份验证方法支持 MFA:

  • SAML

  • PASSWORD

该参数可接受以下一个或多个值:

SAML

在使用 SAML2 安全集成 进行身份验证时,如果用户已注册 MFA,则系统会提示用户使用 MFA。

PASSWORD

在使用用户名和密码进行身份验证时,如果用户已注册 MFA,则系统会提示用户使用 MFA。

默认:('PASSWORD', 'SAML')

MFA_ENROLLMENT = { REQUIRED | OPTIONAL }

更改用户是否必须注册多重身份验证。

REQUIRED

强制用户注册 MFA。如果使用此值,那么 CLIENT_TYPES 参数必须包括 SNOWFLAKE_UI,因为 Snowsight 是用户可以 注册多重身份验证 (MFA) 的唯一地方。

OPTIONAL

用户可以选择是否注册 MFA。

默认:OPTIONAL

CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )

更改可以使用 Snowflake 进行身份验证的客户端。

The CLIENT_TYPES property of an authentication policy is a best effort method to block user logins based on specific clients. It should not be used as the sole control to establish a security boundary。

此属性接受以下一个或多个值:

ALL

允许所有客户端进行身份验证。

SNOWFLAKE_UI

SnowsightClassic Console,Snowflake Web 界面。

小心

If SNOWFLAKE_UI is not included in the CLIENT_TYPES list, MFA enrollment does not work。

DRIVERS

驱动程序允许从使用 支持的语言 编写的应用程序访问 Snowflake。例如,GoJDBC.NET 驱动程序和 Snowpipe Streaming

小心

如果 DRIVERS 未列入 CLIENT_TYPES 列表,自动引入可能会停止工作。

SNOWSQL

命令行客户端,用于连接 Snowflake。

如果客户端尝试连接,但客户端不在有效的 CLIENT_TYPES 之列,则登录尝试失败。如果未设置 CLIENT_TYPES,则任何客户端都可以连接。

默认:ALL

SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )

更改与身份验证策略关联的安全集成。当 SAMLOAUTH 不在 AUTHENTICATION_METHODS 列表中时,该参数不起作用。

SECURITY_INTEGRATIONS 列表中的所有值必须与 AUTHENTICATION_METHODS 列表中的值兼容。例如,如果 SECURITY_INTEGRATIONS 包含 SAML 安全集成,而 AUTHENTICATION_METHODS 包含 OAUTH,则无法创建身份验证策略。

ALL

允许所有安全集成。

默认:ALL

COMMENT = 'string_literal'

更改身份验证策略的注释。

UNSET ...

指定要为身份验证策略取消设置的属性,这会将这些属性重置为默认值。

访问控制要求

用于执行此 SQL 命令的 角色 必须至少具有以下 权限

权限

对象

备注

OWNERSHIP

身份验证策略

Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。

有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色

有关对 安全对象 执行 SQL 操作的相应角色和权限授予的一般信息,请参阅 访问控制概述

使用说明

示例

更改身份验证策略上允许的客户端的列表:

ALTER AUTHENTICATION POLICY restrict_client_types_policy SET CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWSQL');
Copy
语言: 中文