ALTER AUTHENTICATION POLICY¶
修改身份验证策略的属性。
- 另请参阅:
CREATE AUTHENTICATION POLICY、DESCRIBE AUTHENTICATION POLICY、DROP AUTHENTICATION POLICY、SHOW AUTHENTICATION POLICIES
语法¶
ALTER AUTHENTICATION POLICY <name> RENAME TO <new_name>
ALTER AUTHENTICATION POLICY [ IF EXISTS ] <name> SET
[ CLIENT_TYPES = ( '<string_literal>' [ , '<string_literal>' , ... ] ) ]
[ AUTHENTICATION_METHODS = ( '<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 ]
[ COMMENT ]
参数¶
name
指定要更改的身份验证策略的标识符。如果标识符包含空格或特殊字符,则必须将字符串放在双引号中。放在双引号中的标识符区分大小写。标识符必须满足 标识符要求。
RENAME TO ...
指定现有身份验证策略的新名称。
SET ...
指定要为身份验证策略设置的一个或多个属性,属性之间用空格、逗号或换行符分隔。
CLIENT_TYPES = ( 'string_literal' [ , 'string_literal' , ... ] )
更改可以使用 Snowflake 进行身份验证的客户端。此属性接受以下一个或多个值:
ALL
允许所有客户端进行身份验证。
SNOWFLAKE_UI
Snowsight 或 Classic Console,Snowflake Web 界面。
DRIVERS
驱动程序允许从使用 支持的语言 编写的应用程序访问 Snowflake。例如,Go、JDBC、.NET 驱动程序,以及 Snowpipe Streaming。
小心
如果
DRIVERS
未列入CLIENT_TYPES
列表,自动引入可能会停止工作。SNOWSQL
命令行客户端,用于连接 Snowflake。
如果客户端尝试连接,但客户端不在有效的
CLIENT_TYPES
之列,则登录尝试失败。如果未设置CLIENT_TYPES
,则任何客户端都可以连接。默认:
ALL
。AUTHENTICATION_METHODS = ( 'string_literal' [ , 'string_literal' , ... ] )
更改登录时允许使用的身份验证方法。该参数可接受以下一个或多个值:
小心
通过身份验证方法进行限制可能会产生意想不到的后果,例如阻止驱动程序连接或第三方集成。
ALL
允许所有身份验证方法。
SAML
允许 SAML2 安全集成。如果
SAML
存在,则会显示 SSO 登录选项。如果SAML
不存在,则不会显示 SSO 登录选项。PASSWORD
允许用户使用用户名和密码进行身份验证。
OAUTH
允许 External OAuth。
KEYPAIR
允许 密钥对身份验证。
默认:
ALL
。SECURITY_INTEGRATIONS = ( 'string_literal' [ , 'string_literal' , ... ] )
更改与身份验证策略关联的安全集成。当
SAML
或OAUTH
不在AUTHENTICATION_METHODS
列表中时,该参数不起作用。SECURITY_INTEGRATIONS
列表中的所有值必须与AUTHENTICATION_METHODS
列表中的值兼容。例如,如果SECURITY_INTEGRATIONS
包含 SAML 安全集成,而AUTHENTICATION_METHODS
包含OAUTH
,则无法创建身份验证策略。ALL
允许所有安全集成。
默认:
ALL
。COMMENT = 'string_literal'
更改身份验证策略的注释。
UNSET ...
指定要为身份验证策略取消设置的属性,这会将这些属性重置为默认值。
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
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 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
如果您要更新现有身份验证策略,并且需要查看该策略的定义,请运行 DESCRIBE AUTHENTICATION POLICY 命令或 GET_DDL 函数。
示例¶
更改身份验证策略上允许的客户端的列表:
ALTER AUTHENTICATION POLICY restrict_client_types_policy SET CLIENT_TYPES = ('SNOWFLAKE_UI', 'SNOWSQL');