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.
Začněte s klientskou knihovnou spravovaného HSM Azure Key Vault pro JavaScript. Spravovaný HSM je plně spravovaná, vysoce dostupná cloudová služba určená pro jednoho nájemce, která umožňuje chránit kryptografické klíče pro cloudové aplikace s využitím ověřených HSM splňujících standard FIPS 140-3 úroveň 3. Další informace o spravovaném HSM najdete v přehledu.
V tomto rychlém startu se dozvíte, jak přistupovat ke klíčům spravovaného HSM a provádět kryptografické operace pomocí klientské knihovny JavaScriptu.
Spravované prostředky klientské knihovny HSM:
Referenční dokumentace k API | Zdrojový kód knihovny | Balíček (npm)
Předpoklady
- Předplatné Azure. Vytvořte si ho zdarma.
- Poskytnutý a aktivovaný spravovaný HSM. Viz Quickstart: Zřízení a aktivace spravovaného HSM pomocí Azure CLI.
- Klíč vytvořený ve spravovaném HSM. Viz Správa klíčů ve spravovaném HSM.
- Prostředek Azure se spravovanou identitou (například virtuálním počítačem, službou App Service nebo funkcí Azure) nebo Azure CLI pro místní vývoj.
- Spravovaná identita musí mít přiřazenou odpovídající místní roli RBAC spravovaného HSM. Viz Zabezpečený přístup ke spravovaným HSM.
Nastavení místního prostředí
Tento rychlý start používá knihovnu identit Azure s Azure CLI k ověření ve službách Azure. Vývojáři také můžou k ověření volání použít Visual Studio Code. Další informace najdete v tématu Ověření klienta pomocí klientské knihovny Azure Identity.
Přihlášení k Azure
Spuštěním az login příkazu se přihlaste:
az login
Vytvoření složky projektu a inicializace
Vytvořte složku projektu a přejděte na ni:
mkdir mhsm-js-app && cd mhsm-js-appInicializace projektu:
npm init -y
Instalace balíčků
Nainstalujte klientské knihovny Azure Identity a Azure Key Vault Keys.
npm install @azure/identity @azure/keyvault-keys
Vytvoření ukázkového kódu
Vytvořte soubor s názvem index.js s následujícím kódem. Nahraďte <hsm-name> názvem spravovaného HSM a <key-name> názvem existujícího klíče.
const { DefaultAzureCredential } = require("@azure/identity");
const { KeyClient, CryptographyClient } = require("@azure/keyvault-keys");
async function main() {
// Use DefaultAzureCredential for automatic credential selection
const credential = new DefaultAzureCredential();
// Connect to Managed HSM - replace with your HSM URI
const hsmUri = "https://<hsm-name>.managedhsm.azure.net";
const keyClient = new KeyClient(hsmUri, credential);
// Get a key reference
const keyName = "<key-name>";
console.log(`Retrieving key '${keyName}' from Managed HSM...`);
const key = await keyClient.getKey(keyName);
console.log(`Key retrieved. Key type: ${key.keyType}`);
// Perform cryptographic operations
const cryptoClient = new CryptographyClient(key, credential);
// Encrypt data
const plaintext = Buffer.from("Hello, Managed HSM!");
console.log(`\nOriginal text: ${plaintext.toString()}`);
const encryptResult = await cryptoClient.encrypt("RSA-OAEP-256", plaintext);
console.log(`Encrypted (base64): ${encryptResult.result.toString("base64").substring(0, 64)}...`);
// Decrypt data
const decryptResult = await cryptoClient.decrypt("RSA-OAEP-256", encryptResult.result);
console.log(`Decrypted text: ${decryptResult.result.toString()}`);
console.log("\nDone!");
}
main().catch((error) => {
console.error("An error occurred:", error);
process.exit(1);
});
Spuštění aplikace
Spusťte aplikaci:
node index.js
Měl by se zobrazit výstup podobný následujícímu:
Retrieving key 'myrsakey' from Managed HSM...
Key retrieved. Key type: RSA-HSM
Original text: Hello, Managed HSM!
Encrypted (base64): NWE4ZjNiMmMxZDRlNWY2YTdiOGM5ZDBlMWYyYTNiNGM...
Decrypted text: Hello, Managed HSM!
Done!
Vysvětlení kódu
Ověřování pomocí DefaultAzureCredential
DefaultAzureCredential automaticky vybere příslušné přihlašovací údaje na základě vašeho prostředí:
| Životní prostředí | Použité přihlašovací údaje |
|---|---|
| Virtuální počítače Azure, App Service, Azure Functions | Spravovaná identita přiřazená systémem nebo přiřazená uživatelem |
| Azure Kubernetes Service | Identita úloh |
| Místní vývoj | Azure CLI, Visual Studio nebo přihlašovací údaje VS Code |
| Kanály CI/CD | Federace identit pracovního zatížení nebo objekt služby |
Kontrola přihlašovacích údajů využívá tyto zdroje v pořadí:
- Proměnné prostředí
- Identita úloh
- Spravovaná identita
- Azure CLI
- Azure PowerShell
- Visual Studio / přihlašovací údaje VS Code
Pro produkční úlohy v Azure se důrazně doporučují spravované identity, protože zcela eliminují správu přihlašovacích údajů.
Klíčové operace
Třída KeyClient poskytuje metody pro:
- Vytvoření, získání, aktualizace a odstranění klíčů
- Výpis klíčů a verzí klíčů
- Zálohování a obnovení klíčů
Třída CryptographyClient poskytuje kryptografické operace:
- Šifrování a dešifrování dat
- Podepsání a ověření podpisů
- Zabalení a rozbalení klíčů
Přiřazení rolí ve spravovaném HSM
Aby vaše aplikace mohla přistupovat ke klíčům, přiřaďte správnou místní roli RBAC Managed HSM k vaší spravované identitě. Nahraďte hodnoty <vm-name>, <resource-group> a <hsm-name> skutečnými hodnotami.
# Get the principal ID of your managed identity
principalId=$(az vm identity show --name <vm-name> --resource-group <resource-group> --query principalId -o tsv)
# Assign the Crypto User role for key operations
az keyvault role assignment create \
--hsm-name <hsm-name> \
--role "Managed HSM Crypto User" \
--assignee $principalId \
--scope /keys
Další informace o rolích a oprávněních naleznete v vestavěné role místního RBAC pro spravované HSM.
Vyčistěte zdroje
Pokud už ji nepotřebujete, odstraňte skupinu prostředků a všechny související prostředky:
az group delete --name <resource-group>
Výstraha
Odstraněním skupiny prostředků se spravovaný HSM umístí do stavu měkkého odstranění. Spravovaný HSM bude nadále účtován, dokud se neodstraní. Viz Ochrana proti měkkému odstranění a zneužití spravovaného HSM
Další kroky
- Informace o zabezpečeném přístupu ke spravovaným HSM
- Konfigurace automatizované obměně klíčů
- Kontrola osvědčených postupů pro spravované HSM
- Informace o místních předdefinovaných rolích RBAC spravovaného HSM