Megosztás a következőn keresztül:


Felügyelt HSM-ekhez való biztonságos hozzáférés

Az Azure Key Vault felügyelt HSM egy felhőszolgáltatás, amely védi a titkosítási kulcsokat. Mivel ezek az adatok bizalmasak és üzleti szempontból kritikus fontosságúak, a felügyelt HSM-ekhez való hozzáférést úgy kell biztonságossá tenni, hogy csak a jogosult alkalmazások és felhasználók férhetnek hozzá. Ez a cikk áttekintést nyújt a felügyelt HSM hozzáférés-vezérlési modelljéről. Ismerteti a hitelesítést és az engedélyezést, valamint ismerteti a felügyelt HSM-ekhez való hozzáférés biztonságossá tételét.

Ez az oktatóanyag egy egyszerű példát mutat be, amely bemutatja, hogyan lehet elkülöníteni a feladatokat és a hozzáférés-vezérlést az Azure RBAC és a felügyelt HSM helyi RBAC használatával. A felügyelt HSM-hozzáférés-vezérlésről a felügyelt HSM-hozzáférés-vezérlési modellről olvashat.

Előfeltételek

A cikk lépéseinek elvégzéséhez a következő elemeket kell tartalmaznia:

Azure Cloud Shell

Az Azure által üzemeltetett Azure Cloud Shell egy interaktív felület, amelyet a böngészőből használhat. A Bash vagy a PowerShell segítségével is használhatja a Cloud Shellt az Azure-szolgáltatásokhoz. A Cloud Shell előre telepített parancsaival futtathatja a jelen cikkben szereplő kódot anélkül, hogy bármit telepítenie kellene a helyi környezetben.

Az Azure Cloud Shell indítása:

Lehetőség Példa/hivatkozás
Válassza a Kipróbálás lehetőséget egy kód vagy parancsblokk jobb felső sarkában. A Kipróbálás lehetőség választása nem másolja automatikusan a kódot vagy a parancsot a Cloud Shellbe. Képernyőkép az Azure Cloud Shell kipróbálásának példájáról.
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. Gomb az Azure Cloud Shell elindításához.
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. Képernyőkép az Azure Portal Cloud Shell gombjáról

Az Azure Cloud Shell használata:

  1. Indítsa el a Cloud Shellt.

  2. A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).

  3. Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+V billentyűkombinációval+, vagy a Cmd+Shift+V macOS rendszeren való kiválasztásával.

  4. A kód vagy parancs futtatásához válassza az Enter lehetőséget .

Bejelentkezés az Azure-ba

Ha be szeretne jelentkezni az Azure-ba a parancssori felülettel, írja be a következőt:

az login

A cli-n keresztüli bejelentkezési lehetőségekről további információt az Azure CLI-vel való bejelentkezéssel kapcsolatban talál .

Példa

Ebben a példában egy olyan alkalmazást fejlesztünk, amely RSA 2048 bites kulcsot használ az aláírási műveletekhez. Az alkalmazás felügyelt identitással rendelkező Azure-beli virtuális gépen (VM-ben) fut. Az aláíráshoz használt RSA-kulcsot a felügyelt HSM tárolja.

Az alkalmazás kezelését, üzembe helyezését és naplózását végző alábbi szerepköröket azonosítottuk:

  • Biztonsági csapat: A KSH irodájának informatikai személyzete (biztonsági igazgató) vagy hasonló közreműködők. A kulcsok megfelelő megőrzéséért a biztonsági csapat felel. Az aláíráshoz használt RSA- vagy EC-kulcsok, az adattitkosításhoz pedig RSA- vagy AES-kulcsok.
  • Fejlesztők és operátorok: Az alkalmazást fejlesztő és az Azure-ban üzembe helyező munkatársak. A csapat tagjai nem részei a biztonsági személyzetnek. Nem férhetnek hozzá bizalmas adatokhoz, például RSA-kulcsokhoz. Csak az általuk telepített alkalmazásnak kell hozzáférnie ezekhez a bizalmas adatokhoz.
  • Auditorok: Ez a szerepkör azoknak a közreműködőknek szól, akik nem tagjai a fejlesztési vagy az általános informatikai személyzetnek. Ellenőrzik a tanúsítványok, kulcsok és titkos kódok használatát és karbantartását a biztonsági szabványoknak való megfelelés biztosítása érdekében.

Van egy másik szerepkör, amely kívül esik az alkalmazás hatókörén: az előfizetés (vagy erőforráscsoport) rendszergazdája. Az előfizetés rendszergazdája beállítja a kezdeti hozzáférési engedélyeket a biztonsági csapat számára. Hozzáférést biztosítanak a biztonsági csapatnak egy olyan erőforráscsoport használatával, amely rendelkezik az alkalmazás által igényelt erőforrásokkal.

A szerepköreinkhez a következő műveleteket kell engedélyezni:

Biztonsági csapat

  • Hozza létre a felügyelt HSM-et.
  • A felügyelt HSM biztonsági tartomány letöltése (vészhelyreállításhoz)
  • Kapcsolja be a naplózást.
  • Kulcsok létrehozása vagy importálása
  • Hozza létre a felügyelt HSM-biztonsági mentéseket vészhelyreállításhoz.
  • Állítsa be a felügyelt HSM helyi RBAC-t, hogy engedélyeket adjon a felhasználóknak és alkalmazásoknak adott műveletekhez.
  • A kulcsokat rendszeresen pöngesse.

Fejlesztők és operátorok

  • Kérje le az aláíráshoz használt RSA-kulcsot (kulcs URI) a biztonsági csapattól.
  • A kulcshoz programozott módon hozzáférő alkalmazás fejlesztése és üzembe helyezése.

Ellenőrök

  • A kulcsok lejárati dátumának áttekintése annak ellenőrzéséhez, hogy a kulcsok naprakészek-e
  • Szerepkör-hozzárendelések monitorozása annak biztosítása érdekében, hogy a kulcsokat csak a jogosult felhasználók/alkalmazások érhessék el
  • Tekintse át a felügyelt HSM-naplókat, és győződjön meg arról, hogy a kulcsok megfelelő használata megfelel az adatbiztonsági szabványoknak.

Az alábbi táblázat összefoglalja a csapatoknak és erőforrásoknak a felügyelt HSM eléréséhez szükséges szerepkör-hozzárendeléseket.

Szerepkör Felügyeleti sík szerepköre Adatsík szerepköre
Biztonsági csapat Felügyelt HSM-közreműködő Felügyeleti HSM rendszergazdája
Fejlesztők és üzemeltetők Egyik sem Egyik sem
Ellenőrök Egyik sem Felügyelt HSM Crypto Auditor
Az alkalmazás által használt virtuális gép felügyelt azonosítása Egyik sem Felügyelt HSM-titkosítási felhasználó
Az alkalmazás által használt Tárfiók felügyelt identitása Egyik sem Felügyelt HSM-szolgáltatástitkosítás

A három csapatszerepkörnek más erőforrásokhoz és felügyelt HSM-engedélyekhez is hozzá kell férnie. A virtuális gépek (vagy a Azure-alkalmazás Szolgáltatás Web Apps szolgáltatásának) üzembe helyezéséhez a fejlesztőknek és az operátoroknak hozzá kell Contributor férnie ezekhez az erőforrástípusokhoz. Az auditoroknak olvasási hozzáférésre van szükségük ahhoz a Tárfiókhoz, ahol a felügyelt HSM-naplók vannak tárolva.

Felügyeletisík-szerepkörök (Azure RBAC) hozzárendeléséhez használhatja az Azure Portalt vagy bármely más felügyeleti felületet, például az Azure CLI-t vagy az Azure PowerShellt. Felügyelt HSM-adatsík-szerepkörök hozzárendeléséhez az Azure CLI-t kell használnia. A felügyeletisík-szerepkörökről további információt az Azure beépített szerepköreivel kapcsolatban talál. A felügyelt HSM-adatsík szerepköreivel kapcsolatos további információkért lásd a helyi RBAC beépített szerepköreit a felügyelt HSM-hez.

Az ebben a szakaszban található Azure CLI-kódrészletek a következő feltételezésekkel készültek:

  • A Microsoft Entra rendszergazdája biztonsági csoportokat hozott létre, amelyek a következő három szerepkört képviselik: Contoso Security Team, Contoso App DevOps és Contoso App Auditor. A rendszergazda felhasználókat adott hozzá a megfelelő csoportokhoz.
  • Minden erőforrás a ContosoAppRG erőforráscsoportban található.
  • A felügyelt HSM-naplókat a contosologstorage tárfiók tárolja.
  • A ContosoMHSM által felügyelt HSM és a contosologstorage tárfiók ugyanabban az Azure-helyen található.

Az előfizetés rendszergazdája hozzárendeli a Managed HSM Contributorszerepkört a biztonsági csapathoz. Ez a szerepkör lehetővé teszi, hogy a biztonsági csapat kezelje a meglévő felügyelt HSM-eket, és újakat hozzon létre. Ha vannak már felügyelt HSM-ek, a kezelésükhöz hozzá kell rendelni a "Felügyelt HSM-rendszergazda" szerepkört.

# This role assignment allows Contoso Security Team to create new Managed HSMs
az role assignment create --assignee-object-id $(az ad group show -g 'Contoso Security Team' --query 'id' -o tsv) --assignee-principal-type Group --role "Managed HSM Contributor"

# This role assignment allows Contoso Security Team to become administrator of existing managed HSM
az keyvault role assignment create  --hsm-name ContosoMHSM --assignee $(az ad group show -g 'Contoso Security Team' --query 'id' -o tsv) --scope / --role "Managed HSM Administrator"

A biztonsági csapat beállítja a naplózást, és szerepköröket rendel hozzá az auditorokhoz és a virtuálisgép-alkalmazáshoz.

# Enable logging
hsmresource=$(az keyvault show --hsm-name ContosoMHSM --query id -o tsv)
storageresource=$(az storage account show --name contosologstorage --query id -o tsv)
az monitor diagnostic-settings create --name MHSM-Diagnostics --resource $hsmresource --logs    '[{"category": "AuditEvent","enabled": true}]' --storage-account $storageresource

# Assign the "Crypto Auditor" role to Contoso App Auditors group. It only allows them to read.
az keyvault role assignment create  --hsm-name ContosoMHSM --assignee $(az ad group show -g 'Contoso App Auditors' --query 'objectId' -o tsv) --scope / --role "Managed HSM Crypto Auditor"

# Grant the "Crypto User" role to the VM's managed identity. It allows to create and use keys. 
# However it cannot permanently delete (purge) keys
az keyvault role assignment create  --hsm-name ContosoMHSM --assignee $(az vm identity show --name "vmname" --resource-group "ContosoAppRG" --query objectId -o tsv) --scope / --role "Managed HSM Crypto Auditor"

# Assign "Managed HSM Crypto Service Encryption User" role to the Storage account ID
storage_account_principal=$(az storage account show --id $storageresource --query identity.principalId -o tsv)
# (if no identity exists), then assign a new one
[ "$storage_account_principal" ] || storage_account_principal=$(az storage account update --assign-identity --id $storageresource)

az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto Service Encryption User" --assignee $storage_account_principal

Ez az oktatóanyag csak a hozzáférés-vezérlés szempontjából releváns műveleteket mutatja be a legtöbb esetben. Az alkalmazás virtuális gépen való üzembe helyezésével, a tárfiók ügyfél által felügyelt kulccsal történő titkosításának bekapcsolásával és a felügyelt HSM létrehozásával kapcsolatos egyéb műveletek és műveletek itt nem jelennek meg, hogy a példa a hozzáférés-vezérlésre és a szerepkör-kezelésre összpontosítson.

A példánk egy egyszerű forgatókönyvet ír le. A valós forgatókönyvek összetettebbek lehetnek. Igényeinek megfelelően módosíthatja a kulcstartóhoz tartozó engedélyeket. Feltételeztük, hogy a biztonsági csapat biztosítja a kulcs- és titkos referenciákat (URI-kat és ujjlenyomatokat), amelyeket a DevOps munkatársai használnak az alkalmazásaikban. A fejlesztők és operátorok nem igényelnek adatsík-hozzáférést. A kulcstartó biztonságossá tételére összpontosítottunk. Hasonló szempontokat kell figyelembe venni a virtuális gépek, tárfiókok és más Azure-erőforrások védelmekor.

Források

Következő lépések

A rendszergazda első lépéseket ismertető oktatóanyagát a Mi a felügyelt HSM? című témakörben találhatja meg.

A felügyelt HSM-naplózás használati naplózásáról további információt a felügyelt HSM-naplózás című témakörben talál.