ALTER ROLE¶
修改现有 :ref:` 自定义角色 <label-access_control_overview_roles_custom>` 的属性。目前,唯一支持的操作是重命名角色,或者添加/覆盖/移除角色的注释。
语法¶
ALTER ROLE [ IF EXISTS ] <name> RENAME TO <new_name>
ALTER ROLE [ IF EXISTS ] <name> SET COMMENT = '<string_literal>'
ALTER ROLE [ IF EXISTS ] <name> UNSET COMMENT
ALTER ROLE [ IF EXISTS ] <name> SET TAG <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' ... ]
ALTER ROLE [ IF EXISTS ] <name> UNSET TAG <tag_name> [ , <tag_name> ... ]
参数¶
name
指定要更改的角色的标识符。如果标识符包含空格或特殊字符,则整个字符串必须放在双引号内。放在双引号内的标识符也区分大小写。
RENAME TO new_name
指定角色的新标识符;对于账户来说必须唯一。
有关更多详细信息,请参阅 标识符要求。
SET ...
指定要为角色设置的属性:
TAG tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ]
指定 标签 名称和标签字符串值。
标签值始终为字符串,标签值的最大字符数为 256。
有关在语句中指定标签的信息,请参阅 对象和列的标签配额。
COMMENT = 'string_literal'
为角色添加注释或覆盖现有注释。
UNSET ...
指定要为角色取消设置的属性,这会将其重置为默认值。
TAG tag_name [ , tag_name ... ]
COMMENT
使用说明¶
只有角色所有者(即,对角色具有 OWNERSHIP 权限的角色)或更高级别的角色才能执行此命令。
若要重命名角色(使用
RENAME TO new_name
参数),执行此命令的角色还必须具有全局 CREATE ROLE 权限。关于元数据:
注意
客户应确保在使用 Snowflake 服务时,不会将个人数据(用户对象除外)、敏感数据、出口管制数据或其他受监管数据作为元数据输入。有关更多信息,请参阅 Snowflake 中的元数据字段。
示例¶
将 role1
角色重命名为 role2
:
ALTER ROLE role1 RENAME TO role2;
为角色 myrole
添加注释:
ALTER ROLE myrole SET COMMENT = 'New comment for role';