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.
Ez az oktatóanyag gyakorlati példaként szolgál az Azure Key Vault által felügyelt HSM hozzáférés-vezérlésére. Megtudhatja, hogyan valósíthatja meg a feladatok elkülönítését az Azure RBAC és a felügyelt HSM helyi RBAC használatával egy reális forgatókönyv használatával.
Fontos
Az oktatóanyag elvégzése előtt győződjön meg arról, hogy ismeri a felügyelt HSM hozzáférés-vezérlési modelljét, beleértve a felügyeleti sík és az adatsík-hozzáférés közötti különbségeket. Ehhez az elméleti alaphoz tekintse meg a felügyelt HSM-hozzáférés-vezérlést.
Előfeltételek
- Egy Microsoft Azure-előfizetés. Ha még nincs fiókja, regisztráljon egy ingyenes próbaverzióra.
- Az Azure CLI 2.25.0-s vagy újabb verziója. A verzió azonosításához futtassa a következőt:
az --version
. Ha telepíteni vagy frissíteni szeretne, olvassa el az Azure CLI telepítését ismertető cikket. - Felügyelt HSM az előfizetésben. Tekintse meg a rövid útmutatót: Felügyelt HSM kiépítése és aktiválása az Azure CLI használatával.
Azure Cloud Shell
Az Azure üzemelteti az Azure Cloud Shellt, egy interaktív rendszerhéj-környezetet, amelyet a böngészőben 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. |
![]() |
Látogasson el a https://shell.azure.com webhelyre, vagy kattintson a Cloud Shell indítása gombra a böngészőben. |
![]() |
Az Azure Portal jobb felső sarkában található menüben kattintson a Cloud Shell gombra. |
![]() |
Az Azure Cloud Shell használata:
Indítsa el a Cloud Shell alkalmazást.
A kód vagy parancs másolásához kattintson a Másolás gombra egy kódblokkon (vagy parancsblokkon).
Illessze be a kódot vagy parancsot a Cloud Shell-munkamenetbe a Windows és Linux rendszeren a Ctrl Shift+ billentyűkombinációval+, vagy a Cmd++ macOS rendszeren való kiválasztásával.
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 .
A példaforgatókönyv ismertetése
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.
Szerepkörök és felelősségek meghatározása
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. A kulcsok közé tartoznak az aláíráshoz használt RSA- vagy EC-kulcsok, valamint az adattitkosításhoz használt 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.
Kötelező műveletek definiálása szerepkörenként
A szerepköreinkhez a következő műveleteket kell engedélyezni:
Biztonsági csapat
- A felügyelt HSM létrehozása
- A felügyelt HSM biztonsági tartomány letöltése (vészhelyreállításhoz)
- Naplózás bekapcsolása
- Kulcsok létrehozása vagy importálása
- Felügyelt HSM-biztonsági másolatok létrehozása vészhelyreállításhoz
- A felügyelt HSM helyi RBAC-jának beállítása, hogy engedélyeket adjon a felhasználóknak és alkalmazásoknak meghatározott műveletekhez
- A kulcsok rendszeres forgása
Fejlesztők és operátorok
- Hivatkozás (kulcs URI) lekérése a biztonsági csapattól az aláíráshoz használt RSA-kulcshoz
- A kulcsot programozott módon elé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, hogy meggyőződjön a kulcsok adatbiztonsági szabványoknak megfelelő megfelelő használatáról
Megfelelő szerepkörök hozzárendelése
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.
Szerep | Felügyeleti sík szerepköre | Adatsík szerepköre |
---|---|---|
Biztonsági csapat | Felügyelt HSM-közreműködő | Kezelt HSM rendszergazda |
Fejlesztők és üzemeltetők | Egyik sem | Egyik sem |
Ellenőrök | Egyik sem | Kezelt HSM Kripto Auditáló |
Az alkalmazás által használt virtuális gép felügyelt identitása | Egyik sem | Felügyelt HSM-kriptográfiai felhasználó |
Az alkalmazás által használt Tárfiók felügyelt identitása | Egyik sem | Felügyelt HSM titkosítási szolgáltatás titkosítása |
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.
Implementálás az Azure CLI-vel
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 azure CLI-t vagy Azure REST API-t kell használnia.
A felügyeleti sík szerepköreiről további információért tekintse meg az Azure beépített szerepköreit. 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 alábbi Azure CLI-kódrészletek bemutatják, hogyan valósítható meg a fent leírt szerepkör-hozzárendelések:
Feltételezések
- 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ó.
Irányítási sík szerepkörök hozzárendelése
Az előfizetés rendszergazdája hozzárendeli a Managed HSM Contributor
szerepkö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.
# 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"
Adatsík-szerepkörök hozzárendelése
A meglévő felügyelt HSM-ekhez a biztonsági csapatnak hozzá kell rendelnie a "Felügyelt HSM-rendszergazda" szerepkört a kezelésükhöz:
# 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"
Naplózás konfigurálása és további szerepkörök hozzárendelése
A biztonsági csapat beállítja a naplózást, és szerepköröket rendel 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 'id' -o tsv) --scope / --role "Managed HSM Crypto Auditor"
# Grant the "Crypto User" role to the VM's managed identity. It allows to use keys.
az keyvault role assignment create --hsm-name ContosoMHSM --assignee $(az vm identity show --name "vmname" --resource-group "ContosoAppRG" --query principalId -o tsv) --scope / --role "Managed HSM Crypto User"
# Assign "Managed HSM Crypto Service Encryption User" role to the Storage account identity
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 --query identity.principalId -o tsv)
az keyvault role assignment create --hsm-name ContosoMHSM --role "Managed HSM Crypto Service Encryption User" --assignee $storage_account_principal
Termelési környezetekkel kapcsolatos szempontok
Ez az oktatóanyag egy egyszerűsített forgatókönyvet mutat be a hozzáférés-vezérlés implementálásának szemléltetésére.
A felügyelt HSM-hez tartozó engedélyeket az adott követelményeknek megfelelően módosíthatja. Ebben a példában feltételeztük, hogy a biztonsági csapat kulcs- és titkos referenciákat (URI-kat és ujjlenyomatokat) biztosít a DevOps-munkatársaknak az alkalmazásaikban való használatra. A fejlesztőknek és az operátoroknak nincs szükségük közvetlen adatsík-hozzáférésre. Bár ez az oktatóanyag a felügyelt HSM védelmére összpontosít, hasonló biztonsági intézkedéseket alkalmazhat más Azure-erőforrásokra, például virtuális gépekre, tárfiókokra és más erőforrásokra.
Következő lépések
- A felügyelt HSM-hozzáférés-vezérlési modell elméleti megértéséhez lásd: Felügyelt HSM-hozzáférés-vezérlés
- A rendszergazda számára egy kezdő oktatóanyaghoz lásd: Mi a felügyelt HSM?
- 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.
- A felügyelt HSM szerepkörök kezelésével kapcsolatos további információkért lásd a következő oldalt: Felügyelt HSM helyi RBAC
- Az Azure RBAC dokumentációja
- Azure RBAC: Beépített szerepkörök
- Az Azure RBAC kezelése az Azure CLI-vel