Olá pessoal,
Dando sequência ao post de ontem onde falei sobre a utilização de cofres de segredos usando o modulo SecretManagement no Powershell. Iremos ver hoje como utilizar o Azure Key Vault como cofre de segredos do SecretManagement.
Para este exemplo iremos precisar dos seguintes items:
Certifique-se que você tem o modulo do KeyVault do Azure instalado, ele ja possui uma extensão para ser utilizado em conjunto com o modulo SecretManagement, caso não tenha, é possivel instala-lo a partir da galeria com o seguinte comando:
Install-Module -Name 'Az.KeyVault' -Repository 'PSGallery'
Caso esteja em uma maquina virtual do Azure com Managed Identity(especificamente SystemAssigned nesse caso), você pode se autenticar no Azure com o seguinte comando:
Add-AzAccount -identity
Para registrar o KeyVault como cofre do SecretManagement podemos utilizar o seguinte comando:
$AzSecretVault = @{
Module = 'Az.KeyVault'
Name = 'AzKeyVault'
VaultParameters = @{
AZKVaultName = $vaultName
SubscriptionId = (Get-AzContext).Subscription.SubscriptionId
}
}
Register-SecretVault @AzSecretVault
Desse ponto em diante basta utilizar os comandos de Get-Secret e/ou Set-Secret para recuperar ou alterar os secrets do Azure Key Vault, bastando apenas especificar qual cofre deseja utilizar:
Set-Secret -Name 'MinhaCredencial' -Secret (Get-Credential) -Vault 'AzKeyVault'
Get-Secret -Name 'MinhaCredencial' -Vault 'AzKeyVault'
Com isso é possivel utilizarmos a Managed Identity para autenticar no azure e recuperar segredos do cofre de forma transparente e sem expor nenhum dado sensivel no script, exceto o nome do Key Vault.
Dúvidas? Sugestões? Comente!
Até a proxima!