I had a requirement to setup POC environment for application migration to the cloud. When I looked at the number of secrets in the source POC KV setup I knew I cannot do this manually. So just used a couple of PowerShell commands to move the secrets between the Key Vault.
Pre-requisites:
- Azure PowerShell module installed
- Access to Azure subscription
- Access rights on Key Vault
- Network access to Key Vault (In my case it was a private environment, so needed to make sure VPN setup in place to connect to Key Vault)
# Login to Azure
Connect-AzAccount
# Assign Key Vault Names
$sourceVault='source-kv-01'
$destVault='target-kv-01'
# Get Source Key Vault Names
$sourceSecretList = (Get-AzKeyVaultSecret -VaultName $sourceVault).Name
# Create secret in target
$sourceSecretList.foreach{
Set-AzKeyVaultSecret -VaultName $destVault -Name $_ `
-SecretValue (Get-AzKeyVaultSecret -VaultName $sourceVault -Name $_).SecretValue
}