Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Azure Key Vault segít megvédeni a kulcsokat, titkos kulcsokat és tanúsítványokat, például az API-kulcsokat és az adatbázis-kapcsolati sztringeket.
Ebben az oktatóanyagban beállít egy Python-alkalmazást, amely az Azure Key Vaultból olvas információkat egy Azure-erőforrásokhoz készült felügyelt identitás használatával. Megtudhatja, hogyan:
- Kulcstároló létrehozása
- Egy titok tárolása a Key Vaultban
- Azure Linux rendszerű virtuális gép létrehozása
- Felügyelt identitás engedélyezése a virtuális géphez
- Adja meg a szükséges engedélyeket a konzolalkalmazás számára, hogy adatokat olvashasson a Key Vaultból.
- Titok lekérése a Key Vaultból
A kezdés előtt olvassa el Key Vault alapfogalmakat.
Ha nem rendelkezik Azure előfizetéssel, hozzon létre egy felszabadító fiókot.
Előfeltételek
Windows, Mac és Linux esetén:
- Git
- A Azure CLI aktuális verziója. A telepített verzió ellenőrzéséhez futtassa a(z)
az --versionparancsot.
Bejelentkezés az Azure-ba
Jelentkezzen be az Azure-ba az Azure CLI segítségével:
az login
Erőforráscsoport és kulcstár létrehozása
Ez a gyorsútmutató egy előre létrehozott Azure kulcstárat használ. Kulcstárt az alábbi gyors útmutatók lépéseinek követésével hozhat létre:
Másik lehetőségként futtathatja ezeket a Azure CLI vagy Azure PowerShell parancsokat.
Fontos
Minden kulcstartónak egyedi névvel kell rendelkeznie. Cserélje le a(z) <vault-name> kulcstár nevét az alábbi példákban.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Kulcstár feltöltése titkos beállítással
Hozzunk létre egy mySecret nevű titkos kulcsot, amelynek értéke siker!. A titkos kód lehet jelszó, SQL-kapcsolati karakterlánc vagy bármilyen más információ, amelyet biztonságosan és az alkalmazás számára elérhetővé kell tenni.
Ha titkos kulcsot szeretne hozzáadni az újonnan létrehozott kulcstartóhoz, használja a következő parancsot:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Virtuális gép létrehozása
Hozzon létre egy myVM nevű virtuális gépet az alábbi módszerek egyikével:
| Linux | Windows |
|---|---|
| Azure parancssori felület | Azure parancssori felület |
| PowerShell | PowerShell |
| Azure portál | Azure portál |
Linux rendszerű virtuális gép Azure CLI használatával való létrehozásához használja a az virtuális gép létrehozása parancsot. Az alábbi példa egy azureuser nevű felhasználói fiókot ad hozzá. A --generate-ssh-keys paraméter automatikusan létrehoz egy SSH-kulcsot, és az alapértelmezett kulcshelyre helyezi (~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Jegyezze fel a kimenet értékét publicIpAddress .
Identitás hozzárendelése a virtuális géphez
Hozzon létre egy rendszer által hozzárendelt felügyelt identitást a virtuális gép számára az az vm identity assign paranccsal:
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Figyelje meg a rendszer által hozzárendelt identitást a kimenetben:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Engedélyek hozzárendelése a virtuálisgép-identitáshoz
Ha szerepkör alapú hozzáférés-vezérlés (RBAC) segítségével szeretne engedélyeket szerezni a kulcstartóhoz, rendelje hozzá a szerepkört az "User Principal Name" (UPN) használatával az Azure CLI parancs az role assignment create segítségével.
az role assignment create --role "Key Vault Secrets User" --assignee "<upn>" --scope "/subscriptions/<subscription-id>/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/<vault-name>"
Cserélje le <upn>-t, <subscription-id>-t és <vault-name>-t a tényleges értékekre. Ha más erőforráscsoportnevet használt, cserélje le a "myResourceGroup" nevet is. Az UPN általában egy e-mail-cím (pl. username@domain.com) formátumban lesz.
Bejelentkezés a virtuális gépre
A virtuális gépre való bejelentkezéshez kövesse a Connectben található utasításokat, és jelentkezzen be egy Linux vagy Connect rendszert futtató Azure virtuális gépre, és jelentkezzen be egy Azure Windows futó virtuális gépre.
Linux rendszerű virtuális gépre való bejelentkezéshez használja ssh a <public-ip-address>Virtuális gép létrehozása lépésben:
ssh azureuser@<public-ip-address>
Python kódtárak telepítése a virtuális gépen
A virtuális gépen telepítse a mintaszkript által használt két Python kódtárat: azure-keyvault-secrets ésazure-identity.
Linux rendszerű virtuális gépen telepítse őket a következővel pip3:
pip3 install azure-keyvault-secrets azure-identity
A minta Python szkript létrehozása és szerkesztése
A virtuális gépen hozzon létre egy Python nevű fájltsample.py. Illessze be a következő kódot a fájlba, és cserélje le a(z) <vault-name> elemet a kulcstartó nevére:
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}'")
A minta Python alkalmazás futtatása
Futtassa a sample.py programot. Ha minden megfelelően van konfigurálva, az alkalmazás kinyomtatja a titkos értéket:
python3 sample.py
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
Erőforrások tisztítása
Ha már nincs rájuk szüksége, törölje a virtuális gépet és a kulcstartót. A leggyorsabb módszer az erőforráscsoport törlése, amelyhez tartoznak:
az group delete -g "myResourceGroup"