Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
O Azure Key Vault ajuda-o a proteger segredos como chaves de API e cadeias de ligação à base de dados que as suas aplicações, serviços e recursos precisam.
Neste tutorial, configura uma aplicação de consola para ler informações do Azure Key Vault. A aplicação utiliza a identidade gerida da VM para autenticar no Key Vault.
Este tutorial mostra-lhe como:
- Crie um grupo de recursos.
- Crie um cofre de chaves.
- Adicione um segredo ao cofre de chaves.
- Obter um segredo do cofre de chaves.
- Crie uma máquina virtual Azure.
- Habilite uma identidade gerenciada para a Máquina Virtual.
- Atribua permissões à identidade da VM.
Antes de começares, lê Key Vault conceitos básicos.
Se não tiver uma subscrição Azure, crie uma conta free.
Pré-requisitos
Para Windows, Mac e Linux:
- Git
- O SDK .NET 8.0 ou posterior.
- CLI do Azure ou Azure PowerShell
Criar recursos e atribuir permissões
Antes de começar a codificar, você precisa criar alguns recursos, colocar um segredo no cofre de chaves e atribuir permissões.
Iniciar sessão no Azure
Iniciar sessão no Azure com a CLI do Azure ou Azure PowerShell:
az login
Criar um grupo de recursos e um cofre de chaves
Este quickstart utiliza um cofre de chaves Azure pré-criado. Você pode criar um cofre de chaves seguindo as etapas nestes guias rápidos:
Em alternativa, pode executar estes comandos CLI do Azure ou Azure PowerShell.
Importante
Cada cofre de chaves deve ter um nome exclusivo. Substitua <vault-name> pelo nome do seu cofre de chaves nos exemplos seguintes.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Preencha o cofre das chaves com um segredo
Vamos criar um segredo chamado mySecret, com um valor de Sucesso!. Um segredo pode ser uma palavra-passe, uma cadeia de ligação SQL ou qualquer outra informação que precise para manter segura e disponível para a sua aplicação.
Para adicionar um segredo ao cofre de chaves recém-criado, use o seguinte comando:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Criar uma máquina virtual
Crie uma VM Windows ou Linux usando um dos seguintes métodos:
| Windows | Linux |
|---|---|
| CLI do Azure | CLI do Azure |
| PowerShell | PowerShell |
| Portal do Azure | Portal do Azure |
Atribuir uma identidade à VM
Crie uma identidade gerida atribuída pelo sistema para a VM:
az vm identity assign --name <vm-name> --resource-group <resource-group>
Observe a identidade atribuída ao sistema que é exibida no código a seguir. A saída do comando anterior seria:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Atribuir permissões à identidade da VM
Para obter permissões para o seu cofre de chaves através de Role-Based Controlo de Acesso (RBAC), atribua uma função ao seu "Nome Principal do Utilizador" (UPN) usando o comando CLI do Azure az role assignment create.
az role assignment create --role "Key Vault Secrets User" --assignee "<upn>" --scope "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/<vault-name>"
Substitua <upn>, <subscription-id>, e <vault-name> pelos seus valores reais. Se usaste um nome diferente de grupo de recursos, substitui também "myResourceGroup". Seu UPN normalmente estará no formato de um endereço de e-mail (por exemplo, username@domain.com).
Iniciar sessão na VM
Para iniciar sessão na VM, siga as instruções em Connect e inicie sessão numa máquina virtual Azure Windows ou Connect e inicie sessão numa máquina virtual Azure Linux.
Configurar a aplicação da consola
Cria uma aplicação de consola e instala os pacotes necessários com o dotnet comando.
Instalar .NET
Para instalar o .NET, vá à página de downloads do .NET.
Crie e execute uma aplicação .NET de exemplo
Abra uma linha de comando e execute:
dotnet new console -n keyvault-console-app
cd keyvault-console-app
dotnet run
A aplicação imprime "Hello World" na consola.
Instale os pacotes
A partir da janela da consola, instale a biblioteca cliente Azure Key Vault Secrets e a biblioteca Azure Identity:
dotnet add package Azure.Security.KeyVault.Secrets
dotnet add package Azure.Identity
Editar o aplicativo de console
Abra Program.cs e adicione as seguintes using diretivas:
using System;
using Azure.Core;
using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
Substitua o Main método pelo seguinte código, atualizando <vault-name> para o nome do seu cofre de chaves. Este código utiliza o DefaultAzureCredential para autenticar no Key Vault, que utiliza um token da identidade gerida da VM. Também configura um backoff exponencial para tentativas no caso de o Key Vault ser limitado.
class Program
{
static void Main(string[] args)
{
string secretName = "mySecret";
string keyVaultName = "<vault-name>";
var kvUri = "https://<vault-name>.vault.azure.net";
SecretClientOptions options = new SecretClientOptions()
{
Retry =
{
Delay= TimeSpan.FromSeconds(2),
MaxDelay = TimeSpan.FromSeconds(16),
MaxRetries = 5,
Mode = RetryMode.Exponential
}
};
var client = new SecretClient(new Uri(kvUri), new DefaultAzureCredential(),options);
Console.Write("Input the value of your secret > ");
string secretValue = Console.ReadLine();
Console.Write("Creating a secret in " + keyVaultName + " called '" + secretName + "' with the value '" + secretValue + "' ...");
client.SetSecret(secretName, secretValue);
Console.WriteLine(" done.");
Console.WriteLine("Forgetting your secret.");
secretValue = "";
Console.WriteLine("Your secret is '" + secretValue + "'.");
Console.WriteLine("Retrieving your secret from " + keyVaultName + ".");
KeyVaultSecret secret = client.GetSecret(secretName);
Console.WriteLine("Your secret is '" + secret.Value + "'.");
Console.Write("Deleting your secret from " + keyVaultName + " ...");
client.StartDeleteSecret(secretName);
System.Threading.Thread.Sleep(5000);
Console.WriteLine(" done.");
}
}
Limpeza de recursos
Quando já não precisares deles, apaga a VM e o cofre de chaves.