ALTER SECRET¶
修改现有密钥的属性。
语法¶
OAuth (使用客户端凭据流程):
ALTER SECRET [ IF EXISTS ] <name> SET [ OAUTH_SCOPES = ( '<scope_1>' [ , '<scope_2>' ... ] ) ] [ COMMENT = '<string_literal>' ] ALTER SECRET [ IF EXISTS ] <name> UNSET COMMENT
OAuth (使用授权代码授予流程:)
ALTER SECRET [ IF EXISTS ] <name> SET [ OAUTH_REFRESH_TOKEN = '<token>' ] [ OAUTH_REFRESH_TOKEN_EXPIRY_TIME = '<string_literal>' ] [ COMMENT = '<string_literal>' ] ALTER SECRET [ IF EXISTS ] <name> UNSET COMMENT
基本身份验证:
ALTER SECRET [ IF EXISTS ] <name> SET [ USERNAME = '<username>' ] [ PASSWORD = '<password>' ] [ COMMENT = '<string_literal>' ] ALTER SECRET [ IF EXISTS ] <name> UNSET COMMENT
通用字符串:
ALTER SECRET [ IF EXISTS ] <name> SET [ SECRET_STRING = '<string_literal>' ] [ COMMENT = '<string_literal>' ] ALTER SECRET [ IF EXISTS ] <name> UNSET COMMENT
OAuth (使用客户端凭据流程)参数¶
name
指定密钥的标识符(即名称)的字符串;在架构中必须唯一。
SET ...
指定要设置的一个(或多个)参数(用空格、逗号或换行符分隔)。
OAUTH_SCOPES = ( 'scope_1' [ , 'scope_2' ... ] )
指定在以下情况下使用的以逗号分隔的范围列表:在 OAuth 客户端凭据流程期间,对集成具有 USAGE 权限的角色从 OAuth 服务器发出请求。
此列表必须是安全集成的
OAUTH_ALLOWED_SCOPES
属性中定义的范围的子集。如果未指定OAUTH_SCOPES
属性值,则密钥将继承安全集成中指定的所有范围。
基本身份验证参数¶
name
指定密钥的标识符(即名称)的字符串;在架构中必须唯一。
SET ...
指定要为会话设置的一个(或多个)参数(用空格、逗号或换行符分隔)。
USERNAME = 'username'
指定要存储在密钥中的用户名值。
使用密钥进行基本身份验证时指定此属性值(即密钥为
TYPE = PASSWORD
)。PASSWORD = 'password'
指定要存储在密钥中的密码值。
使用密钥进行基本身份验证时指定此属性值(即密钥为
TYPE = PASSWORD
)。
通用字符串参数¶
name
指定密钥的标识符(即名称)的字符串;在架构中必须唯一。
SET ...
指定要设置的一个(或多个)参数(用空格、逗号或换行符分隔)。
SECRET_STRING = 'string_literal'
指定要存储在密钥中的字符串。
该字符串可以是 API 令牌或敏感值字符串,可在 UDF 或存储过程的处理程序代码中使用。有关详细信息,请参阅 创建和使用外部访问集成。
不应使用此属性来存储任何类型的 OAuth 令牌;对于您的 OAuth 用例,请使用其他密钥类型之一。
常用参数:所有语法¶
SET ...
指定要为会话设置的一个(或多个)参数(用空格、逗号或换行符分隔)。
COMMENT = 'string_literal'
用于指定密钥注释的字符串(字面量)。
默认:无值
UNSET ...
指定要为密钥取消设置的一个(或多个)属性/参数,这会将它们重置回默认值:
COMMENT
访问控制要求¶
权限 |
对象 |
备注 |
---|---|---|
OWNERSHIP |
密钥 |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
请注意,对架构中的对象进行操作还需要对父数据库和架构具有 USAGE 权限。
有关创建具有指定权限集的自定义角色的说明,请参阅 创建自定义角色。
使用说明¶
关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
修改密钥注释:
ALTER SECRET service_now_creds_pw SET COMMENT = 'production secret for servicenow';