Starlake Snowflake Native App: Post-Installation Permissions
The Starlake Snowflake Native App runs inside Snowflake using the caller's rights model. This means the app can only perform actions the calling user is already authorized to do. After installing the app from the Snowflake Marketplace, you must run a set of GRANT commands to delegate your existing privileges to the application. No permanent privilege escalation is possible.
Prerequisites
- The
starlake_appis installed from the Snowflake Marketplace - You have a role with sufficient privileges to execute GRANT commands (e.g.,
ACCOUNTADMIN) - A warehouse is available (e.g.,
COMPUTE_WH)
Grant Permissions After Installing the Starlake Snowflake App
After installing starlake_app, execute the GRANT commands described below. These commands are grouped into three categories: account-level operations, data access, and warehouse usage.
Step-by-Step Overview
- Grant account-level operational rights -- Allow the app to create databases, execute tasks, and read session information.
- Grant data interaction rights -- Choose between full account access (Option A) or access restricted to a single database (Option B).
- Grant warehouse usage -- Allow the app to run queries on a specific warehouse.
- Grant ownership rights -- Allow the app to manage (create, alter, drop) its own objects.
How Caller's Rights Secure the Starlake App
The app runs with the privileges of the user who calls it. The GRANT statements delegate specific rights that you already possess to the application. The app does not gain any rights beyond what the caller has.
- You maintain control: The app can only perform actions that the calling user is authorized to do.
- No elevated privileges: The app does not gain any rights beyond what the caller has. It acts on your behalf.
- Access is inherited: If you cannot access a table, the app running on your behalf cannot access it either.
- No permanent privilege escalation: The app cannot grant itself or any other user higher privileges than the calling user possesses.