- Lab
- Cloud
- Security

Read a Secret from an Azure Key Vault in Azure Pipelines
You are deploying a database and application using Azure DevOps, but you don't want to store the database passwords within the repo or within the pipeline. Use Azure Key Vault in the pipeline to read the database password for the deployment.

Path Info
Table of Contents
-
Challenge
Create a New Azure DevOps Organization and Import a Repo
- Log in to the Azure portal.
- Create a new private project named
AwesomeProject
. - Create a new Azure Repo by importing a GitHub Repo.
- Set the default branch to keyvault.
-
Challenge
Create a Service Connection
- Create a service connection using an app registration or managed identity (manual) and set the credential to Secret.
- The subscription ID, subscription name, and directory (tenant) ID can be found by running
Get-AzSubscription
from the cloudshell. - The application (client) ID and client secret can be found on the lab credential page under the service principal.
- Important: Make sure the Service connection name is set to
ServiceConnection
.
-
Challenge
Install a Self-hosted Agent on the Provided VM
- Install a self-hosted agent onto the provided Linux VM.
- Use a personal access token for the authentication method.
-
Challenge
Create a Key Vault and Secret
- Change the Key Vault access configuration to a vault access policy.
- Give the service principle ID permissions to get and list secrets.
- Create a secret named
sqldbpassword
and ensure you use at least 8 digits, one number, one capital letter, and one special letter for the password.
-
Challenge
Create an Azure DevOps Pipeline
Make sure the following has been configured in the pipeline YAML:
subscriptionID
is set to your Azure subscription ID.webAppName
is set to a unique web app name.keyVaultName
is set to your Key Vault name.resourceGroup
is set your resource group name.location
is set to the same location as your resources.
Run the pipeline and validate success by opening the connection string on the Azure web app.
What's a lab?
Hands-on Labs are real environments created by industry experts to help you learn. These environments help you gain knowledge and experience, practice without compromising your system, test without risk, destroy without fear, and let you learn from your mistakes. Hands-on Labs: practice your skills before delivering in the real world.
Provided environment for hands-on practice
We will provide the credentials and environment necessary for you to practice right within your browser.
Guided walkthrough
Follow along with the author’s guided walkthrough and build something new in your provided environment!
Did you know?
On average, you retain 75% more of your learning if you get time for practice.