Snowflake Management, Governance & Collaboration
Emily Melhuish
Technical Curriculum Developer, Snowflake


A privilege is a permission to act:
SELECT: readINSERT: writeCREATE: build| Term | Definition |
|---|---|
| Privilege | Permission to perform an action (e.g. SELECT, INSERT, CREATE) |
| Object | Anything a privilege can be granted on (table, schema, database, warehouse) |
| Role | An entity to which privileges are granted; can be granted to users or other roles |
| User | A person or service account that connects to Snowflake and holds roles |

Grant privilege to a role
GRANT SELECT ON TABLE core.credit_scores
TO ROLE analyst_role;
Assign role to a user
GRANT ROLE analyst_role TO USER maria;

Transfer ownership to a different role
-- Current owner: SYSADMIN
GRANT OWNERSHIP ON TABLE core.credit_scores
TO ROLE data_engineer
REVOKE CURRENT GRANTS;

GRANT USAGE ON DATABASE <your_database>
TO ROLE analyst_role;
GRANT USAGE ON SCHEMA core
TO ROLE analyst_role;
GRANT SELECT ON TABLE core.credit_scores
TO ROLE analyst_role;
| Role | Responsibility |
|---|---|
| ACCOUNTADMIN | Full account control |
| SYSADMIN | Creates databases and warehouses |
| SECURITYADMIN | Network policies, masking policies, role management |
| USERADMIN | Creates users and assigns roles |
| PUBLIC | Default role for every user |
Snowflake Management, Governance & Collaboration