A Key Vault kezelése az Azure CLI használatával

Ez a cikk bemutatja, hogyan kezdheti el az Azure Key Vault használatát az Azure CLI használatával. A következő információk láthatók:

  • Megkeményített tároló (tároló) létrehozása az Azure-ban
  • Kulcs, titkos kód vagy tanúsítvány hozzáadása a kulcstartóhoz
  • Alkalmazás regisztrálása a Microsoft Entra-azonosítóval
  • Alkalmazás engedélyezése kulcs vagy titkos kód használatára
  • A Key Vault speciális hozzáférési házirendjeinek beállítása
  • Hardveres biztonsági modulok (HSM-ek) használata
  • A kulcstartó és a hozzá tartozó kulcsok és titkos kódok törlése
  • Különböző Azure Platformfüggetlen parancssori felületi parancsok

Az Azure Key Vault a legtöbb régióban elérhető. További információ: A Key Vault díjszabása.

Feljegyzés

Ez a cikk nem tartalmaz utasításokat az Azure-alkalmazás írásához, amelyet az egyik lépés tartalmaz, amely bemutatja, hogyan engedélyezheti az alkalmazásnak a kulcs vagy titkos kulcs használatát a kulcstartóban.

Az Azure Key Vault áttekintése: Mi az Az Azure Key Vault?) Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.

Előfeltételek

A cikkben szereplő Azure CLI-parancsok használatához a következő elemeket kell tartalmaznia:

  • Egy Microsoft Azure-előfizetés. Ha még nincs fiókja, regisztráljon egy ingyenes próbaverzióra.
  • Az Azure CLI 2.0-s vagy újabb verziója. A legújabb verzió telepítéséhez tekintse meg az Azure CLI telepítését.
  • Olyan alkalmazás, amely a cikkben létrehozott kulcs vagy jelszó használatára lesz konfigurálva. Egy mintaalkalmazás elérhető a Microsoft letöltőközpontból. Útmutatásért tekintse meg a mellékelt Readme-fájlt.

Segítségkérés az Azure platformfüggetlen parancssori felületével kapcsolatban

Ez a cikk feltételezi, hogy ismeri a parancssori felületet (Bash, Terminal, Parancssor).

A --help vagy -h paraméter segítségével megtekintheti az adott parancsok súgóját. Alternatív megoldásként az Azure súgó [parancs] [beállítások] formátuma is használható. Ha kétségei vannak a parancs által igényelt paraméterekkel kapcsolatban, tekintse meg a súgót. A következő parancsok például ugyanazt az információt adják vissza:

az account set --help
az account set -h

A következő cikkeket is elolvasva megismerkedhet az Azure Resource Managerrel az Azure Cross-Platform parancssori felületén:

Megkeményített tároló (tároló) létrehozása az Azure-ban

A tárolók hardveres biztonsági modulok által védett tárolók. A tárolók a titkos alkalmazáskulcsok központi tárolásával csökkentik a biztonsági információk véletlen elvesztésének kockázatát. A kulcstartók a bennük tárolt tartalomhoz való hozzáférést vezérlik és naplózzák is. Az Azure Key Vault kezelni tudja a Transport Layer Security- (TLS-) tanúsítványok kérelmezését és megújítását, biztosítva a tanúsítvány életciklusának megbízható kezelési szolgáltatásához szükséges funkciókat. A következő lépésekben létrehoz egy tárolót.

Csatlakozás az előfizetésekhez

Interaktív bejelentkezéshez használja a következő parancsot:

az login

Ha szervezeti fiókkal szeretne bejelentkezni, adja meg a felhasználónevét és a jelszavát.

az login -u username@domain.com -p password

Ha egynél több előfizetéssel rendelkezik, és meg kell adnia, hogy melyiket használja, írja be a következőt a fiók előfizetéseinek megtekintéséhez:

az account list

Adjon meg egy előfizetést az előfizetési paraméterrel.

az account set --subscription <subscription name or ID>

Az Azure Platformfüggetlen parancssori felület konfigurálásáról további információt az Azure CLI telepítése című témakörben talál.

Új erőforráscsoport létrehozása

Az Azure Resource Manager használatakor az összes kapcsolódó erőforrás egy erőforráscsoporton belül jön létre. Kulcstartót létrehozhat egy meglévő erőforráscsoportban. Ha új erőforráscsoportot szeretne használni, létrehozhat egy újat.

az group create -n "ContosoResourceGroup" -l "East Asia"

Az első paraméter az erőforráscsoport neve, a második pedig a hely. Az összes lehetséges helytípus listájának lekérése:

az account list-locations

A Key Vault erőforrás-szolgáltatójának regisztrálása

Amikor új kulcstartót próbál létrehozni, a következő hibaüzenet jelenhet meg: "Az előfizetés nincs regisztrálva a "Microsoft.KeyVault" névtér használatára. Ha megjelenik ez az üzenet, győződjön meg arról, hogy a Key Vault erőforrás-szolgáltatója regisztrálva van az előfizetésében. Ez a műveletet minden egyes előfizetés esetén csak egyszer kell elvégezni.

az provider register -n Microsoft.KeyVault

Kulcstartó létrehozása

az keyvault create A parancs használatával hozzon létre egy kulcstartót. Ez a szkript három kötelező paraméterrel rendelkezik: egy erőforráscsoport neve, egy kulcstartó neve és a földrajzi hely.

Ha contosoKeyVault nevű új tárolót szeretne létrehozni, a ContosoResourceGroup erőforráscsoportban, amely kelet-ázsiai helyen található, írja be a következőt:

az keyvault create --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --location "East Asia"

A parancs kimenete a létrehozott kulcstartó tulajdonságait jeleníti meg. A két legfontosabb tulajdonság:

  • név: A példában a név ContosoKeyVault. Ezt a nevet fogja használni más Key Vault-parancsokhoz.
  • vaultUri: A példában az URI a https://contosokeyvault.vault.azure.net. A tárolót a REST API-ján keresztül használó alkalmazásoknak ezt az URI-t kell használniuk.

Azure-fiókja most már engedéllyel rendelkezik arra, hogy bármilyen műveletet végezzen ezen a kulcstartón. Egyelőre senki más nem rendelkezik engedéllyel.

Kulcs, titkos kód vagy tanúsítvány hozzáadása a kulcstartóhoz

Ha azt szeretné, hogy az Azure Key Vault szoftveresen védett kulcsot hozzon létre, használja a az key create parancsot.

az keyvault key create --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --protection software

Ha egy .pem fájlban van egy meglévő kulcs, feltöltheti azt az Azure Key Vaultba. Dönthet úgy, hogy szoftverrel vagy HSM-sel védi a kulcsot. Ez a példa importálja a kulcsot a .pem fájlból, és szoftverrel védi a "hVFkk965BuUv" jelszóval:

az keyvault key import --vault-name "ContosoKeyVault" --name "ContosoFirstKey" --pem-file "./softkey.pem" --pem-password "hVFkk965BuUv" --protection software

Mostantól hivatkozhat a létrehozott vagy az Azure Key Vaultba feltöltött kulcsra az URI használatával. Az aktuális verzió mindig lekérésére használható https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey . Ezzel https://<keyvault-name>.vault.azure.net/keys/<keyname>/<key-unique-id> a konkrét verzióval szerezhető be. Például: https://ContosoKeyVault.vault.azure.net/keys/ContosoFirstKey/cgacf4f763ar42ffb0a1gca546aygd87.

Adjon hozzá egy titkos kulcsot a tárolóhoz, amely egy SQLPassword nevű jelszó, és amelynek értéke "hVFk965BuUv" az Azure Key Vaultsban.

az keyvault secret set --vault-name "ContosoKeyVault" --name "SQLPassword" --value "hVFkk965BuUv "

Hivatkozzon erre a jelszóra az URI használatával. Az aktuális verzió mindig lekérésére és https://<keyvault-name>.vault.azure.net/secret/<secret-name>/<secret-unique-id> az adott verzió beszerzésére használhatóhttps://ContosoVault.vault.azure.net/secrets/SQLPassword. Például: https://ContosoVault.vault.azure.net/secrets/SQLPassword/90018dbb96a84117a0d2847ef8e7189d.

Tanúsítvány importálása a tárolóba .pem vagy .pfx használatával.

az keyvault certificate import --vault-name "ContosoKeyVault" --file "c:\cert\cert.pfx" --name "ContosoCert" --password "hVFkk965BuUv"

Tekintsük meg a létrehozott kulcsot, titkos kulcsot vagy tanúsítványt:

  • A kulcsok megtekintéséhez írja be a következőt:
az keyvault key list --vault-name "ContosoKeyVault"
  • A titkos kódok megtekintéséhez írja be a következőt:
az keyvault secret list --vault-name "ContosoKeyVault"
  • A tanúsítványok megtekintéséhez írja be a következőt:
az keyvault certificate list --vault-name "ContosoKeyVault"

Alkalmazás regisztrálása a Microsoft Entra-azonosítóval

Ezt a lépést általában egy fejlesztő végzi egy másik számítógépről. Ez nem az Azure Key Vaultra vonatkozik, de a tudatosság érdekében itt található. Az alkalmazásregisztráció befejezéséhez a fióknak, a tárolónak és az alkalmazásnak ugyanabban az Azure-címtárban kell lennie.

A kulcstartót használó alkalmazásoknak a Microsoft Entra ID-ból származó jogkivonattal kell hitelesíteni. Az alkalmazás tulajdonosának először regisztrálnia kell azt a Microsoft Entra-ban. A regisztrációt követően az alkalmazás tulajdonosa az alábbi értékeket kapja:

  • Alkalmazásazonosító (más néven Microsoft Entra-ügyfélazonosító vagy appID)
  • egy hitelesítési kulcsot (más néven közös titkos kódot).

Az alkalmazásnak mindkét értéket meg kell jelenítenie a Microsoft Entra-azonosítóban egy jogkivonat lekéréséhez. A jogkivonat lekérésére konfigurált alkalmazások az alkalmazástól függenek. A Key Vault-mintaalkalmazás esetében az alkalmazás tulajdonosa adja meg ezeket az értékeket az app.config fájlban.

Az alkalmazások Microsoft Entra-azonosítóval való regisztrálásának részletes lépéseit az alkalmazások Microsoft Entra-azonosítóval való integrálásáról, az erőforrásokhoz hozzáférő Microsoft Entra-alkalmazás és szolgáltatásnév létrehozásához, valamint az Azure CLI-vel rendelkező Azure-szolgáltatásnév létrehozásáról szóló cikkekben találja.

Alkalmazás regisztrálása a Microsoft Entra-azonosítóban:

az ad sp create-for-rbac -n "MyApp" --password "hVFkk965BuUv" --role Contributor --scopes /subscriptions/<subscription id>
# If you don't specify a password, one will be created for you.

Alkalmazás engedélyezése kulcs vagy titkos kód használatára

Ha engedélyezni szeretné, hogy az alkalmazás hozzáférjen a kulcshoz vagy a titkos kulcshoz a tárolóban, használja a az keyvault set-policy parancsot.

Ha például a tároló neve ContosoKeyVault, és engedélyezni szeretné, hogy az alkalmazás visszafejtse és jelentkezzen be kulcsokkal a tárolóban, használja az alábbi parancsot az alkalmazásazonosítóval:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --key-permissions decrypt sign

Ha engedélyezni szeretné ugyanannak az alkalmazásnak a titkos kulcsok beolvasását a tárolóban, írja be a következő parancsot:

az keyvault set-policy --name "ContosoKeyVault" --spn {application-id} --secret-permissions get

A Key Vault speciális hozzáférési házirendjeinek beállítása

A key vault speciális szabályzatainak engedélyezéséhez használja az az keyvault-frissítést .

A Key Vault üzembe helyezésének engedélyezése: Lehetővé teszi a virtuális gépek számára, hogy titkos kulcsként tárolt tanúsítványokat kérjenek le a tárolóból.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-deployment "true"

A Key Vault engedélyezése lemeztitkosításhoz: A tároló Azure Disk-titkosításhoz való használatakor szükséges.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-disk-encryption "true"

A Key Vault engedélyezése sablontelepítéshez: Lehetővé teszi a Resource Manager számára a titkos kulcsok lekérését a tárolóból.

az keyvault update --name "ContosoKeyVault" --resource-group "ContosoResourceGroup" --enabled-for-template-deployment "true"

Hardveres biztonsági modulok (HSM-ek) használata

További biztosítékként olyan hardveres biztonsági modulokból (HSM-ekből) importálhat vagy hozhat létre kulcsokat, amelyek soha nem hagyják el a HSM határát. A HSM-eket a FIPS 140 érvényesíti. Ha ez a követelmény nem vonatkozik Önre, ugorja át ezt a szakaszt, és folytassa a Kulcsartó és a hozzá tartozó kulcsok és titkos kódok törlése szakasszal.

HSM által védett kulcsok létrehozásához HSM által védett kulcsokat támogató tárolóra való előfizetéssel kell rendelkeznie.

A kulcsvault létrehozásakor adja hozzá az "sku" paramétert:

az keyvault create --name "ContosoKeyVaultHSM" --resource-group "ContosoResourceGroup" --location "East Asia" --sku "Premium"

Ehhez a tárolóhoz szoftveresen védett (korábban bemutatva) és HSM által védett kulcsokat is hozzáadhat. HSM által védett kulcs létrehozásához állítsa a Cél paramétert "HSM" értékre:

az keyvault key create --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --protection "hsm"

A következő paranccsal importálhat egy kulcsot egy .pem fájlból a számítógépen. Ez a parancs a hardveres Key Vault szolgáltatás biztonsági moduljaiba importálja a kulcsot:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --pem-file "/.softkey.pem" --protection "hsm" --pem-password "PaSSWORD"

A következő parancs importál egy "saját kulcsot" (BYOK) csomagot. Ezzel a helyi HSM-ben hozhatja létre a kulcsot, majd helyezheti át a Key Vault szolgáltatás HSM-jeire anélkül, hogy a kulcs elhagyná a HSM határait:

az keyvault key import --vault-name "ContosoKeyVaultHSM" --name "ContosoFirstHSMKey" --byok-file "./ITByok.byok" --protection "hsm"

A BYOK-csomag létrehozásának részletes útmutatója: HSM által védett kulcsok használata az Azure Key Vaulttal.

A kulcstartó és a hozzá tartozó kulcsok és titkos kódok törlése

Ha már nincs szüksége a kulcstartóra és annak kulcsára vagy titkos kulcsára, a következő paranccsal törölheti a kulcstartót az keyvault delete :

az keyvault delete --name "ContosoKeyVault"

Lehetősége van a teljes Azure-erőforráscsoport törlésére is, amely magában foglalja a kulcstartót és a csoport összes erőforrását:

az group delete --name "ContosoResourceGroup"

Különböző Azure Platformfüggetlen parancssori felületi parancsok

Az Azure Key Vault kezeléséhez hasznosnak bizonyuló egyéb parancsok.

Ez a parancs felsorolja az összes kulcs és a kijelölt tulajdonságok táblázatos megjelenítését:

az keyvault key list --vault-name "ContosoKeyVault"

Ez a parancs a megadott kulcs tulajdonságainak teljes listáját jeleníti meg:

az keyvault key show --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Ez a parancs felsorolja az összes titkos név és a kijelölt tulajdonságok táblázatos megjelenítését:

az keyvault secret list --vault-name "ContosoKeyVault"

Íme egy példa egy adott kulcs eltávolítására:

az keyvault key delete --vault-name "ContosoKeyVault" --name "ContosoFirstKey"

Íme egy példa egy adott titkos kód eltávolítására:

az keyvault secret delete --vault-name "ContosoKeyVault" --name "SQLPassword"

Következő lépések