📖 Scenario: You are managing access to resources in an Azure subscription for a small team. You want to control who can do what by assigning roles to users.
🎯 Goal: Build a simple Azure RBAC setup by creating a resource group, defining a role assignment, and assigning a user to that role.
📋 What You'll Learn
Create a resource group named MyResourceGroup in the eastus region
Define a role assignment variable for the Reader role
Assign the Reader role to a user with the object ID 12345678-1234-1234-1234-123456789abc
Complete the role assignment configuration referencing the resource group and user
💡 Why This Matters
🌍 Real World
Controlling who can access and manage Azure resources is essential for security and compliance in any organization.
💼 Career
Understanding RBAC is a key skill for cloud administrators, security engineers, and DevOps professionals managing Azure environments.
Progress0 / 4 steps
1
Create an Azure resource group
Write an Azure CLI command to create a resource group named MyResourceGroup in the eastus region. Use the command az group create with the parameters --name MyResourceGroup and --location eastus.
Azure
Hint
Use az group create --name MyResourceGroup --location eastus to create the resource group.
2
Define the Reader role assignment variable
Create a variable called readerRole and set it to the built-in Azure role ID for the Reader role: acdd72a7-3385-48ef-bd42-f606fba81ae7.
Azure
Hint
Assign the Reader role ID string to the variable readerRole.
3
Assign the Reader role to a user
Create a variable called userObjectId and set it to the user object ID 12345678-1234-1234-1234-123456789abc. Then write an Azure CLI command to assign the readerRole to this user for the resource group MyResourceGroup. Use az role assignment create with parameters --assignee-object-id, --role, and --scope.
Azure
Hint
Use az role assignment create --assignee-object-id $userObjectId --role $readerRole --scope /subscriptions/$(az account show --query id -o tsv)/resourceGroups/MyResourceGroup.
4
Complete the role assignment configuration
Add a command to verify the role assignment by listing role assignments for the resource group MyResourceGroup. Use az role assignment list with the parameter --scope set to the resource group path.
Azure
Hint
Use az role assignment list --scope /subscriptions/$(az account show --query id -o tsv)/resourceGroups/MyResourceGroup to see the assignments.
Practice
(1/5)
1. What is the main purpose of Role-Based Access Control (RBAC) in Azure?
easy
A. To store data securely
B. To create virtual machines automatically
C. To monitor network traffic
D. To assign permissions to users based on their roles
Solution
Step 1: Understand RBAC concept
RBAC is designed to control who can do what by assigning roles with specific permissions.
Step 2: Identify the main function
Assigning permissions based on roles helps manage access securely and efficiently.
Final Answer:
To assign permissions to users based on their roles -> Option D
Quick Check:
RBAC controls access by roles = A [OK]
Hint: RBAC = roles control permissions [OK]
Common Mistakes:
Confusing RBAC with resource creation
Thinking RBAC monitors traffic
Assuming RBAC stores data
2. Which of the following is the correct way to assign a role to a user in Azure CLI?
easy
A. az role create --user user@example.com --role Contributor
B. az user assign role --email user@example.com --role Contributor
C. az role assignment create --assignee user@example.com --role Contributor --scope /subscriptions/12345
D. az assign role --user user@example.com --role Contributor
Solution
Step 1: Recall Azure CLI syntax for role assignment
The correct command uses 'az role assignment create' with --assignee, --role, and --scope parameters.
Step 2: Match the correct command
az role assignment create --assignee user@example.com --role Contributor --scope /subscriptions/12345 matches the correct syntax and parameters for assigning a role.
Final Answer:
az role assignment create --assignee user@example.com --role Contributor --scope /subscriptions/12345 -> Option C
Quick Check:
Correct CLI syntax = D [OK]
Hint: Use 'az role assignment create' with assignee and scope [OK]
Common Mistakes:
Using wrong command verbs like 'assign' or 'create' alone
Missing the --scope parameter
Incorrect parameter names
3. Given this Azure CLI command:
az role assignment create --assignee user@example.com --role Reader --scope /subscriptions/12345/resourceGroups/myGroup
What permission level does the user get on the resource group?
medium
A. Read-only access to the resource group
B. Write access to all resources in the subscription
C. Full control over the subscription
D. No access because scope is incorrect
Solution
Step 1: Analyze the role and scope
The role is 'Reader', which grants read-only permissions. The scope is a specific resource group, limiting access to that group.
Step 2: Determine permission level
The user can only read resources inside 'myGroup' resource group, not modify or access other subscription parts.
Final Answer:
Read-only access to the resource group -> Option A
Quick Check:
Reader role + resource group scope = read-only access [OK]
Hint: Reader role means read-only at given scope [OK]
Common Mistakes:
Assuming Reader grants write or full control
Confusing subscription scope with resource group scope
Thinking scope is invalid
4. You tried to assign the 'Owner' role to a user but got an error. Which of these is the most likely cause?
medium
A. You do not have permission to assign the Owner role
B. The user email is invalid
C. The role name 'Owner' does not exist
D. You forgot to specify the subscription ID
Solution
Step 1: Understand role assignment permissions
Assigning the 'Owner' role requires you to have sufficient permissions, usually Owner or User Access Administrator.
Step 2: Identify common error causes
If you lack permission, Azure blocks the assignment with an error. Other options are less likely because 'Owner' is a valid role and subscription ID is often optional if context is set.
Final Answer:
You do not have permission to assign the Owner role -> Option A
Quick Check:
Permission needed to assign Owner role = B [OK]
Hint: Only users with rights can assign Owner role [OK]
Common Mistakes:
Assuming role name is wrong
Ignoring permission requirements
Forgetting subscription context
5. You want to give a service principal permission to manage only virtual machines in a resource group without affecting other resources. Which RBAC role and scope should you assign?
hard
A. Assign 'Contributor' role at the subscription scope
B. Assign 'Virtual Machine Contributor' role at the resource group scope
C. Assign 'Owner' role at the resource group scope
D. Assign 'Reader' role at the virtual machine resource scope
Solution
Step 1: Identify the least privilege role for VM management
'Virtual Machine Contributor' allows managing VMs but not other resources.
Step 2: Choose the correct scope
Assigning at the resource group scope limits permissions to that group only, not the whole subscription.
Step 3: Evaluate other options
'Contributor' at subscription is too broad; 'Owner' is too powerful; 'Reader' only allows viewing, not managing.
Final Answer:
Assign 'Virtual Machine Contributor' role at the resource group scope -> Option B
Quick Check:
Least privilege VM management at resource group = A [OK]
Hint: Use specific role + resource group scope for least privilege [OK]
Common Mistakes:
Using broad roles like Contributor or Owner unnecessarily
Assigning at subscription scope when resource group is enough
Choosing Reader role which lacks management permissions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.