Stored procedures in Snowflake can be created with either 'owner's rights' or 'caller's rights'. A stored procedure created with caller's rights executes with the privileges of the role that calls the procedure, not the privileges of the role that owns the procedure. This is particularly useful in scenarios where the procedure needs to perform operations that depend on the caller's access permissions, ensuring that the procedure can only access objects that the caller is authorized to access.
[Reference: Snowflake's official documentation on stored procedures, specifically the section on execution context (caller's rights vs. owner's rights), provides detailed guidance on when to use caller's rights: https://docs.snowflake.com/en/sql-reference/stored-procedures-usage.html#caller-s-rights-vs-owner-s-rights, , ]
Submit