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.
Kezdjen a Python Azure Key Vault felügyelt HSM ügyféltár használatával. A felügyelt HSM egy teljes körűen felügyelt, magas rendelkezésre állású, egybérlős, szabványoknak megfelelő felhőszolgáltatás, amely lehetővé teszi a titkosítási kulcsok védelmét a felhőalkalmazások számára a FIPS 140-3 3. szintű hitelesített HSM-ekkel. A felügyelt HSM-ről további információt az áttekintésben talál.
Ebben a rövid útmutatóban megtudhatja, hogyan érheti el és hajthatja végre a titkosítási műveleteket egy felügyelt HSM kulcsaiban az Python ügyfélkódtár használatával.
Felügyelt HSM-ügyfélkódtár erőforrásai:
API referenciadokumentáció | Library forráskód | Package (PyPI)
Előfeltételek
- Egy Azure előfizetés. Készíts egyet ingyen.
- Kiépített és aktivált felügyelt hardveralapú biztonsági modul (HSM). Lásd: Gyorsindítás: Felügyelt HSM létrehozása és aktiválása az Azure CLI használatával.
- A felügyelt HSM-ben létrehozott kulcs. Lásd: Kulcsok kezelése felügyelt HSM-ben.
- Felügyelt identitással (például virtuális gép, App Service vagy Azure függvény) rendelkező Azure erőforrás vagy Azure CLI helyi fejlesztéshez.
- A felügyelt identitáshoz hozzá kell rendelni a megfelelő felügyelt HSM helyi RBAC-szerepkört. Lásd : Biztonságos hozzáférés a felügyelt HSM-ekhez.
A helyi környezet beállítása
Ez a rövid útmutató az Azure Identity könyvtárat használja az Azure CLI-vel az Azure szolgáltatások hitelesítéséhez. A fejlesztők Visual Studio Code is használhatják hívásaik hitelesítéséhez. További információ: A Azure Identity-ügyfélkódtár használatával történő hitelesítése.
Bejelentkezés a Azure
A bejelentkezéshez futtassa a az login parancsot:
az login
Projektmappa és virtuális környezet létrehozása
Hozzon létre egy projektmappát, és navigáljon hozzá:
mkdir mhsm-python-app && cd mhsm-python-appVirtuális környezet létrehozása és aktiválása:
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
A csomagok telepítése
Telepítse a Azure Identitás és Key Vault Kulcsok ügyfélkódtárakat:
pip install azure-identity azure-keyvault-keys
A mintakód létrehozása
Hozzon létre egy fájlt mhsm_keys.py az alábbi kóddal. Cserélje le a <hsm-name> kifejezést a felügyelt HSM nevére, és a <key-name> kifejezést egy meglévő kulcs nevére.
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!")
Az alkalmazás futtatása
Futtassa az alkalmazást:
python mhsm_keys.py
A következőhöz hasonló kimenetnek kell megjelennie:
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!
A kód értelmezése
Hitelesítés DefaultAzureCredential használatával
DefaultAzureCredential a környezet alapján automatikusan kiválasztja a megfelelő hitelesítő adatokat:
| Környezet | Használt hitelesítő adatok |
|---|---|
| Azure virtuális gépek, App Service, Funkciók | Rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitás |
| Azure Kubernetes Service | Munkaterhelés-azonosság |
| Helyi fejlesztés | Azure CLI, Visual Studio vagy VS Code hitelesítő adatai |
| CI/CD csővezetékek | Számítási feladat identitásának összevonása vagy szolgáltatásnév |
A hitelesítési folyamat a forrásokat a következő sorrendben ellenőrzi:
- Környezeti változók
- Munkaterhelés-azonosság
- Felügyelt identitás
- Azure CLI
- Azure PowerShell
- Visual Studio/ VS Code hitelesítő adatai
A Azure éles számítási feladatai esetében erősen ajánlott a felügyelt identitások használata, mert teljesen megszüntetik a hitelesítő adatok kezelését.
Kulcsműveletek
Az KeyClient osztály a következő módszereket kínálja:
- Kulcsok létrehozása, lekérése, frissítése és törlése
- Kulcsok és kulcsverziók listázása
- Kulcsok biztonsági mentése és visszaállítása
Az CryptographyClient osztály titkosítási műveleteket biztosít:
- Adatok titkosítása és visszafejtése
- Aláírások aláírása és ellenőrzése
- Kulcsok csomagolása és kibontása
Felügyelt HSM szerepkörök hozzárendelése
Ahhoz, hogy az alkalmazás hozzáférhessen a kulcsokhoz, rendelje hozzá a megfelelő felügyelt HSM helyi RBAC-szerepkört a felügyelt identitáshoz. Cserélje le <vm-name>-t, <resource-group>-t és <hsm-name>-t a tényleges értékekre.
# 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
További információt a szerepkörökről és engedélyekről a felügyelt HSM helyi RBAC beépített szerepkörei című dokumentumban talál.
Erőforrások tisztítása
Ha már nincs rá szükség, törölje az erőforráscsoportot és az összes kapcsolódó erőforrást:
az group delete --name <resource-group>
Figyelmeztetés
Az erőforráscsoport törlésével a felügyelt HSM helyreállíthatóan törölt állapotba kerül. A felügyelt HSM számlázása a végleges törléséig folytatódik. Lásd: A Managed HSM lágy törlése és a törlés elleni védelem
Következő lépések
- Tudnivalók a felügyelt HSM-ekhez való biztonságos hozzáférésről
- Automatikus kulcsforgatás konfigurálása
- A felügyelt HSM ajánlott eljárásainak áttekintése
- Tudnivalók a felügyelt HSM helyi RBAC beépített szerepköreiről