0
0
Snowflakecloud~3 mins

Why System-defined roles (ACCOUNTADMIN, SYSADMIN, etc.) in Snowflake? - Purpose & Use Cases

Choose your learning style9 modes available
The Big Idea

What if you could hand out perfect access keys instantly without worrying about mistakes?

The Scenario

Imagine you have a big office where many people need different keys to access rooms, files, and machines. If you had to give each person a unique key for every door manually, it would be confusing and slow.

The Problem

Manually managing who can do what is slow and risky. You might give someone too many keys by mistake or forget to remove keys when they leave. This can cause security problems and lots of extra work.

The Solution

System-defined roles like ACCOUNTADMIN and SYSADMIN act like master keys with clear, built-in permissions. They make it easy to assign the right access quickly and safely without guessing or mistakes.

Before vs After
Before
GRANT SELECT ON TABLE sales TO USER user_john;
GRANT INSERT ON TABLE sales TO USER user_john;
GRANT DELETE ON TABLE sales TO USER user_john;
After
GRANT ROLE SYSADMIN TO USER user_john;
What It Enables

With system-defined roles, you can manage access securely and efficiently, letting people do their jobs without risking your data.

Real Life Example

A company uses ACCOUNTADMIN to control overall account settings, while SYSADMIN manages daily database tasks, so everyone has just the right access without confusion.

Key Takeaways

Manual access control is slow and error-prone.

System-defined roles provide ready-made permission sets.

They simplify secure and efficient access management.