Recentemente tive que fazer alguns experimentos relacionados a um Azure Application Gateway e utilizar certificados que estavam em um Azure Key Vault.
Em resumo, precisava configurar um Application Gateway em uma outra Subscription para realizar alguns testes de migração de uma aplicação do cliente.
Para realizar o teste mais próximo do ambiente existente, resolvi, também utilizar os certificados já existentes, que estavam no Key Vault e foi quando tive o problema ao restaurar o certificado no novo Key Vault.
Vou mostrar o passo a passo do que aconteceu
Adicionar um Listener no Application Gateway
Ao adicionar um Listener no Application Gateway, você pode escolher se quer fazer upload de um certificado ou escolher um diretamente do Key Vault
Foi então que notei, que o certificado não estava disponível no Key Vault da nova Subscription
Fazer backup e restaurá-lo no Key Vault destino
Pensei, vou fazer um backup do Key Vault e restaurá-lo no Key Vault da nova Subscription
Backup
Fui até o Key Vault em questão, procurei por Certificates, em seguida cliquei no primeiro certificado que precisava fazer backup
Então, selecionei Download Backup
Você será solicitado para não fechar aquela tela, e em seguida para baixar o arquivo pressionado no botão Download
Escolha um local para salvar o backup e pressione Save
Restaurar
Fui até o Key Vault na outra Subscription, novamente em Certificates e optei por Restore Backup
Naveguei até o local onde salvei o backup, selecione e cliquei em Open
Erro
Foi quando recebi o erro
An error occurred while restoring the certificate
Ao acessar o erro, tive uma mensagem mais clara do que aconteceu
This provided certificate backup file was from another subscription. Backups can only be restored into the same subscription.
Já havia feito algumas vezes este processo, mas pelo visto nunca entre Subscriptions
Então, o que aprendi aqui foi que a restauração do backup de um certificado para um Key Vault apenas pode ocorrer em outro Key Vault que estiver na mesma Subscription
Solução
Neste caso, existem duas soluções possíveis
Solução 1
Solicitar ao cliente o certificado PFX e realizar uma importação do certificado
Vá até seu Azure Key Vault, Certificates e em Generate/Import
Na tela de Create a certificate, escolha em Method of Certificate Creation a opção de Import
Então, forneça as informações do certificado como Certificate Name, faça o Upload do certificado e coloque a senha do arquivo PFX e pressione Salvar para completar o processo
Dando tudo certo, as informações do certificado serão mostradas, bem parecidas com o exemplo abaixo
Solução 2
Fazer o download do arquivo PFX a partir do certificado existente no Key Vault e realizar a importação do certificado
Vá até o Key Vault onde o certificado está atualmente, Certificates, escolha o certificado que deseja fazer o download e em seguida clique na opção abaixo da Current Version
Com o certificado aberto, clique em Download in PFX/PEM format e em seguida confirme o download e pressione Download
Escolha o local onde deseja salvar e pressione Save
Em seguida, vá até o Key Vault que está na outra Subscription e refaça o caminho da Solução 1 para importar o arquivo PFX, mas com uma informação importante
Quando você exporta o certificado (de um Key Vault), a senha fica em branco
https://learn.microsoft.com/pt-br/azure/key-vault/certificates/how-to-export-certificate?tabs=azure-cli#export-stored-certificates
Ou seja, ao importar o PFX vindo de uma exportação do Key Vault, basta deixar o campo Password em branco também
Referências:
- https://learn.microsoft.com/pt-br/azure/key-vault/certificates/how-to-export-certificate?tabs=azure-cli#export-stored-certificates
- https://learn.microsoft.com/pt-br/azure/key-vault/certificates/tutorial-import-certificate?tabs=azure-portal
- https://learn.microsoft.com/pt-br/azure/key-vault/certificates/how-to-export-certificate?tabs=azure-portal
Deixe um comentário