user1确实具有my_schema的USAGE特权
user2在my_schema上没有USAGE特权
但是,只要他们是同一数据库的用户,两个用户仍然可以在此架构下列出所有表及其列。
那么USAGE GRANT的意义是什么。它是否仅是要作为其他特权(例如SELECT)的先决条件?
答案 0 :(得分:0)
是的,您需要先授予USAGE
才能访问表
摘自AWS文档
授予对特定架构的USAGE特权,该特权使用户可以访问该架构中的对象。必须分别授予对这些对象的特定操作(例如,对表的SELECT或UPDATE特权)。默认情况下,所有用户都对PUBLIC模式具有CREATE和USAGE特权。
https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html
没有授权'USAGE'的第一次运行授权SELECT | INSERT
等无效,即使语句没有失败。