Access control: Disallow GRANT REFERENCE_USAGE if GRANT USAGE isn't set first (Pending)

注意

此行为变更包含在 2025_07 捆绑包中。

有关捆绑包的当前状态,请参阅 捆绑包历史记录

启用此行为变更捆绑包后,用户将无法在未先设置 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;
Copy

更改后,如果用户在没有先运行 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

语言: 中文