Adicionar o Cofre da Chave ao seu aplicativo Web usando o Visual Studio Connected Services
Neste tutorial, você aprenderá como adicionar facilmente tudo o que precisa para começar a usar o Azure Key Vault para gerenciar seus segredos para projetos Web no Visual Studio, esteja você usando o ASP.NET Core ou qualquer tipo de projeto ASP.NET. Usando o recurso Serviços Conectados no Visual Studio, você pode fazer com que o Visual Studio adicione automaticamente todos os pacotes NuGet e as definições de configuração necessárias para se conectar ao Cofre da Chave no Azure.
Pré-requisitos
- Uma conta do Azure. Se não tiveres uma conta do Azure, ativa os teus benefícios do Azure para assinantes do Visual Studio ou inscreve-te para uma avaliação gratuita.
- Visual Studio 2019 versão 16.3 ou posterior Baixe agora.
Adicione suporte ao Key Vault ao seu projeto
Antes de começar, certifique-se de que você está conectado ao Visual Studio. Entre com a mesma conta que você usa para sua assinatura do Azure. Em seguida, abra um ASP.NET 4.7.1 ou posterior, ou ASP.NET projeto Web Core, e execute as etapas a seguir. As etapas mostradas são para Visual Studio 2022 versão 17.4. O fluxo pode ser ligeiramente diferente para outras versões do Visual Studio.
No Explorador de Soluções , clique com o botão direito do mouse no projeto ao qual você deseja adicionar o suporte do Cofre de Chaves e escolha Adicionar>Serviço Conectado ou clique com o botão direito do mouse no nó Serviços Conectados e selecione Adicionar.
Se não vires o nó Serviços Conectados, escolhe Projeto>Serviços Conectados>Adicionar.
Em Dependências de Serviço , escolha o ícone +. A página Serviço Conectado aparece com os serviços que você pode adicionar ao seu projeto.
No menu de serviços disponíveis, escolha Azure Key Vault e clique em Avançar.
Selecione a subscrição que pretende utilizar e, se já tiver um cofre de chaves que pretende utilizar, selecione-o e clique em Seguinte.
Se você não tiver um Cofre de Chaves existente ou se precisar de um Cofre de Chaves que possa ser definido com permissões diferentes de um existente, clique em Criar novo Cofre de Chaves. Ser-lhe-á pedido que forneça o grupo de recursos, a localização e a SKU.
Na tela Configurar o Cofre da Chave, você pode alterar o nome da variável de ambiente que faz referência ao URI do Cofre da Chave. A cadeia de conexão não é armazenada aqui; é 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 Seguinte até ver um resumo das alterações e, em seguida, Concluir.
Antes de começar, certifique-se de que você está conectado ao Visual Studio. Entre com a mesma conta que você usa para sua assinatura do Azure. Em seguida, abra um ASP.NET 4.7.1 ou posterior, ou ASP.NET projeto Web Core, e execute as etapas a seguir.
No Explorador de Soluções , clique com o botão direito do rato no projeto ao qual deseja adicionar suporte ao Cofre de Chaves e escolha Adicionar >Serviço Conectado, ou clique com o botão direito no nó Serviços Conectados e selecione Adicionar .
Se não vires o nó Serviços Conectados, escolhe Projeto>Serviços Conectados>Adicionar.
Nas Dependências de Serviço , escolha o ícone +. A página Serviço Conectado aparece com os serviços que você pode adicionar ao seu projeto.
No menu de serviços disponíveis, escolha Azure Key Vault e clique em Avançar.
Selecione a subscrição que pretende utilizar e, em seguida, se já tiver um cofre de chaves que pretende utilizar, selecione-o e clique em Seguinte.
Se você não tiver um Cofre de Chaves existente, clique em Criar novo Cofre de Chaves. Ser-lhe-á pedido que forneça o grupo de recursos, a localização e a SKU.
Na tela Configurar o Cofre da Chave, você pode alterar o nome da variável de ambiente que faz referência ao URI do Cofre da Chave. A cadeia de ligação não é armazenada aqui; é armazenada no cofre de chaves.
Clique Seguinte para rever um resumo das alterações e depois Concluir.
Agora, a conexão com o Key Vault está estabelecida e você pode acessar seus segredos em código. Se você acabou de criar um novo cofre de chaves, teste-o criando um segredo que você pode referenciar no código. Você pode criar um segredo usando o de portal doAzure, PowerShellou o da CLI doAzure.
Veja exemplos de código de como trabalhar com segredos em biblioteca de cliente do Azure Key Vault Secrets 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 Cofre da Chave 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 ao Cofre da Chave para seu aplicativo. Consulte Como autenticar-se no Cofre de Chaves e Atribuir uma política de acesso ao Cofre de Chaves.
Se o cofre de chaves estiver sendo executado em uma conta da Microsoft diferente daquela em que você está conectado ao Visual Studio (por exemplo, o cofre de chaves está sendo executado em sua conta de trabalho, mas o Visual Studio está usando sua conta privada), você receberá um erro em seu arquivo de Program.cs, que o Visual Studio não pode obter acesso ao cofre de chaves. Para corrigir este problema, vá para o portal do Azure, abra o seu cofre de chaves e escolha Controle de Acesso (IAM) para definir permissões. Consulte Fornecer acesso a chaves, certificados e segredos do Cofre de Chaves com um controle de acesso baseado em função (RBAC) do Azure.
Observação
Os 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 Azure RBAC. Consulte RBAC (controle de acesso baseado em função) do Azure versus políticas de acesso.
Próximos passos
Saiba mais sobre o desenvolvimento do Key Vault lendo o Key Vault Developer's Guide.
Se o seu objetivo 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 no ASP.NET Core.