Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Azure Key Vault ajuda você a proteger chaves, segredos e certificados, como chaves de API e cadeias de conexão de banco de dados.
Neste tutorial, você configura um aplicativo Python para ler informações de Azure Key Vault usando identidades gerenciadas para recursos de Azure. Você aprenderá como:
- Criar um cofre de chaves
- Armazenar um segredo no Key Vault
- Criar uma máquina virtual Azure Linux
- Habilitar uma identidade gerenciada para a máquina virtual
- Conceda as permissões necessárias para o aplicativo de console ler dados de Key Vault
- Recuperar um segredo de Key Vault
Antes de começar, leia Key Vault conceitos básicos.
Se você não tiver uma assinatura da Azure, crie uma conta gratuita.
Pré-requisitos
Para Windows, Mac e Linux:
- Git
- Este tutorial exige que você execute o CLI do Azure localmente. Você deve ter uma versão recente do CLI do Azure instalada. Execute
az --versionpara encontrar a versão. Se você precisar instalar ou atualizar a CLI, consulte Instalar CLI do Azure.
Faça logon no Azure
Para fazer logon no Azure usando o CLI do Azure, insira:
az login
Criar um grupo de recursos e um cofre de chaves
Este início rápido usa um cofre de chaves do Azure já criado. Você pode criar um cofre de chaves seguindo as etapas nestes guias de início rápido:
- Início Rápido do CLI do Azure
- Introdução ao Azure PowerShell
- Guia de início rápido do Azure portal
Como alternativa, você pode executar esses comandos CLI do Azure ou Azure PowerShell.
Importante
Cada cofre de chaves deve ter um nome exclusivo. Substitua <vault-name> pelo nome do cofre de chaves nos exemplos a seguir.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Preencha seu cofre de chaves com um segredo
Vamos criar um segredo chamado mySecret, com um valor de Êxito! . Um segredo pode ser uma senha, um sql cadeia de conexão ou qualquer outra informação que você precise manter seguras e disponíveis para seu aplicativo.
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 chamada myVM usando um dos seguintes métodos:
| Linux | Windows |
|---|---|
| CLI do Azure | CLI do Azure |
| PowerShell | PowerShell |
| Azure portal | Portal do Azure |
Para criar uma VM linux usando o CLI do Azure, use o comando az vm create. O exemplo a seguir cria uma conta de usuário chamada azureuser. O parâmetro --generate-ssh-keys é usado para gerar automaticamente uma chave SSH e colocá-la no local de chave padrão ( ~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Observe o valor de publicIpAddress na saída.
Atribuir uma identidade à VM
Crie uma identidade atribuída pelo sistema para a máquina virtual usando o comando CLI do Azure az vm assign:
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Observe a identidade atribuída pelo 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 cofre de chaves por meio de Role-Based Controle de Acesso (RBAC), atribua uma função ao seu "Nome Principal do Usuário" (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> com seus valores reais. Se você usou um nome de grupo de recursos diferente, substitua "myResourceGroup" também. Seu UPN normalmente estará no formato de um endereço de email (por exemplo, username@domain.com).
Fazer login no VM
Para entrar na máquina virtual, siga as instruções em Conectar e entrar em uma máquina virtual Azure executando o Linux ou Conectar e entrar em uma máquina virtual Azure executando Windows.
Para fazer logon em uma VM do Linux, você pode usar o comando ssh com o <public-ip-address> determinado na etapa Criar uma máquina virtual :
ssh azureuser@<public-ip-address>
Instalar bibliotecas Python na VM
Na máquina virtual, instale as duas bibliotecas Python que usaremos em nosso script de Python: azure-keyvault-secrets e azure-identity.
Em uma VM do Linux, por exemplo, você pode instalá-las usando pip3:
pip3 install azure-keyvault-secrets
pip3 install azure-identity
Criar e editar o script de Python de exemplo
Na máquina virtual, crie um arquivo Python chamado sample.py. Edite o arquivo para conter o seguinte código, substituindo <vault-name> pelo nome do cofre de chaves:
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
key_vault_name = "<vault-name>"
key_vault_uri = f"https://{key_vault_name}.vault.azure.net"
secret_name = "mySecret"
credential = DefaultAzureCredential()
client = SecretClient(vault_url=key_vault_uri, credential=credential)
retrieved_secret = client.get_secret(secret_name)
print(f"The value of secret '{secret_name}' in '{key_vault_name}' is: '{retrieved_secret.value}'")
Executar o aplicativo de Python de exemplo
Execute sample.py. Se tudo correr bem, ele retornará o valor do seu segredo:
python3 sample.py
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
Limpar os recursos
Quando não forem mais necessários, exclua a máquina virtual e o cofre de chaves. Você pode fazer isso rapidamente apenas excluindo o grupo de recursos ao qual eles pertencem:
az group delete -g "myResourceGroup"