Adicione o Key Vault ao seu aplicativo Web usando os Serviços Conectados do Visual Studio
Neste tutorial, você aprenderá como adicionar facilmente tudo o que você precisa para começar a usar o Azure Key Vault para gerenciar seus segredos para projetos Web no Visual Studio, quer esteja usando o ASP.NET Core ou qualquer outro tipo de projeto do ASP.NET. Com o uso do recurso de Serviços Conectados no Visual Studio, você pode fazer com que o Visual Studio adicione automaticamente todos os pacotes e definições de configuração do NuGet que você precisa para se conectar ao Key Vault no Azure.
Pré-requisitos
- Uma conta do Azure. Se você não tiver uma conta do Azure, ative seus benefícios do Azure para assinantes do Visual Studio ou inscreva-se para uma avaliação gratuita.
- Visual Studio 2019 versão 16.3 ou posterior Baixe-o agora.
Como adicionar suporte do Key Vault ao seu projeto
Antes de começar, verifique se você está conectado ao Visual Studio. Entre com a mesma conta usada para sua assinatura do Azure. Depois, abra um projeto Web do ASP.NET 4.7.1 ou posterior, ou do ASP.NET Core Web, e execute as etapas a seguir. As etapas mostradas são do Visual Studio 2022 versão 17.4. O fluxo pode ser um pouco diferente para outras versões do Visual Studio.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto ao qual você quer adicionar o suporte do Key Vault e selecione Adicionar>Serviços conectados ou clique com o botão direito do mouse no nó Serviços conectados e selecione Adicionar.
Se você não vir o nó Serviços conectados, escolha Projeto>Serviços conectados>Adicionar.
Em Dependências do Serviço, escolha o ícone +. A página do Serviço Conectado aparece com os serviços que você pode adicionar ao seu projeto.
No menu de serviços disponíveis, selecione Azure Key Vault e clique em Avançar.
Selecione a assinatura que deseja usar e, se já tiver um cofre de chaves que deseja usar, selecione-o e clique em Avançar.
Se você não tiver um Key Vault existente ou se precisar de um Key Vault que possa ser definido com permissões diferentes de um existente, clique em Criar novo Key Vault. Será solicitado que você forneça o grupo de recursos, a localização e o SKU.
Na tela Configurar Key Vault, você pode alterar o nome da variável de ambiente que faz referência à URI do cofre de chaves. A cadeia de conexão não é armazenada aqui; ela é armazenada no cofre de chaves.
Observação
Para maior segurança, no Visual Studio 17.12 e posterior, esta etapa cria um nome de configuração de conexão; As versões anteriores criam uma cadeia de conexão. As cadeias de conexão armazenadas localmente podem levar a um risco de segurança, se forem expostas inadvertidamente.
Clique em Avançar até ver um resumo das alterações e, em seguida, em Concluir.
Antes de começar, verifique se você está conectado ao Visual Studio. Entre com a mesma conta usada para sua assinatura do Azure. Depois, abra um projeto Web do ASP.NET 4.7.1 ou posterior, ou do ASP.NET Core Web, e execute as etapas a seguir.
No Gerenciador de Soluções, clique com o botão direito do mouse no projeto ao qual você quer adicionar o suporte do Key Vault e selecione Adicionar>Serviços conectados ou clique com o botão direito do mouse no nó Serviços conectados e selecione Adicionar.
Se você não vir o nó Serviços conectados, escolha Projeto>Serviços conectados>Adicionar.
Em Dependências do Serviço, escolha o ícone +. A página do Serviço Conectado aparece com os serviços que você pode adicionar ao seu projeto.
No menu de serviços disponíveis, selecione Azure Key Vault e clique em Avançar.
Selecione a assinatura que deseja usar e, se já tiver um cofre de chaves que deseja usar, selecione-o e clique em Avançar.
Se você não tiver um Key Vault existente, clique em Criar Key Vault. Será solicitado que você forneça o grupo de recursos, a localização e o SKU.
Na tela Configurar Key Vault, você pode alterar o nome da variável de ambiente que faz referência à URI do cofre de chaves. A cadeia de conexão não é armazenada aqui; ela é armazenada no cofre de chaves.
Clique em Avançar para examinar um resumo das alterações e depois clique em Concluir.
Agora, a conexão com Key Vault é estabelecida e você pode acessar seus segredos no código. Se você acabou de criar um cofre de chaves, teste-o criando um segredo que possa ser referenciado no código. Você pode criar um segredo usando o portal do Azure, o PowerShell ou a CLI do Azure.
Confira exemplos de código de como trabalhar com segredos na Biblioteca de clientes de segredos do Azure Key Vault para .NET – Exemplos de código.
Configurar o acesso ao cofre de chaves
Se você seguiu este tutorial com o Visual Studio 2022 versão 17.11 ou anterior, suas permissões do Key Vault estão configuradas para serem executadas com sua própria assinatura do Azure, mas isso pode não ser desejável para um cenário de produção. Você pode criar uma identidade gerenciada para gerenciar o acesso do Key Vault para seu aplicativo. Confira Como autenticar para um Key Vault e Atribuir uma política de acesso de Key Vault.
Se o cofre de chaves estiver sendo executado em uma conta Microsoft diferente daquela em que você está conectado ao Visual Studio (por exemplo, o cofre de chaves está sendo executado em sua conta corporativa, mas o Visual Studio está usando sua conta privada), você recebe um erro no arquivo Program.cs, que o Visual Studio não pode obter acesso ao cofre de chaves. Para corrigir esse problema, vá para o portal do Azure, abra seu cofre de chaves e escolha Controle de acesso (IAM) para definir permissões. Confira Fornecer acesso a chaves, certificados e segredos do cofrre de chaves com um controle de acesso baseado em função do Azure (RBAC).
Observação
Cofres de chaves mais antigos podem usar um modelo de política de acesso herdado. É recomendável migrar cofres de chaves mais antigos para usar o RBAC do Azure. Consulte Controle de acesso baseado em função (RBAC) do Azure versus políticas de acesso.
Próximas etapas
Saiba mais sobre o desenvolvimento do Key Vault. Leia o Guia de Desenvolvedor do Key Vault.
Se sua meta for armazenar a configuração de um aplicativo ASP.NET Core em um cofre de chaves do Azure, consulte Provedor de configuração do Azure Key Vault em ASP.NET Core.