Provedor de configuração de Segredos Key Vault do Azure para Microsoft.Extensions.Configuration

O Azure.Extensions.AspNetCore.Configuration.Secrets pacote permite armazenar valores de configuração usando o Azure Key Vault Secrets.

Introdução

Instalar o pacote

Instale o pacote com o NuGet:

dotnet add package Azure.Extensions.AspNetCore.Configuration.Secrets

Pré-requisitos

Você precisa de uma assinatura do Azure e Key Vault do Azure para usar esse pacote.

Para criar um novo Key Vault, você pode usar o Portal do Azure, Azure PowerShell ou a CLI do Azure. Aqui, está um exemplo usando a CLI do Azure:

az keyvault create --name MyVault --resource-group MyResourceGroup --location westus
az keyvault secret set --vault-name MyVault --name MySecret --value "hVFkk965BuUv"

Controle de acesso baseado em função do Azure

Ao usar o controle de acesso baseado em função do azure, a identidade que você está autenticando precisa ter as funções "Leitor de Key Vault" e "Key Vault Usuário de Segredos". A função "leitor de Key Vault" permite que a extensão liste segredos enquanto o "usuário de segredos Key Vault" permite recuperar seus valores.

az role assignment create --role "Key Vault Reader" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}
az role assignment create --role "Key Vault Secrets User" --assignee {i.e user@microsoft.com} --scope /subscriptions/{subscriptionid}/resourcegroups/{resource-group-name}

Principais conceitos

Acesso thread-safe

Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.

Conceitos adicionais

Opções | do cliente Acessando a resposta | Operações de execução prolongada | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente

Exemplos

Para carregar a configuração de inicialização do Azure Key Vault segredos chame o AddAzureKeyVault em ConfigurationBuilder:

ConfigurationBuilder builder = new ConfigurationBuilder();
builder.AddAzureKeyVault(new Uri("<Vault URI>"), new DefaultAzureCredential());

IConfiguration configuration = builder.Build();
Console.WriteLine(configuration["MySecret"]);

A biblioteca de Identidade do Azure fornece suporte fácil ao Azure Active Directory para autenticação.

Próximas etapas

Leia mais sobre a configuração no ASP.NET Core.

Contribuição

Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.

Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.

Impressões