Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Azure Key Vault hjälper dig att skydda nycklar, hemligheter och certifikat, till exempel API-nycklar och databasanslutningssträngar.
I den här självstudien konfigurerar du ett Node.js program för att läsa information från Azure Key Vault med hjälp av en hanterad identitet för Azure resurser. Du lär dig att:
- Skapa ett nyckelvalv
- Lagra en hemlighet i Key Vault
- Skapa en Azure virtuell Linux-dator
- Aktivera en hanterad identitet för den virtuella datorn
- Bevilja de behörigheter som krävs för konsolprogrammet för att läsa data från Key Vault
- Hämta en hemlighet från Key Vault
Innan du börjar läser du Key Vault grundläggande begrepp.
Om du inte har en Azure prenumeration skapar du ett free-konto.
Prerequisites
För Windows, Mac och Linux:
- Git
- En aktuell version av Azure CLI. Kör
az --versionför att kontrollera den installerade versionen.
Logga in på Azure
Logga in på Azure med Azure CLI:
az login
Skapa en resursgrupp och ett nyckelvalv
Den här snabbstarten använder ett förskapat Azure nyckelvalv. Du kan skapa ett nyckelvalv genom att följa stegen i dessa snabbguider:
- Azure CLI snabbstart
- Azure PowerShell snabbstart
- snabbstart för Azure portal
Du kan också köra dessa Azure CLI kommandon.
Important
Varje nyckelvalv måste ha ett unikt namn. Ersätt <vault-name> med namnet på ditt nyckelvalv i följande exempel.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Fyll i ditt nyckelvalv med en hemlighet
Nu ska vi skapa en hemlighet med namnet mySecret med värdet Success!. En hemlighet kan vara ett lösenord, en SQL-reťazec pripojenia eller annan information som du behöver för att hålla både säker och tillgänglig för ditt program.
Om du vill lägga till en hemlighet i ditt nyligen skapade nyckelvalv använder du följande kommando:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Skapa en virtuell dator
Skapa en virtuell dator med namnet myVM med någon av följande metoder:
| Linux | Windows |
|---|---|
| Azure CLI | Azure CLI |
| PowerShell | PowerShell |
| Azure Portal | Azure Portal |
Om du vill skapa en virtuell Linux-dator med hjälp av Azure CLI använder du kommandot az vm create. I följande exempel läggs ett användarkonto med namnet azureuser. Parametern --generate-ssh-keys genererar en SSH-nyckel och lagrar den på standardnyckelplatsen (~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Observera värdet publicIpAddress i resultatet.
Tilldela en identitet till den virtuella datorn
Skapa en systemtilldelad hanterad identitet för den virtuella datorn med kommandot az vm identity assign :
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Observera den systemtilldelade identiteten i utdata:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Tilldela behörigheter till den virtuella datorns identitet
Ge den virtuella datorns hanterade identitet rollen Key Vault Secrets User för nyckelvalvet:
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>
Logga in på den virtuella datorn
Om du vill logga in på den virtuella datorn följer du anvisningarna i Anslut och loggar in på en Azure virtuell dator som kör Linux eller Anslut och loggar in på en Azure virtuell dator som kör Windows.
Om du vill logga in på en virtuell Linux-dator använder du ssh från <public-ip-address> steget Skapa en virtuell dator :
ssh azureuser@<public-ip-address>
Installera Node.js- och npm-bibliotek på den virtuella datorn
Installera de två npm-bibliotek som exempelskriptet använder på den virtuella datorn: @azure/keyvault-secrets och @azure/identity.
Installera Node.js och npm i SSH-terminalen:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && \ sudo apt-get install -y nodejsSkapa en appkatalog och initiera Node.js-paketet:
mkdir app && cd app && npm init -yInstallera Azure-paketen med
npm:npm install @azure/keyvault-secrets @azure/identity
Skapa och redigera JavaScript-exempelfilen
På den virtuella datorn i
appkatalogen skapar du en JavaScript-fil med namnetindex.js:touch index.jsÖppna filen med Nano-textredigeraren :
nano index.jsKlistra in följande kod i redigeraren och
<vault-name>ersätt med ditt nyckelvalvnamn:// 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); })Spara filen med Ctrl+X.
Vid prompten
Save modified buffer?skriver du y.Vid
File Name to Write: index.js-prompten trycker du på Enter.
Kör exempelappen Node.js
Kör index.js. Om allt är korrekt konfigurerat skriver appen ut det hemliga värdet:
node index.js
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
Rensa resurser
När du inte längre behöver dem tar du bort den virtuella datorn och nyckelvalvet. Det snabbaste sättet är att ta bort den resursgrupp som de tillhör:
az group delete -g "myResourceGroup"