Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Azure Key Vault helpt u bij het beveiligen van sleutels, geheimen en certificaten, zoals API-sleutels en databaseverbindingsreeksen.
In deze zelfstudie stelt u een Python toepassing in om informatie uit Azure Key Vault te lezen met behulp van een beheerde identiteit voor Azure resources. U leert het volgende:
- Maak een Key Vault.
- Een geheim opslaan in Key Vault
- Een Azure virtuele Linux-machine maken
- Een beheerde identiteit inschakelen voor de virtuele machine
- Verdeel de vereiste machtigingen voor de consoletoepassing om gegevens uit Key Vault te lezen
- Een geheim ophalen uit Key Vault
Lees Key Vault basisconcepten voordat u begint.
Als u geen Azure abonnement hebt, maakt u een free-account.
Vereiste voorwaarden
Voor Windows, Mac en Linux:
- Git
- Een huidige versie van de Azure CLI. Voer deze opdracht uit
az --versionom de geïnstalleerde versie te controleren.
Aanmelden bij Azure
Meld u aan bij Azure met de Azure CLI:
az login
Maak een resourcegroep en een sleutelkluis aan
In deze quickstart wordt een vooraf aangemaakte Azure-sleutelkluis gebruikt. U kunt een sleutelkluis maken door de stappen in deze quickstarts te volgen:
U kunt deze opdrachten ook uitvoeren via Azure CLI of Azure PowerShell.
Belangrijk
Elke sleutelkluis moet een unieke naam hebben. Vervang <vault-name> door de naam van uw sleutelkluis in de volgende voorbeelden.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Vul uw sleutelkluis met een geheim
We gaan een geheim maken met de naam mySecret en de waarde Success!. Een geheim kan een wachtwoord, een SQL-verbindingsreeks of andere informatie zijn die u nodig hebt om zowel veilig als beschikbaar te blijven voor uw toepassing.
Gebruik de volgende opdracht om een geheim toe te voegen aan uw zojuist gemaakte sleutelkluis:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Een virtuele machine maken
Maak een virtuele machine met de naam myVM met behulp van een van de volgende methoden:
| Linux | Windows |
|---|---|
| Azure CLI | Azure CLI |
| PowerShell | PowerShell |
| Azure-portal | Azure-portal |
Als u een Virtuele Linux-machine wilt maken met behulp van de Azure CLI, gebruikt u de opdracht az vm create. In het volgende voorbeeld wordt een gebruikersaccount met de naam azureuser toegevoegd. De parameter --generate-ssh-keys wordt gebruikt om automatisch een SSH-sleutel te genereren en deze te plaatsen in de standaardsleutellocatie (~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Noteer de waarde van publicIpAddress in de uitvoer.
Een identiteit toewijzen aan de virtuele machine
Maak een door het systeem toegewezen beheerde identiteit voor de virtuele machine met behulp van de opdracht az vm identity assign :
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Noteer de door het systeem toegewezen identiteit in de uitvoer:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Machtigingen toewijzen aan de VM-identiteit
Als u machtigingen wilt verkrijgen voor uw sleutelkluis via Role-Based Access Control (RBAC), wijst u een rol toe aan uw UPN (User Principal Name) met behulp van de Azure CLI-opdracht az-roltoewijzing maken.
az role assignment create --role "Key Vault Secrets User" --assignee "<upn>" --scope "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/<vault-name>"
Vervang , <upn>en <subscription-id> door <vault-name>uw werkelijke waarden. Als u een andere resourcegroepnaam hebt gebruikt, vervangt u myResourceGroup ook. Uw UPN heeft meestal de indeling van een e-mailadres (bijvoorbeeld username@domain.com).
Aanmelden bij de VM
Als u zich wilt aanmelden bij de virtuele machine, volgt u de instructies in Verbinding maken en meldt u zich aan bij een Azure virtuele machine met Linux of Verbinding maken en meldt u zich aan bij een Azure virtuele machine waarop Windows wordt uitgevoerd.
Als u zich wilt aanmelden bij een Linux-VM, gebruikt u ssh met de <public-ip-address> uit de stap Een virtuele machine maken:
ssh azureuser@<public-ip-address>
Python bibliotheken installeren op de VIRTUELE machine
Installeer op de VIRTUELE machine de twee Python bibliotheken die door het voorbeeldscript worden gebruikt: azure-keyvault-secrets en azure-identity.
Installeer deze op een Virtuele Linux-machine met pip3:
pip3 install azure-keyvault-secrets azure-identity
Het voorbeeldscript Python maken en bewerken
Maak op de virtuele machine een Python-bestand met de naam sample.py. Plak de volgende code in het bestand en vervang deze <vault-name> door de naam van uw sleutelkluis:
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}'")
De voorbeeld-Python-app uitvoeren
Voer sample.pyuit. Als alles correct is geconfigureerd, drukt de app de geheime waarde af:
python3 sample.py
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
De hulpbronnen opschonen
Wanneer u ze niet meer nodig hebt, verwijdert u de VIRTUELE machine en de sleutelkluis. De snelste manier is om de resourcegroep te verwijderen waartoe ze behoren:
az group delete -g "myResourceGroup"