Access control: Disallow GRANT REFERENCE_USAGE if GRANT USAGE isn't set first (Pending)¶
启用此行为变更捆绑包后,用户将无法在未先设置 GRANT USAGE 的情况下在数据库上设置 GRANT REFERENCE_USAGE。
- 变更前:
用户无需运行 GRANT USAGE 即可在数据库上运行 GRANT REFERENCE_USAGE 至共享,Snowflake 会将授权应用于数据库,与 GRANT USAGE 一致。
- 变更后:
用户必须先运行 GRANT USAGE 才能运行 GRANT REFERENCE_USAGE。
在此更改之前,如果用户在未运行 GRANT USAGE 的情况下运行以下命令,Snowflake 也会在同一数据库上将 GRANT USAGE 应用于同一个共享:
GRANT REFERENCE_USAGE ON DATABASE database2 TO SHARE share1;
更改后,如果用户在没有先运行 GRANT USAGE 的情况下运行 GRANT REFERENCE_USAGE,Snowflake 将返回以下错误:
Cannot grant REFERENCE_USAGE on database {db_name} to share {share_name}. Grant USAGE on a database to share prior to granting REFERENCE_USAGE.
参考:2136