Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Neste tutorial, você usa o serviço de Configuração de Aplicativo do Azure junto com o Azure Key Vault. A Configuração do Aplicativo e o Cofre da Chave são serviços complementares usados lado a lado na maioria das implantações de aplicativos.
Seu aplicativo pode usar o provedor de cliente de Configuração de Aplicativo para recuperar referências do Cofre de Chaves, assim como faz para quaisquer outras chaves armazenadas na Configuração do Aplicativo. Quando você adiciona uma referência do Cofre da Chave à Configuração do Aplicativo, a Configuração do Aplicativo cria uma chave que faz referência ao valor armazenado no Cofre da Chave. O valor que a Configuração do Aplicativo armazena não é um valor ou credencial do Cofre da Chave. Em vez disso, é um URI que faz referência ao valor no Key Vault. Como o provedor do cliente reconhece a chave como uma referência do Cofre da Chave, ele usa o Cofre da Chave para recuperar seu valor.
Seu aplicativo é responsável por autenticar corretamente na Configuração do Aplicativo e no Cofre da Chave. Os dois serviços não se comunicam diretamente.
Este tutorial mostra como implementar referências do Key Vault em seu código. Ele se baseia no aplicativo Web introduzido no início rápido do ASP.NET Core listado nos pré-requisitos. Antes de continuar, conclua esse início rápido.
Você pode usar qualquer editor de código para executar as etapas neste tutorial. Por exemplo, o Visual Studio Code é um editor de código multiplataforma disponível para os sistemas operacionais Windows, macOS e Linux.
Neste tutorial, você:
- Crie uma chave de Configuração do Aplicativo que faça referência a um valor armazenado no Cofre da Chave.
- Aceda ao valor desta chave a partir de uma aplicação Web ASP.NET Core.
Pré-requisitos
Conclua o início rápido Criar uma aplicação ASP.NET Core com Configuração de Aplicações.
Criar um cofre de chaves
Vá para o portal do Azure e selecione Criar um recurso.
Na caixa de pesquisa, introduza Key Vault. Na lista de resultados, selecione Cofre da Chave.
Na página Cofre da Chave , selecione Criar.
Na página Criar um cofre de chaves , insira as seguintes informações:
- Para Assinatura: Selecione uma assinatura.
- Para Grupo de recursos: insira o nome de um grupo de recursos existente ou selecione Criar novo e insira um nome de grupo de recursos.
- Para Nome do cofre de chaves: insira um nome exclusivo.
- Para Região: Selecione um local.
Para as outras opções, use os valores padrão.
Selecione Verificar + criar.
Depois de o sistema validar e exibir as suas entradas, selecione Criar.
Neste ponto, sua conta do Azure é a única autorizada a acessar esse novo cofre.
Adicionar um segredo ao Key Vault
Para testar a recuperação do Cofre da Chave em seu aplicativo, primeiro adicione um segredo ao cofre seguindo as etapas a seguir. O segredo que adicionas é chamado Mensagem e o seu valor é "Olá do Cofre de Chaves".
No menu de recursos do Cofre de Chaves, selecione Objetos>Segredos.
Selecione Gerar/Importar.
Na caixa de diálogo Criar um segredo , insira os seguintes valores:
- Para opções de upload: insira Manual.
- Para Nome: insira a mensagem.
- Para Valor secreto: Digite Hello from Key Vault.
Para as outras opções, use os valores padrão.
Selecione Criar.
Adicionar uma referência do Cofre da Chave à Configuração do Aplicativo
Inicie sessão no portal do Azure. Selecione Todos os recursos e, em seguida, selecione a loja de Configuração de Aplicações que cria no início rápido.
Selecione Configuration explorer.
Selecione Criar>referência do Key Vault e insira os seguintes valores:
- Para chave: digite TestApp:Settings:KeyVaultMessage.
- Para Label: Deixe o valor em branco.
- Para Assinatura, Grupo de recursos e Cofre de chaves: insira os valores usados ao criar o cofre de chaves anteriormente neste tutorial.
- Para Segredo: Selecione o segredo chamado Mensagem que você criou na seção anterior.
Atualize seu código para usar uma referência do Cofre da Chave
Vá para a pasta que contém o projeto de aplicativo Web ASP.NET Core que você criou no início rápido.
Em um prompt de comando, execute o seguinte comando. Este comando adiciona a referência do
Azure.Identitypacote NuGet ao seu arquivo de projeto ou o atualiza.dotnet add package Azure.IdentityAbra o Program.cs.
usingNa seção diretiva, adicione a seguinte linha para importar os tipos do namespaceAzure.Identity:using Azure.Identity;No Program.cs, substitua a chamada para o
AddAzureAppConfigurationmétodo com a chamada no código a seguir. A chamada atualizada inclui aConfigureKeyVaultopção. Esta opção usa oSetCredentialmétodo para passar as credenciais necessárias para autenticar com seu cofre de chaves.var builder = WebApplication.CreateBuilder(args); // Retrieve the App Configuration endpoint. string endpoint = builder.Configuration.GetValue<string>("Endpoints:AppConfiguration") // Load the configuration from App Configuration. builder.Configuration.AddAzureAppConfiguration(options => { options.Connect(new Uri(endpoint), new DefaultAzureCredential()); options.ConfigureKeyVault(keyVaultOptions => { keyVaultOptions.SetCredential(new DefaultAzureCredential()); }); });Gorjeta
Se você tiver vários cofres de chaves, o sistema usará a mesma credencial para todos eles. Se os cofres de chaves exigirem credenciais diferentes, você poderá defini-los usando os
Registermétodos ouSetSecretResolverdaAzureAppConfigurationKeyVaultOptionsclasse.Para acessar os valores das referências do Key Vault em seu código, vá para a pasta Pages em seu projeto. Abra Index.cshtml e substitua seu conteúdo pelo código a seguir. O código no bloco anterior inicializa a conexão de Configuração do Aplicativo e configura a conexão do Cofre da Chave. Como resultado, em Index.cshtml, você pode acessar os valores das referências do Cofre da Chave da mesma forma que acessa os valores das chaves normais de Configuração do Aplicativo.
@page @using Microsoft.Extensions.Configuration @inject IConfiguration Configuration <style> body { background-color: @Configuration["TestApp:Settings:BackgroundColor"] } h1 { color: @Configuration["TestApp:Settings:FontColor"]; font-size: @Configuration["TestApp:Settings:FontSize"]px; } </style> <h1>@Configuration["TestApp:Settings:Message"] and @Configuration["TestApp:Settings:KeyVaultMessage"]</h1>Esse código acessa o valor da referência
TestApp:Settings:KeyVaultMessagedo Cofre da Chave da mesma forma que acessa o valor de configuração doTestApp:Settings:Message.
Conceda ao seu aplicativo acesso ao Cofre da Chave
A App Configuration não acede ao cofre de chaves. Em vez disso, seu aplicativo lê diretamente do Cofre da Chave, portanto, você precisa conceder ao aplicativo acesso aos segredos no cofre de chaves. Dessa forma, os segredos sempre ficam com o seu aplicativo. Você pode usar uma política de acesso do Cofre da Chave ou um controle de acesso baseado em função do Azure para conceder o acesso.
O código neste tutorial usa a DefaultAzureCredential classe para autenticação. Essa credencial de token agregada tenta automaticamente vários tipos de credenciais, como EnvironmentCredential, ManagedIdentityCredential, SharedTokenCacheCredentiale VisualStudioCredential. Para obter mais informações, consulte DefaultAzureCredential Class.
Você pode substituir DefaultAzureCredential por qualquer tipo de credencial explícita. No entanto, ao utilizar DefaultAzureCredential, o seu código pode ser executado em ambientes locais e no Azure. Por exemplo, quando a sua aplicação é executada no Azure, DefaultAzureCredential usa ManagedIdentityCredential. Mas quando você usa o Visual Studio para desenvolvimento local, DefaultAzureCredential automaticamente recorre para SharedTokenCacheCredential ou VisualStudioCredential.
Como alternativa, você pode definir as variáveis de ambiente AZURE_TENANT_ID, AZURE_CLIENT_ID e AZURE_CLIENT_SECRET. Quando o fizer, DefaultAzureCredential usa estas variáveis e EnvironmentCredential para se autenticar com o cofre de chaves.
Depois de implantar seu aplicativo em um serviço do Azure com a identidade gerenciada habilitada, como o Serviço de Aplicativo do Azure, o Serviço Kubernetes do Azure ou a Instância de Contêiner do Azure, você concede a identidade gerenciada do serviço do Azure permissão para acessar seu cofre de chaves.
DefaultAzureCredential usa ManagedIdentityCredential automaticamente quando seu aplicativo está sendo executado no Azure. Você pode usar a mesma identidade gerenciada para autenticar com a Configuração do Aplicativo e o Cofre da Chave. Para obter mais informações, consulte Usar identidades gerenciadas para acessar a Configuração do Aplicativo.
Crie e execute o aplicativo localmente
Para criar o aplicativo usando a CLI do .NET, execute o seguinte comando em um prompt de comando:
dotnet buildApós a conclusão da compilação, use o seguinte comando para executar o aplicativo Web localmente:
dotnet runNa saída do comando
dotnet run, localize uma URL na qual a aplicação web está a escutar, comohttp://localhost:5292. Abra um navegador e vá para esse URL.
O texto na página Web inclui os seguintes componentes:
- O valor que está associado à chave
TestApp:Settings:Messageno armazém de configuração da aplicação - O valor do segredo da Mensagem armazenado no cofre de chaves
- O valor que está associado à chave
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.