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.
Az Azure Key Vault segít megvédeni a kulcsokat, titkokat é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 származó információkat az Azure-erőforrások felügyelt identitásainak használatával olvassa be. Megtudhatja, hogyan:
- Kulcstároló létrehozása
- Titkos kulcs 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 konzolalkalmazáshoz szükséges engedélyeket az adatok Key Vaultból való beolvasásához
- Egy titok lekérése a Kulcs Vaultról
Mielőtt hozzákezdene, olvassa el a Key Vault alapfogalmait.
Ha nem rendelkezik Azure-előfizetéssel, hozzon létre egy ingyenes fiókot.
Előfeltételek
Windows, Mac és Linux esetén:
- Git
- Ez az oktatóanyag megköveteli az Azure CLI helyi futtatását. Az Azure CLI 2.0.4-es vagy újabb verziójával kell rendelkeznie. A verzió azonosításához futtassa a következőt:
az --version. Ha telepíteni vagy frissíteni szeretné a parancssori felületet: Az Azure CLI 2.0 telepítése.
Jelentkezzen be az Azure-ba
Ha az Azure-ba az Azure CLI használatával szeretne bejelentkezni, írja be a következőt:
az login
Erőforráscsoport és kulcstár létrehozása
Ez a gyorsútmutató egy előre létrehozott Azure key vaultot 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 az Azure CLI- vagy Azure PowerShell-parancsokat.
Fontos
Minden kulcstartónak egyedi névvel kell rendelkeznie. Cserélje le a következő példákban a <your-unique-keyvault-name> szöveget a kulcsvalutájának nevére.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<your-unique-keyvault-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 sztring 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 "<your-unique-keyvault-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 CLI | Azure CLI |
| PowerShell | PowerShell |
| Azure Portál | Az Azure Portal |
Linux rendszerű virtuális gép Azure CLI-vel való létrehozásához használja az az vm create 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 myResourceGroup \
--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 identitást a virtuális géphez az Azure CLI az vm identity assign paranccsal:
az vm identity assign --name "myVM" --resource-group "myResourceGroup"
Figyelje meg a rendszer által hozzárendelt identitást, amely az alábbi kódban jelenik meg. Az előző parancs kimenete a következő:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Engedélyek hozzárendelése a virtuálisgép-identitáshoz
Ahhoz, hogy szerepköralapú hozzáférés-vezérléssel (RBAC) engedélyeket szerezzen a kulcstartóhoz, rendeljen egy szerepkört a "Felhasználói főnév" (UPN) használatával a "az role assignment create" Azure CLI-paranccsal.
az role assignment create --role "Key Vault Secrets User" --assignee "<upn>" --scope "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.KeyVault/vaults/<your-unique-keyvault-name>"
Cserélje le <upn>, <subscription-id>, <resource-group-name> és <your-unique-keyvault-name> elemeket a tényleges értékekre. 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-beli virtuális gépre, és jelentkezzen be egy Windows rendszerű Azure-beli virtuális gépre.
Linux rendszerű virtuális gépre való bejelentkezéshez használja az ssh parancsot a <létrehozási lépésben megadott nyilvános IP-cím> használatával:
ssh azureuser@<PublicIpAddress>
Python-kódtárak telepítése a virtuális gépre
A virtuális gépen telepítse a Python-szkriptben használt két Python-kódtárat: azure-keyvault-secrets és azure-identity.
Linux rendszerű virtuális gépeken például az alábbiakat pip3telepítheti:
pip3 install azure-keyvault-secrets
pip3 install azure-identity
Python-példaszkript létrehozása és szerkesztése
A virtuális gépen hozzon létre egy Python-fájlt sample.py néven. Szerkessze a fájlt úgy, hogy az tartalmazza a következő kódot, és cserélje le <az-egyedi-kulcstár-nevedet> a kulcstár nevére:
from azure.keyvault.secrets import SecretClient
from azure.identity import DefaultAzureCredential
key_vault_name = "<your-unique-keyvault-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 Python-mintaalkalmazás futtatása
Végül futtassa a sample.py. Ha minden jól ment, akkor a titkos kód értékét kell visszaadnia:
python3 sample.py
The value of secret 'mySecret' in '<your-unique-keyvault-name>' is: 'Success!'
Erőforrások tisztítása
Ha már nincs rájuk szükség, törölje a virtuális gépet és a kulcstartót. Gyorsan elvégezhető annak az erőforráscsoportnak a törlésével, amelyhez tartoznak:
az group delete -g myResourceGroup