Bird
Raised Fist0
Snowflakecloud~5 mins

Role hierarchy in Snowflake - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a role hierarchy in Snowflake?
A role hierarchy in Snowflake is a way to organize roles so that higher roles inherit the permissions of roles below them, making permission management easier.
Click to reveal answer
beginner
How does inheritance work in Snowflake role hierarchy?
When a role is granted to another role, the higher role inherits all the privileges of the lower role automatically.
Click to reveal answer
beginner
Why use role hierarchy instead of assigning permissions directly to users?
Role hierarchy simplifies permission management by grouping permissions into roles and assigning roles to users, reducing errors and making updates easier.
Click to reveal answer
intermediate
What is the top role in Snowflake's default role hierarchy?
The top role is ACCOUNTADMIN, which has all privileges and can grant roles to others.
Click to reveal answer
intermediate
How can you view the role hierarchy in Snowflake?
You can query the SNOWFLAKE.ACCOUNT_USAGE.GRANTS_TO_ROLES view or use SHOW GRANTS commands to see role grants and hierarchy.
Click to reveal answer
What happens when Role A is granted to Role B in Snowflake?
ARole A inherits all privileges of Role B
BBoth roles lose their privileges
CRole B inherits all privileges of Role A
DNo privileges are shared
Which role is at the top of Snowflake's default role hierarchy?
AACCOUNTADMIN
BPUBLIC
CSYSADMIN
DSECURITYADMIN
Why is using role hierarchy recommended over assigning permissions directly to users?
AIt duplicates permissions unnecessarily
BIt removes all permissions automatically
CIt disables user access
DIt makes permission management simpler and less error-prone
How can you check which roles have been granted to a specific role?
AUse ALTER USER command
BUse SHOW GRANTS TO ROLE command
CUse DROP ROLE command
DUse CREATE ROLE command
If a user has a role that inherits from another role, what permissions does the user have?
APermissions of the assigned role and all roles it inherits from
BOnly the permissions of the assigned role
CNo permissions at all
DPermissions only from the lowest role
Explain how role hierarchy helps manage permissions in Snowflake.
Think about how grouping permissions into roles helps control access.
You got /4 concepts.
    Describe how to find out which roles a specific role inherits from in Snowflake.
    Use Snowflake commands or views that show role grants.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does role hierarchy in Snowflake allow you to do?
      easy
      A. Store data in different regions automatically
      B. Create multiple users with the same password
      C. Let roles inherit permissions from other roles
      D. Schedule queries to run at specific times

      Solution

      1. Step 1: Understand role hierarchy concept

        Role hierarchy means roles can inherit permissions from other roles, simplifying access management.
      2. Step 2: Identify correct description

        Only Let roles inherit permissions from other roles describes this inheritance feature correctly.
      3. Final Answer:

        Let roles inherit permissions from other roles -> Option C
      4. Quick Check:

        Role hierarchy = permission inheritance [OK]
      Hint: Role hierarchy means roles inherit permissions [OK]
      Common Mistakes:
      • Confusing role hierarchy with user password management
      • Thinking role hierarchy controls data storage
      • Mixing role hierarchy with query scheduling
      2. Which of the following is the correct syntax to grant a role to another role in Snowflake?
      easy
      A. GRANT ROLE parent_role TO ROLE child_role;
      B. GRANT ROLE TO ROLE parent_role child_role;
      C. GRANT ROLE child_role TO ROLE parent_role;
      D. GRANT ROLE parent_role child_role TO ROLE;

      Solution

      1. Step 1: Recall Snowflake grant syntax

        To make one role inherit another, you grant the parent role to the child role using: GRANT ROLE parent_role TO ROLE child_role;
      2. Step 2: Match syntax to options

        GRANT ROLE parent_role TO ROLE child_role; matches the correct syntax exactly.
      3. Final Answer:

        GRANT ROLE parent_role TO ROLE child_role; -> Option A
      4. Quick Check:

        Grant parent to child = correct syntax [OK]
      Hint: Grant parent role TO child role syntax [OK]
      Common Mistakes:
      • Reversing parent and child roles in the grant statement
      • Incorrect order of keywords in the command
      • Missing 'TO ROLE' keyword
      3. Given the following role hierarchy:
      GRANT ROLE analyst TO ROLE senior_analyst;
      GRANT ROLE senior_analyst TO ROLE manager;
      If a user is assigned the role manager, which roles' permissions does the user have?
      medium
      A. Manager and senior_analyst only
      B. Manager, senior_analyst, and analyst
      C. Only manager
      D. Only analyst

      Solution

      1. Step 1: Trace role inheritance

        Manager role inherits senior_analyst, which inherits analyst. So manager includes all permissions from senior_analyst and analyst.
      2. Step 2: Determine user permissions

        User with manager role has permissions from manager, senior_analyst, and analyst roles.
      3. Final Answer:

        Manager, senior_analyst, and analyst -> Option B
      4. Quick Check:

        Role inheritance includes all ancestor roles [OK]
      Hint: User gets all inherited roles' permissions [OK]
      Common Mistakes:
      • Assuming user only has direct role permissions
      • Ignoring transitive inheritance in role hierarchy
      • Confusing child and parent roles
      4. You run this command:
      GRANT ROLE analyst TO senior_analyst;
      What is wrong with this command?
      medium
      A. Cannot grant a role to another role
      B. Role names must be in quotes
      C. The order of roles is reversed
      D. Missing 'ROLE' keyword before 'senior_analyst'

      Solution

      1. Step 1: Check syntax for granting roles

        The correct syntax requires 'TO ROLE' before the role receiving the grant.
      2. Step 2: Identify missing keyword

        The command misses 'ROLE' keyword before 'senior_analyst'. It should be: GRANT ROLE analyst TO ROLE senior_analyst;
      3. Final Answer:

        Missing 'ROLE' keyword before 'senior_analyst' -> Option D
      4. Quick Check:

        Grant syntax requires 'TO ROLE' [OK]
      Hint: Always include 'TO ROLE' keyword in grant statements [OK]
      Common Mistakes:
      • Omitting 'ROLE' keyword after TO
      • Thinking roles cannot be granted to roles
      • Using quotes unnecessarily around role names
      5. You want to create a role hierarchy where intern inherits from analyst, and analyst inherits from manager. Which sequence of commands correctly sets this up?
      hard
      A. GRANT ROLE manager TO ROLE analyst; GRANT ROLE analyst TO ROLE intern;
      B. GRANT ROLE analyst TO ROLE intern; GRANT ROLE manager TO ROLE analyst;
      C. GRANT ROLE manager TO ROLE analyst; GRANT ROLE intern TO ROLE analyst;
      D. GRANT ROLE intern TO ROLE analyst; GRANT ROLE analyst TO ROLE manager;

      Solution

      1. Step 1: Understand inheritance direction

        Child role inherits from parent role by granting parent role TO child role.
      2. Step 2: Apply to given roles

        Intern inherits analyst: GRANT ROLE analyst TO ROLE intern;
        Analyst inherits manager: GRANT ROLE manager TO ROLE analyst;
      3. Step 3: Match sequence to options

        GRANT ROLE manager TO ROLE analyst; GRANT ROLE analyst TO ROLE intern; matches the correct order and syntax.
      4. Final Answer:

        GRANT ROLE manager TO ROLE analyst; GRANT ROLE analyst TO ROLE intern; -> Option A
      5. Quick Check:

        Grant parent TO child for inheritance [OK]
      Hint: Grant parent role TO child role to inherit [OK]
      Common Mistakes:
      • Reversing parent and child roles in grants
      • Granting child TO parent instead of parent TO child
      • Mixing order of commands
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard