Bird
Raised Fist0
Azurecloud~20 mins

Managed identity integration in Azure - Practice Problems & Coding Challenges

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Managed Identity Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ service_behavior
intermediate
2:00remaining
What happens when an Azure VM uses a system-assigned managed identity to access Azure Key Vault?

An Azure Virtual Machine (VM) is configured with a system-assigned managed identity. The VM tries to retrieve a secret from an Azure Key Vault. What is the expected behavior if the VM's managed identity has been granted the correct access policy in the Key Vault?

AThe VM can access the Key Vault only if a user-assigned managed identity is attached instead.
BThe VM must provide a client secret or certificate to authenticate before accessing the Key Vault.
CThe VM can successfully authenticate using its managed identity and retrieve the secret from the Key Vault.
DThe VM cannot access the Key Vault because system-assigned managed identities are not supported for Key Vault access.
Attempts:
2 left
💡 Hint

Think about how system-assigned managed identities simplify authentication without credentials.

❓ Architecture
intermediate
2:00remaining
Which managed identity type should you use to share the same identity across multiple Azure resources?

You want multiple Azure resources (like VMs and App Services) to authenticate to Azure SQL Database using the same managed identity. Which managed identity type supports this scenario?

AUser-assigned managed identity, because it can be assigned to multiple resources.
BNo managed identity can be shared; each resource must have its own system-assigned identity.
CSystem-assigned managed identity, because it is automatically created for each resource.
DUse a service principal instead of managed identities for sharing identities.
Attempts:
2 left
💡 Hint

Consider which identity type is reusable across resources.

❓ security
advanced
2:00remaining
What is the security benefit of using managed identities over storing credentials in application code?

Why is using managed identities considered more secure than embedding credentials like passwords or keys directly in application code or configuration files?

AManaged identities require developers to encrypt credentials manually before storing them in code.
BManaged identities eliminate the need to store or rotate credentials manually, reducing the risk of credential leakage.
CManaged identities allow credentials to be stored in environment variables, which are more secure than code files.
DManaged identities automatically generate long, complex passwords that must be updated monthly.
Attempts:
2 left
💡 Hint

Think about how credentials are handled and risks of exposure.

❓ Configuration
advanced
2:00remaining
Which Azure CLI command assigns a user-assigned managed identity to an Azure VM?

You have created a user-assigned managed identity named myIdentity in resource group myRG. Which Azure CLI command correctly assigns this identity to an existing VM named myVM in the same resource group?

Aaz vm identity assign --resource-group myRG --name myVM --identities /subscriptions/{subId}/resourceGroups/myRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity
Baz vm identity assign --resource-group myRG --name myVM --identities myIdentity
Caz vm identity assign --resource-group myRG --name myVM --identity myIdentity
Daz vm assign-identity --resource-group myRG --name myVM --user-identity myIdentity
Attempts:
2 left
💡 Hint

Check the required format for the --identities parameter.

🧠 Conceptual
expert
2:00remaining
What is the main difference in token lifecycle between system-assigned and user-assigned managed identities?

Consider how tokens are issued and managed for system-assigned versus user-assigned managed identities. What is the key difference in their lifecycle and management?

AUser-assigned managed identities automatically renew tokens every 5 minutes; system-assigned identities require manual token renewal.
BUser-assigned managed identities are only valid for 24 hours; system-assigned identities last indefinitely.
CSystem-assigned managed identities require manual rotation of credentials; user-assigned identities do not issue tokens.
DSystem-assigned managed identities are tied to the lifecycle of the resource and are deleted when the resource is deleted; user-assigned identities exist independently and can be shared.
Attempts:
2 left
💡 Hint

Think about how the identity's existence relates to the resource it is assigned to.

Practice

(1/5)
1. What is the main purpose of using a managed identity in Azure?
Managed Identity helps your app to:
easy
A. Create new Azure subscriptions automatically
B. Access other Azure services securely without storing credentials
C. Run virtual machines faster
D. Manage user passwords in Azure Active Directory

Solution

  1. Step 1: Understand managed identity purpose

    Managed identities provide apps a way to authenticate to Azure services without needing to store credentials like passwords.
  2. Step 2: Identify correct use case

    Among the options, only accessing services securely without credentials matches the purpose of managed identities.
  3. Final Answer:

    Access other Azure services securely without storing credentials -> Option B
  4. Quick Check:

    Managed identity = secure access without passwords [OK]
Hint: Managed identity means no passwords needed for service access [OK]
Common Mistakes:
  • Thinking managed identity speeds up VM performance
  • Confusing managed identity with subscription management
  • Assuming it manages user passwords
2. Which of the following is the correct way to enable a system-assigned managed identity for an Azure Virtual Machine using Azure CLI?
easy
A. az vm identity enable --name MyVM --resource-group MyGroup
B. az vm create --name MyVM --resource-group MyGroup --assign-identity
C. az vm identity assign --name MyVM --resource-group MyGroup
D. az vm identity add --name MyVM --resource-group MyGroup

Solution

  1. Step 1: Recall Azure CLI command for managed identity

    The correct command to assign a system-assigned managed identity to an existing VM is az vm identity assign.
  2. Step 2: Verify command syntax

    az vm identity assign --name MyVM --resource-group MyGroup uses the correct command and parameters. Other options use incorrect commands or flags.
  3. Final Answer:

    az vm identity assign --name MyVM --resource-group MyGroup -> Option C
  4. Quick Check:

    Assign identity command = az vm identity assign [OK]
Hint: Use 'az vm identity assign' to enable system-assigned identity [OK]
Common Mistakes:
  • Using 'az vm create' with wrong flags
  • Using non-existent commands like 'identity enable'
  • Confusing 'assign' with 'add'
3. Consider this Azure CLI command sequence:
az vm create --name MyVM --resource-group MyGroup --image UbuntuLTS --assign-identity
az role assignment create --assignee  --role Reader --scope /subscriptions/123/resourceGroups/MyGroup

What is the expected result?
medium
A. The VM is created with a system-assigned identity and granted Reader role on the resource group
B. The VM is created without any identity and no role assignment is made
C. The VM creation fails due to missing identity parameters
D. The VM is created but the role assignment fails because the principal ID is invalid

Solution

  1. Step 1: Analyze VM creation command

    The --assign-identity flag creates a system-assigned managed identity for the VM.
  2. Step 2: Analyze role assignment command

    The role assignment grants the identity Reader access to the resource group scope using the identity's principal ID.
  3. Final Answer:

    The VM is created with a system-assigned identity and granted Reader role on the resource group -> Option A
  4. Quick Check:

    Assign identity + role assignment = secure access granted [OK]
Hint: Assign identity then grant role for access [OK]
Common Mistakes:
  • Assuming VM creation fails without explicit identity creation
  • Thinking role assignment needs user principal, not identity
  • Ignoring the --assign-identity flag effect
4. You tried to enable a user-assigned managed identity on an Azure App Service but received an error. Which of the following is the most likely cause?
medium
A. The App Service plan is not Premium tier
B. The App Service already has a system-assigned identity enabled
C. The user-assigned identity was not created in the same subscription
D. The user-assigned identity is not assigned to the App Service resource

Solution

  1. Step 1: Understand user-assigned identity attachment

    User-assigned identities must be explicitly assigned to the resource to be used.
  2. Step 2: Identify common error cause

    If the identity exists but is not assigned to the App Service, enabling it will fail.
  3. Final Answer:

    The user-assigned identity is not assigned to the App Service resource -> Option D
  4. Quick Check:

    User-assigned identity must be assigned to resource [OK]
Hint: Assign user identity to resource before enabling [OK]
Common Mistakes:
  • Assuming system-assigned identity conflicts with user-assigned
  • Thinking subscription mismatch causes error
  • Believing App Service plan tier affects identity assignment
5. You want an Azure Function to access a Key Vault securely using a managed identity. Which steps should you follow to set this up correctly?
hard
A. Enable system-assigned identity on the Function, grant it Key Vault access policy, then use identity in code
B. Create a user-assigned identity, assign it to the Function, then store its secret in Key Vault
C. Enable system-assigned identity on the Function, store Function credentials in Key Vault, then access Key Vault
D. Create a user-assigned identity, assign it to the Function, then use a password stored in Key Vault

Solution

  1. Step 1: Enable system-assigned managed identity on Azure Function

    This allows the Function to authenticate without credentials.
  2. Step 2: Grant the Function's identity access to Key Vault

    Set an access policy in Key Vault to allow the identity to read secrets.
  3. Step 3: Use the managed identity in Function code to access Key Vault

    The Function can request tokens and securely retrieve secrets without passwords.
  4. Final Answer:

    Enable system-assigned identity on the Function, grant it Key Vault access policy, then use identity in code -> Option A
  5. Quick Check:

    Enable identity + grant access + use identity = secure Key Vault access [OK]
Hint: Enable identity, grant access, then use it in code [OK]
Common Mistakes:
  • Storing passwords instead of using managed identity
  • Confusing user-assigned identity with storing secrets
  • Not granting Key Vault access to the identity