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áme s klientskou knihovnou Azure Key Vault Managed HSM pro Python 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 Python.
Spravované prostředky klientské knihovny HSM:
Referenční dokumentace k API | Břery zdrojový kód | Package (PyPI)
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 virtuálního prostředí
Vytvořte složku projektu a přejděte na ni:
mkdir mhsm-python-app && cd mhsm-python-appVytvoření a aktivace virtuálního prostředí:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
Instalace balíčků
Nainstalujte klientské knihovny Azure Identity a Azure Key Vault Keys.
pip install azure-identity azure-keyvault-keys
Vytvoření ukázkového kódu
Vytvořte soubor s názvem mhsm_keys.py 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.
from azure.identity import DefaultAzureCredential
from azure.keyvault.keys import KeyClient
from azure.keyvault.keys.crypto import CryptographyClient, EncryptionAlgorithm
# Use DefaultAzureCredential for automatic credential selection
credential = DefaultAzureCredential()
# Connect to Managed HSM - replace with your HSM URI
hsm_uri = "https://<hsm-name>.managedhsm.azure.net"
key_client = KeyClient(vault_url=hsm_uri, credential=credential)
# Get a key reference
key_name = "<key-name>"
print(f"Retrieving key '{key_name}' from Managed HSM...")
key = key_client.get_key(key_name)
print(f"Key retrieved. Key type: {key.key_type}")
# Perform cryptographic operations
crypto_client = CryptographyClient(key, credential)
# Encrypt data
plaintext = b"Hello, Managed HSM!"
print(f"\nOriginal text: {plaintext.decode()}")
encrypt_result = crypto_client.encrypt(EncryptionAlgorithm.rsa_oaep_256, plaintext)
print(f"Encrypted (hex): {encrypt_result.ciphertext.hex()[:64]}...")
# Decrypt data
decrypt_result = crypto_client.decrypt(EncryptionAlgorithm.rsa_oaep_256, encrypt_result.ciphertext)
print(f"Decrypted text: {decrypt_result.plaintext.decode()}")
print("\nDone!")
Spuštění aplikace
Spusťte aplikaci:
python mhsm_keys.py
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 (hex): 5a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c...
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 |
|---|---|
| Azure VMs, App Service, 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