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 Node.js-alkalmazást, hogy az Azure-erőforrásokhoz készült felügyelt identitás használatával információkat olvasson ki az Azure Key Vaultból. 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.
Prerequisites
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 parancsokat.
Important
Minden kulcstartónak egyedi névvel kell rendelkeznie. Cserélje le <vault-name> a kulcstartó tároló 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 történő létrehozásához használja az az vm create parancsot. Az alábbi példa egy felhasználói fiókot azureuserad hozzá. A --generate-ssh-keys paraméter létrehoz egy SSH-kulcsot, és az alapértelmezett kulcshelyen (~/.ssh) tárolja.
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
Adja meg a virtuális gép felügyelt identitásának a key vault Key Vault Titkos kulcsok felhasználói szerepkörét:
az role assignment create --role "Key Vault Secrets User" --assignee "<system-assigned-identity>" --scope /subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.KeyVault/vaults/<vault-name>
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>
Node.js- és npm-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 npm-kódtárat: @azure/keyvault-secrets és @azure/identity.
Az SSH-terminálon telepítse a Node.js és az npm elemet:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && \ sudo apt-get install -y nodejsHozzon létre egy alkalmazáskönyvtárat, és inicializálja a Node.js csomagot:
mkdir app && cd app && npm init -yTelepítse a Azure csomagokat a következővel
npm:npm install @azure/keyvault-secrets @azure/identity
A JavaScript-mintafájl létrehozása és szerkesztése
A virtuális gépen, a
appkönyvtárban hozzon létre egyindex.jsnevű JavaScript-fájlt:touch index.jsNyissa meg a fájlt a Nano szövegszerkesztőjével:
nano index.jsIllessze be a következő kódot a szerkesztőbe, és a
<vault-name>helyére írja be a kulcstartó nevét:// index.js const { SecretClient } = require("@azure/keyvault-secrets"); const { DefaultAzureCredential } = require("@azure/identity"); // Your Azure Key Vault name and secret name const keyVaultName = "<vault-name>"; const keyVaultUri = `https://${keyVaultName}.vault.azure.net`; const secretName = "mySecret"; // Authenticate to Azure const credential = new DefaultAzureCredential(); const client = new SecretClient(keyVaultUri, credential); // Get Secret with Azure SDK for JS const getSecret = async (secretName) => { return (await client.getSecret(secretName)).value; } getSecret(secretName).then(secretValue => { console.log(`The value of secret '${secretName}' in '${keyVaultName}' is: '${secretValue}'`); }).catch(err => { console.log(err); })Mentse a fájlt a CtrlX+.
A(z)
Save modified buffer?promptnál írja be a(z) y értéket.A parancssorban nyomja le az
File Name to Write: index.jsEnter billentyűt.
Node.js mintaalkalmazás futtatása
Futtassa a index.js programot. Ha minden megfelelően van konfigurálva, az alkalmazás kinyomtatja a titkos értéket:
node index.js
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"