Bird
Raised Fist0
Azurecloud

Custom role definitions in Azure - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is a custom role definition in Azure?
A custom role definition is a set of permissions that you create to control access to Azure resources. It lets you specify exactly what actions users can perform.
Click to reveal answer
beginner
Which JSON property defines the actions allowed in a custom role?
The actions property lists the operations that are allowed by the role, such as reading or writing resources.
Click to reveal answer
intermediate
Why use custom roles instead of built-in roles in Azure?
Custom roles let you tailor permissions to your exact needs, avoiding giving too many or too few rights compared to built-in roles.
Click to reveal answer
intermediate
What is the purpose of the notActions property in a custom role definition?
The notActions property lists actions that are excluded from the allowed actions. It helps refine permissions by denying specific operations.
Click to reveal answer
beginner
How do you assign a custom role to a user in Azure?
You assign a custom role by creating a role assignment that links the role definition to a user, group, or service principal at a specific scope.
Click to reveal answer
What JSON property specifies the scope of a custom role definition?
AroleScope
Bscope
CassignableScopes
DresourceScope
Which property in a custom role definition contains the role's unique identifier?
AroleName
BroleId
Cname
Did
What is the minimum required property to create a valid custom role definition?
Aactions
BassignableScopes
CroleName
Ddescription
Which of these is NOT a valid action in a custom role definition?
AMicrosoft.FakeService/fakeAction
BMicrosoft.Compute/virtualMachines/start/action
CMicrosoft.Network/virtualNetworks/delete
DMicrosoft.Storage/storageAccounts/read
How can you prevent a custom role from allowing a specific action?
AAdd it to notActions
BAdd it to assignableScopes
CRemove it from actions
DSet it in description
Explain the key components of an Azure custom role definition JSON and their purposes.
Think about what permissions are allowed, denied, and where the role applies.
You got /5 concepts.
    Describe the process to create and assign a custom role in Azure.
    Consider the steps from writing the role to giving it to someone.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of creating a custom role definition in Azure?
      easy
      A. To tailor permissions exactly to specific needs
      B. To delete all existing roles in Azure
      C. To automatically assign roles to all users
      D. To create virtual machines quickly

      Solution

      1. Step 1: Understand role customization

        Custom roles allow you to specify exactly which permissions are granted or denied, unlike built-in roles which are fixed.
      2. Step 2: Identify the purpose of custom roles

        They help tailor permissions to fit specific needs, improving security and control.
      3. Final Answer:

        To tailor permissions exactly to specific needs -> Option A
      4. Quick Check:

        Custom roles = tailored permissions [OK]
      Hint: Custom roles = tailor permissions to your needs [OK]
      Common Mistakes:
      • Thinking custom roles delete existing roles
      • Assuming custom roles auto-assign to all users
      • Confusing custom roles with VM creation
      2. Which JSON property is required to specify the permissions allowed in a custom role definition?
      easy
      A. "NotActions"
      B. "Actions"
      C. "allowedActions"
      D. "permissions"

      Solution

      1. Step 1: Review custom role JSON structure

        The property "Actions" lists the allowed operations in the role definition.
      2. Step 2: Differentiate from other properties

        "NotActions" lists denied permissions, "permissions" is a container but not the direct property, and "allowedActions" is not a valid property.
      3. Final Answer:

        "Actions" -> Option B
      4. Quick Check:

        Allowed permissions = "Actions" [OK]
      Hint: Allowed permissions are under "Actions" in JSON [OK]
      Common Mistakes:
      • Using "allowedActions" which is invalid
      • Confusing "NotActions" with allowed permissions
      • Mistaking "permissions" as direct actions list
      3. Given this snippet of a custom role JSON:
      {
        "Name": "Storage Reader",
        "Actions": ["Microsoft.Storage/storageAccounts/read"],
        "NotActions": []
      }
      What permission does this role grant?
      medium
      A. No permissions at all
      B. Full control over storage accounts
      C. Write access to storage accounts
      D. Read access to storage accounts

      Solution

      1. Step 1: Analyze the "Actions" property

        The action "Microsoft.Storage/storageAccounts/read" grants read-only access to storage accounts.
      2. Step 2: Check "NotActions" property

        It is empty, so no permissions are excluded.
      3. Final Answer:

        Read access to storage accounts -> Option D
      4. Quick Check:

        Action includes "read" = read access [OK]
      Hint: Look for "read" in actions for read-only permission [OK]
      Common Mistakes:
      • Assuming full control from read action
      • Confusing read with write permissions
      • Ignoring empty NotActions meaning no exclusions
      4. You created a custom role but users report they cannot perform allowed actions. Which is the most likely error in the role definition?
      medium
      A. Role description is missing
      B. "Actions" property is missing or empty
      C. "NotActions" includes the same actions as "Actions"
      D. Role name is too long

      Solution

      1. Step 1: Understand "NotActions" effect

        "NotActions" excludes permissions even if listed in "Actions".
      2. Step 2: Identify conflict in permissions

        If "NotActions" includes the same actions as "Actions", those permissions are denied, causing users to lack access.
      3. Final Answer:

        "NotActions" includes the same actions as "Actions" -> Option C
      4. Quick Check:

        Conflicting "NotActions" denies permissions [OK]
      Hint: "NotActions" overrides "Actions" if overlapping [OK]
      Common Mistakes:
      • Ignoring "NotActions" effect
      • Thinking role name or description affects permissions
      • Assuming missing "Actions" is common
      5. You want to create a custom role that allows users to start and stop virtual machines but denies deleting them. Which JSON snippet correctly defines this?
      hard
      A. { "Actions": ["Microsoft.Compute/virtualMachines/*"], "NotActions": ["Microsoft.Compute/virtualMachines/delete"] }
      B. { "Actions": ["Microsoft.Compute/virtualMachines/start"], "NotActions": ["Microsoft.Compute/virtualMachines/delete"] }
      C. { "Actions": ["Microsoft.Compute/virtualMachines/start", "Microsoft.Compute/virtualMachines/delete"], "NotActions": [] }
      D. { "Actions": ["Microsoft.Compute/virtualMachines/delete"], "NotActions": ["Microsoft.Compute/virtualMachines/start"] }

      Solution

      1. Step 1: Identify required permissions

        Users need to start and stop VMs, so all VM actions except delete are allowed.
      2. Step 2: Check each option

        { "Actions": ["Microsoft.Compute/virtualMachines/*"], "NotActions": ["Microsoft.Compute/virtualMachines/delete"] } allows all VM actions with "*" but denies delete explicitly, matching requirements perfectly.
      3. Step 3: Eliminate incorrect options

        { "Actions": ["Microsoft.Compute/virtualMachines/start"], "NotActions": ["Microsoft.Compute/virtualMachines/delete"] } misses stop (deallocate) action; { "Actions": ["Microsoft.Compute/virtualMachines/start", "Microsoft.Compute/virtualMachines/delete"], "NotActions": [] } allows delete; { "Actions": ["Microsoft.Compute/virtualMachines/delete"], "NotActions": ["Microsoft.Compute/virtualMachines/start"] } denies start but allows delete.
      4. Final Answer:

        { "Actions": ["Microsoft.Compute/virtualMachines/*"], "NotActions": ["Microsoft.Compute/virtualMachines/delete"] } -> Option A
      5. Quick Check:

        Allow all except delete = Actions with * and NotActions delete [OK]
      Hint: Use wildcard * in Actions and exclude delete in NotActions [OK]
      Common Mistakes:
      • Missing stop (deallocate) action
      • Allowing delete action by mistake
      • Denying start action instead of delete
      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