Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Key Vault pomáhá chránit klíče, tajné kódy a certifikáty, jako jsou klíče rozhraní API a připojovací řetězce databáze.
V tomto kurzu nastavíte aplikaci Node.js pro čtení informací z Azure Key Vault pomocí spravované identity pro prostředky Azure. Naučíte se:
- Vytvořte trezor klíčů.
- Uložení tajného kódu do Key Vault
- Vytvoření virtuálního počítače Azure s Linuxem
- Umožněte spravovanou identitu pro virtuální počítač
- Udělte požadovaná oprávnění ke čtení dat z Key Vault konzolové aplikace.
- Načtení tajného kódu z Key Vault
Než začnete, přečtěte si základní koncepty Key Vault.
Pokud nemáte předplatné Azure, vytvořte si účet free.
Prerequisites
Pro Windows, Mac a Linux:
Přihlásit se do Azure
Přihlaste se k Azure pomocí Azure CLI:
az login
Vytvořte skupinu prostředků a trezor klíčů
V tomto rychlém startu se používá předem vytvořený trezor klíčů Azure. Pro vytvoření úložiště klíčů postupujte podle kroků uvedených v těchto rychlých úvodech.
- rychlý start Azure CLI
- Azure PowerShell průvodce rychlým startem
- rychlý průvodce portálem Azure
Případně můžete tyto příkazy Azure CLI spustit.
Important
Každý trezor klíčů musí mít jedinečný název. Nahraďte <vault-name> názvem trezoru klíčů v následujících příkladech.
az group create --name "myResourceGroup" -l "EastUS"
az keyvault create --name "<vault-name>" -g "myResourceGroup" --enable-rbac-authorization true
Naplňte svůj trezor klíčů tajemstvím.
Pojďme vytvořit tajný kód s názvem mySecret s hodnotou Success!. Tajným kódem může být heslo, připojovací řetězec SQL nebo jakékoli jiné informace, které potřebujete k zabezpečení a dostupnosti vaší aplikace.
K přidání tajného kódu do nově vytvořeného trezoru klíčů použijte následující příkaz:
az keyvault secret set --vault-name "<vault-name>" --name "mySecret" --value "Success!"
Vytvoření virtuálního počítače
Pomocí jedné z následujících metod vytvořte virtuální počítač myVM s názvem myVM :
| Linux | Windows |
|---|---|
| Azure CLI | Azure CLI |
| PowerShell | PowerShell |
| portál Azure | portál Azure |
Pokud chcete vytvořit virtuální počítač s Linuxem pomocí Azure CLI, použijte příkaz az vm create. Následující příklad přidá uživatelský účet s názvem azureuser. Parametr --generate-ssh-keys vygeneruje klíč SSH a uloží ho do výchozího umístění klíče (~/.ssh).
az vm create \
--resource-group <resource-group> \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys
Všimněte si hodnoty publicIpAddress ve výstupu.
Přiřazení identity k virtuálnímu počítači
Pomocí příkazu az vm identity assign vytvořte spravovanou identitu přiřazenou systémem pro virtuální počítač:
az vm identity assign --name "myVM" --resource-group "<resource-group>"
Všimněte si identity přiřazené systémem ve výstupu:
{
"systemAssignedIdentity": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"userAssignedIdentities": {}
}
Přiřazení oprávnění identitě virtuálního počítače
Přiřaďte spravované identitě virtuálního počítače roli Key Vault Secrets User v trezoru klíčů:
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>
Přihlášení k virtuálnímu počítači
Pokud se chcete přihlásit k virtuálnímu počítači, postupujte podle pokynů v části Připojení a přihlaste se k Azure virtuálnímu počítači s Linuxem nebo Připojením a přihlaste se k Azure virtuálnímu počítači se spuštěným Windows.
Pokud se chcete přihlásit k virtuálnímu počítači s ssh Linuxem, použijte <public-ip-address> z kroku Vytvoření virtuálního počítače:
ssh azureuser@<public-ip-address>
Instalace Node.js a knihoven npm na virtuální počítač
Na virtuálním počítači nainstalujte dvě knihovny npm, které ukázkový skript používá: @azure/keyvault-secrets a @azure/identity.
V terminálu SSH nainstalujte Node.js a npm:
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && \ sudo apt-get install -y nodejsVytvořte adresář aplikace a inicializujete balíček Node.js:
mkdir app && cd app && npm init -yNainstalujte balíčky Azure pomocí
npm:npm install @azure/keyvault-secrets @azure/identity
Vytvoření a úprava ukázkového souboru JavaScriptu
Na virtuálním počítači v
appadresáři vytvořte soubor JavaScriptu s názvemindex.js:touch index.jsOtevřete soubor v textovém editoru Nano :
nano index.jsDo editoru vložte následující kód a nahraďte
<vault-name>ho názvem vašeho trezoru klíčů:// 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); })Uložte soubor pomocí ctrl+X.
Na výzvu
Save modified buffer?zadejte y.Na příkazovém
File Name to Write: index.jsřádku stiskněte Enter.
Spuštění ukázkové aplikace Node.js
Spusťte index.js. Pokud je všechno správně nakonfigurované, aplikace vytiskne hodnotu tajného kódu:
node index.js
The value of secret 'mySecret' in '<vault-name>' is: 'Success!'
Upravte zdroje
Pokud je už nepotřebujete, odstraňte virtuální počítač a trezor klíčů. Nejrychlejším způsobem je odstranit skupinu prostředků, do které patří:
az group delete -g "myResourceGroup"