Bird
Raised Fist0
Azurecloud~10 mins

Key Vault references in App Service in Azure - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to enable Key Vault references in an Azure App Service configuration.

Azure
appSettings = {
  "AzureWebJobsStorage": "DefaultEndpointsProtocol=https;AccountName=storageaccount;AccountKey=[1];EndpointSuffix=core.windows.net"
}
Drag options to blanks, or click blank then click option'
ADefaultEndpointsProtocol=https
Bhttps://myvault.vault.azure.net/
CmyStorageAccountKey
D@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
Attempts:
3 left
💡 Hint
Common Mistakes
Using the secret name directly without the Key Vault reference syntax.
Providing only the vault URL without the secret path.
2fill in blank
medium

Complete the code to add a Key Vault reference in the App Service's application settings JSON.

Azure
{
  "properties": {
    "appSettings": [
      {
        "name": "MySecret",
        "value": "[1]"
      }
    ]
  }
}
Drag options to blanks, or click blank then click option'
Ahttps://vaultname.vault.azure.net/
BmySecretValue
Csecretname
D@Microsoft.KeyVault(SecretUri=https://vaultname.vault.azure.net/secrets/secretname/)
Attempts:
3 left
💡 Hint
Common Mistakes
Using only the secret name or vault URL without the full URI.
Omitting the '@Microsoft.KeyVault' prefix.
3fill in blank
hard

Fix the error in the Key Vault reference syntax in the app setting value.

Azure
"MySecret": "[1]"
Drag options to blanks, or click blank then click option'
A@Microsoft.KeyVault(SecretUri=https://vault.vault.azure.net/secrets/secret/)
B@Microsoft.KeyVaultSecretUri=https://vault.vault.azure.net/secrets/secret/
Chttps://vault.vault.azure.net/secrets/secret/
D@Microsoft.KeyVault(Secret=https://vault.vault.azure.net/secrets/secret/)
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'Secret' instead of 'SecretUri'.
Missing parentheses around the URI.
Using '=' outside the parentheses.
4fill in blank
hard

Fill both blanks to correctly configure an App Service setting with a Key Vault reference and enable system-assigned managed identity.

Azure
{
  "identity": {
    "type": "[1]"
  },
  "siteConfig": {
    "appSettings": [
      {
        "name": "MySecret",
        "value": "[2]"
      }
    ]
  }
}
Drag options to blanks, or click blank then click option'
ASystemAssigned
BUserAssigned
C@Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/mysecret/)
Dhttps://myvault.vault.azure.net/secrets/mysecret/
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'UserAssigned' instead of 'SystemAssigned' when system identity is needed.
Providing only the vault URL without the secret URI in the app setting.
5fill in blank
hard

Fill all three blanks to configure an App Service with a user-assigned managed identity and a Key Vault reference in app settings.

Azure
{
  "identity": {
    "type": "[1]",
    "userAssignedIdentities": {
      "[2]": {}
    }
  },
  "siteConfig": {
    "appSettings": [
      {
        "name": "DatabasePassword",
        "value": "[3]"
      }
    ]
  }
}
Drag options to blanks, or click blank then click option'
AUserAssigned
B/subscriptions/1234/resourceGroups/myRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myIdentity
C@Microsoft.KeyVault(SecretUri=https://vaultname.vault.azure.net/secrets/dbpassword/)
DSystemAssigned
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'SystemAssigned' type when user-assigned identity is required.
Providing only the identity name instead of full resource ID.
Omitting '@Microsoft.KeyVault' syntax in app settings.

Practice

(1/5)
1. What is the main purpose of using Key Vault references in an Azure App Service?
easy
A. To speed up the app's startup time
B. To enable automatic scaling of the app service
C. To securely access secrets without storing them directly in app settings
D. To create backups of the app's configuration

Solution

  1. Step 1: Understand Key Vault references purpose

    Key Vault references allow apps to use secrets securely by referencing them instead of storing secrets directly in app settings.
  2. Step 2: Identify the correct purpose

    The other options describe unrelated features like speeding up startup time, enabling automatic scaling, or creating backups, which are not the purpose of Key Vault references.
  3. Final Answer:

    To securely access secrets without storing them directly in app settings -> Option C
  4. Quick Check:

    Key Vault references = secure secret access [OK]
Hint: Key Vault references keep secrets out of app settings [OK]
Common Mistakes:
  • Thinking Key Vault references improve app speed
  • Confusing Key Vault references with scaling features
  • Assuming Key Vault references create backups
2. Which syntax correctly references a Key Vault secret named DbPassword in an Azure App Service application setting?
easy
A. @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/DbPassword/)
B. KeyVaultSecret:DbPassword
C. vault://myvault/DbPassword
D. SecretRef(DbPassword)

Solution

  1. Step 1: Recall correct Key Vault reference syntax

    The correct syntax uses @Microsoft.KeyVault(SecretUri=...) with the full secret URI.
  2. Step 2: Compare options

    The other options do not follow the required Azure App Service Key Vault reference format.
  3. Final Answer:

    @Microsoft.KeyVault(SecretUri=https://myvault.vault.azure.net/secrets/DbPassword/) -> Option A
  4. Quick Check:

    Correct syntax starts with @Microsoft.KeyVault(SecretUri=...) [OK]
Hint: Use @Microsoft.KeyVault(SecretUri=...) for secret references [OK]
Common Mistakes:
  • Omitting the full secret URI
  • Using incorrect prefixes like KeyVaultSecret or vault://
  • Not including parentheses and SecretUri keyword
3. Given this app setting in Azure App Service:
MySecret = @Microsoft.KeyVault(SecretUri=https://vault123.vault.azure.net/secrets/ApiKey/)
What happens when the app tries to read MySecret if the managed identity lacks access to the Key Vault?
medium
A. The app setting returns an empty string
B. The app fails to start or throws an authentication error
C. The app receives the secret value successfully
D. The app uses a cached secret value from previous runs

Solution

  1. Step 1: Understand managed identity role

    The app's managed identity must have access permissions to read secrets from Key Vault.
  2. Step 2: Effect of missing access

    If access is missing, the app cannot retrieve the secret and will fail with an authentication or authorization error.
  3. Final Answer:

    The app fails to start or throws an authentication error -> Option B
  4. Quick Check:

    No access = authentication error [OK]
Hint: Managed identity needs Key Vault access to avoid errors [OK]
Common Mistakes:
  • Assuming the app gets empty string instead of error
  • Thinking the app uses cached secrets automatically
  • Believing the app can read secrets without permissions
4. You configured a Key Vault reference in your App Service but the app still shows the literal reference string instead of the secret value. What is the most likely cause?
medium
A. Managed identity is not enabled on the App Service
B. The secret name in the reference is misspelled
C. The App Service is in a different region than the Key Vault
D. The app setting key is not named correctly

Solution

  1. Step 1: Check managed identity status

    Key Vault references require the App Service to have a managed identity enabled to authenticate to Key Vault.
  2. Step 2: Understand effect of missing managed identity

    If managed identity is not enabled, the app cannot resolve the reference and shows the literal string.
  3. Final Answer:

    Managed identity is not enabled on the App Service -> Option A
  4. Quick Check:

    No managed identity = literal reference shown [OK]
Hint: Enable managed identity to resolve Key Vault references [OK]
Common Mistakes:
  • Assuming region mismatch causes this issue
  • Thinking misspelled secret name shows literal string
  • Believing app setting key name affects reference resolution
5. You want to securely use multiple secrets from Azure Key Vault in your App Service. Which combination of steps ensures best practice for this setup?
hard
A. Use connection strings in app settings without managed identity, and manually update secrets
B. Store secrets directly in app settings, enable managed identity, and use environment variables
C. Enable managed identity, grant 'List' permission only, and use custom code to fetch secrets
D. Enable managed identity on App Service, grant it 'Get' secret permission in Key Vault, use @Microsoft.KeyVault references in app settings

Solution

  1. Step 1: Enable managed identity and grant 'Get' permission

    The managed identity must be enabled and granted 'Get' permission on secrets in Key Vault to allow secure access.
  2. Step 2: Use Key Vault references in app settings

    Use the special syntax @Microsoft.KeyVault(SecretUri=...) in app settings to link secrets securely without storing them directly.
  3. Final Answer:

    Enable managed identity on App Service, grant it 'Get' secret permission in Key Vault, use @Microsoft.KeyVault references in app settings -> Option D
  4. Quick Check:

    Managed identity + Get permission + Key Vault references = best practice [OK]
Hint: Managed identity + Get permission + Key Vault references = secure setup [OK]
Common Mistakes:
  • Storing secrets directly in app settings
  • Granting only 'List' permission without 'Get'
  • Not enabling managed identity on App Service