| {schemaObjectPrivileges | ALL [ PRIVILEGES ] } ON { <object_type> <object_name> | ALL <object_type_plural> IN { DATABASE <db_name> | SCHEMA <schema_name> } } | { schemaObjectPrivileges | ALL [ PRIVILEGES ] } ON FUTURE <object_type_plural> IN { DATABASE <db_name> | SCHEMA...
GRANT USAGE ON DATABASE mydb TO SHARE share1; GRANT USAGE ON SCHEMA mydb.public TO SHARE share1; GRANT USAGE ON FUNCTION mydb.shared_schema.function1 TO SHARE share1; GRANT USAGE ON FUNCTION mydb.shared_schema.function2 TO SHARE share1; GRANT SELECT ON ALL TABLES IN SCHEMA mydb.public...
Why not grant USAGE on all databases where end users are given SELECT access to particular tables? For 1, my hunch is that this GRANT USAGE only happens within a minory of data teams, for reasons like: the "production" Snowflake account to which they grant select access has an evolving ...
] } ON DATABASE <object_name> | { schemaPrivileges | ALL [ PRIVILEGES ] } ON { SCHEMA <schema_name> | ALL SCHEMAS IN DATABASE <db_name> } | { schemaPrivileges | ALL [ PRIVILEGES ] } ON { FUTURE SCHEMAS IN DATABASE <db_name> } | { schemaObjectPrivileges | ALL [ PRIVILEGES ]...
Usage notes The USAGE privilege on only a single database can be granted to a share; however, within that database, privileges on multiple schemas, UDFs, tables, and views can be granted to the share. Privileges on individual objects must be granted to a share in separate GRANT statements....