Recarregue segredos e certificados do Cofre da Chave automaticamente
A Configuração de Aplicações e o Cofre de Chaves são serviços complementares utilizados lado a lado em muitas aplicações. A Configuração de Aplicações ajuda-o a utilizar os serviços em conjunto, criando chaves na sua loja de Configuração de Aplicações que fazem referência a segredos ou certificados armazenados no Cofre de Chaves. Como o Cofre de Chaves armazena o par de chaves pública e privada de um certificado como um segredo, seu aplicativo pode recuperar qualquer certificado como um segredo do Cofre de Chaves.
Como boa prática de segurança, segredos e certificados devem ser alternados periodicamente. Depois que eles forem alternados no Cofre de Chaves, você desejará que seu aplicativo pegue os valores de segredo e certificado mais recentes. Há duas maneiras de conseguir isso sem reiniciar seu aplicativo:
- Atualize um valor-chave sentinela para acionar a atualização de toda a sua configuração, recarregando assim todos os segredos e certificados do Cofre da Chave. Para obter mais informações, consulte como usar a configuração dinâmica em um aplicativo ASP.NET Core.
- Recarregue periodicamente alguns ou todos os segredos e certificados do Cofre da Chave.
Na primeira opção, você terá que atualizar o valor-chave sentinela na Configuração do Aplicativo sempre que girar segredos e certificados no Cofre da Chave. Essa abordagem funciona bem quando você deseja forçar uma recarga imediata de segredos e certificados em seu aplicativo. No entanto, quando segredos e certificados são girados automaticamente no Cofre de Chaves, seu aplicativo pode ter erros se você não atualizar o valor da chave sentinela a tempo. A segunda opção permite automatizar completamente este processo. Você pode configurar seu aplicativo para recarregar segredos e certificados do Cofre da Chave dentro do seu atraso aceitável a partir do momento da rotação. Este tutorial irá guiá-lo através da segunda opção.
Pré-requisitos
Este tutorial mostra como configurar seu aplicativo para recarregar automaticamente segredos e certificados do Cofre da Chave. Ele se baseia no tutorial para implementar referências do Key Vault em seu código. Antes de continuar, conclua o Tutorial: Use as referências do Cofre da Chave em um aplicativo ASP.NET Core primeiro.
Pacote Microsoft.Azure.AppConfiguration.AspNetCore v4.4.0 ou posterior.
Adicionar um certificado de rotação automática ao Cofre da Chave
Siga o Tutorial: Configurar a rotação automática de certificados no Cofre de Chaves para adicionar um certificado de rotação automática chamado ExampleCertificate ao Cofre de Chaves criado no tutorial anterior.
Adicionar uma referência ao certificado do Cofre da Chave na Configuração do Aplicativo
No portal do Azure, selecione Todos os recursos e, em seguida, selecione a instância do repositório de Configuração de Aplicativos que você criou no tutorial anterior.
Selecione Configuration Explorer.
Selecione + Criar>referência do cofre da chave e especifique os seguintes valores:
- Chave: Selecione TestApp:Settings:KeyVaultCertificate.
- Label: Deixe este valor em branco.
- Assinatura, Grupo de recursos e Cofre de chaves: insira os valores correspondentes ao Cofre de chaves criado no tutorial anterior.
- Segredo: Selecione o segredo chamado ExampleCertificate que você criou na seção anterior.
- Versão secreta: Última versão.
Nota
Se você fizer referência a uma versão específica, recarregar o segredo ou certificado do Cofre da Chave sempre retornará o mesmo valor.
Atualizar o código para recarregar segredos e certificados do Cofre da Chave
No arquivo Program.cs , atualize o AddAzureAppConfiguration
método para configurar um intervalo de atualização para o certificado do Cofre da Chave usando o SetSecretRefreshInterval
método. Com essa alteração, seu aplicativo recarregará o par de chaves público-privado para ExampleCertificate a cada 12 horas.
config.AddAzureAppConfiguration(options =>
{
options.Connect(settings["ConnectionStrings:AppConfig"])
.ConfigureKeyVault(kv =>
{
kv.SetCredential(new DefaultAzureCredential());
kv.SetSecretRefreshInterval("TestApp:Settings:KeyVaultCertificate", TimeSpan.FromHours(12));
});
});
O primeiro argumento no SetSecretRefreshInterval
método é a chave da referência do Cofre da Chave na Configuração do Aplicativo. Este argumento é opcional. Se o parâmetro chave for omitido, o intervalo de atualização será aplicado a todos os segredos e certificados que não têm intervalos de atualização individuais.
O intervalo de atualização define a frequência com que seus segredos e certificados serão recarregados do Cofre da Chave, independentemente de quaisquer alterações em seus valores no Cofre da Chave ou na Configuração do Aplicativo. Se você quiser recarregar segredos e certificados quando seu valor for alterado na Configuração do aplicativo, poderá monitorá-los usando o ConfigureRefresh
método. Para obter mais informações, consulte como usar a configuração dinâmica em um aplicativo ASP.NET Core.
Escolha o intervalo de atualização de acordo com o seu atraso aceitável após os seus segredos e certificados terem sido atualizados no Cofre de Chaves. Também é importante considerar os limites do serviço Key Vault para evitar ser limitado.
Clean up resources (Limpar recursos)
Se não quiser continuar a utilizar os recursos criados neste artigo, elimine o grupo de recursos que criou aqui para evitar cobranças.
Importante
A eliminação de um grupo de recursos é irreversível. O grupo de recursos e todos os recursos nele contidos são excluídos permanentemente. Certifique-se de não excluir acidentalmente o grupo de recursos ou recursos errados. Se você criou os recursos para este artigo dentro de um grupo de recursos que contém outros recursos que deseja manter, exclua cada recurso individualmente de seu respetivo painel em vez de excluir o grupo de recursos.
- Entre no portal do Azure e selecione Grupos de recursos.
- Na caixa Filtrar por nome, introduza o nome do seu grupo de recursos.
- Na lista de resultados, selecione o nome do grupo de recursos para ver uma visão geral.
- Selecione Eliminar grupo de recursos.
- É-lhe pedido que confirme a eliminação do grupo de recursos. Insira o nome do grupo de recursos a ser confirmado e selecione Excluir.
Após alguns momentos, o grupo de recursos e todos os seus recursos são excluídos.
Próximos passos
Neste tutorial, você aprendeu como configurar seu aplicativo para recarregar automaticamente segredos e certificados do Cofre de Chaves. Para saber como usar a Identidade Gerenciada para simplificar o acesso à Configuração do Aplicativo e ao Cofre da Chave, continue para o próximo tutorial.