访问控制:向不再允许的角色授予数据库 REFERENCE_USAGE¶
授予 REFERENCE_USAGE 权限的行为发生了如下变化:
- 之前:
可以单独、在一系列权限中,或与所有权限一起向角色对象授予数据库 REFERENCE_USAGE 权限。例如:
grant reference_usage on database mydb to role r1; grant modify, reference_usage on database mydb to role r1; grant all privileges on database mydb to role r1;
在 SHOW GRANTS 命令的输出中,每项授权的 REFERENCE_USAGE 对应了一行。
- 现在:
无法将数据库 REFERENCE_USAGE 权限授予角色对象。此权限只能授予共享对象。
如果用户尝试单独授予 REFERENCE_USAGE 权限,Snowflake 会返回以下错误消息:
REFERENCE_USAGE ON DATABASE can only be granted to share(s).
如果用户在一系列权限中指定 REFERENCE_USAGE 权限,或尝试授予数据库的所有权限,Snowflake 会返回以下消息:
Grant partially executed: privileges [REFERENCE_USAGE] not granted.
Snowflake 允许可授予的权限并阻止授予 REFERENCE_USAGE 权限。
SHOW GRANTS 命令的输出不包括向角色对象授予数据库 REFERENCE_USAGE 权限的行。
参考:944