Key Vault kezelése az Azure Stack Hubban a PowerShell használatával
Ez a cikk azt ismerteti, hogyan hozhat létre és kezelhet kulcstartót az Azure Stack Hubban a PowerShell használatával. Megtudhatja, hogyan használhatja a Key Vault PowerShell-parancsmagjait a következőre:
- Kulcstartó létrehozása.
- Titkosítási kulcsok és titkos kódok tárolása és kezelése.
- Engedélyezze a felhasználók vagy alkalmazások számára a tárolóban lévő műveletek meghívását.
Feljegyzés
Az ebben a cikkben ismertetett Key Vault PowerShell-parancsmagokat az Azure PowerShell SDK biztosítja.
Előfeltételek
- Elő kell fizetnie egy ajánlatra, amely tartalmazza az Azure Key Vault szolgáltatást.
- Telepítse a PowerShellt az Azure Stack Hubhoz.
- Konfigurálja az Azure Stack Hub PowerShell-környezetet.
Bérlői előfizetés engedélyezése Key Vault-műveletekhez
Mielőtt bármilyen műveletet kibocsáthat egy kulcstartón, győződjön meg arról, hogy a bérlői előfizetés engedélyezve van a tárolóműveletekhez. A Key Vault-műveletek engedélyezésének ellenőrzéséhez futtassa a következő parancsot:
Get-AzResourceProvider -ProviderNamespace Microsoft.KeyVault | ft -Autosize
Ha az előfizetése engedélyezve van a tárolóműveletekhez, a kimenet azt mutatja, hogy a RegistrationState regisztrálva van a kulcstartó összes erőforrástípusához.
Ha a tárolóműveletek nincsenek engedélyezve, a következő paranccsal regisztrálja a Key Vault szolgáltatást az előfizetésben:
Register-AzResourceProvider -ProviderNamespace Microsoft.KeyVault
Ha a regisztráció sikeres, a rendszer a következő kimenetet adja vissza:
Amikor meghívja a Key Vault parancsokat, hibaüzenet jelenhet meg, például: "Az előfizetés nincs regisztrálva a "Microsoft.KeyVault" névtér használatához." Ha hibaüzenetet kap, ellenőrizze, hogy engedélyezte-e a Key Vault erőforrás-szolgáltatóját az előző utasítások követésével.
Kulcstartó létrehozása
Kulcstartó létrehozása előtt hozzon létre egy erőforráscsoportot, hogy a kulcstartóhoz kapcsolódó összes erőforrás egy erőforráscsoportban legyen. Hozzon létre egy új erőforráscsoportot a következő paranccsal:
New-AzResourceGroup -Name "VaultRG" -Location local -verbose -Force
Most az alábbi parancsmaggal hozzon létre egy kulcstartót a korábban létrehozott erőforráscsoportban. Ez a parancs három kötelező paramétert olvas be: az erőforráscsoport nevét, a kulcstartó nevét és a földrajzi helyet.
A kulcstartó létrehozásához futtassa a következő parancsot:
New-AzKeyVault -VaultName "Vault01" -ResourceGroupName "VaultRG" -Location local -verbose
A parancs kimenete a létrehozott kulcstartó tulajdonságait jeleníti meg. Amikor egy alkalmazás hozzáfér ehhez a tárolóhoz, a Tároló URI tulajdonságát kell használnia, amely ebben a példában szerepel https://vault01.vault.local.azurestack.external
.
Active Directory összevonási szolgáltatások (AD FS) (AD FS) üzembe helyezése
Az AD FS üzemelő példányában a következő figyelmeztetés jelenhet meg: "A hozzáférési szabályzat nincs beállítva. Egyetlen felhasználó vagy alkalmazás sem rendelkezik hozzáférési engedéllyel a tároló használatához." A probléma megoldásához állítson be egy hozzáférési szabályzatot a tárolóhoz a Set-AzKeyVaultAccessPolicy paranccsal:
# Obtain the security identifier(SID) of the active directory user
$adUser = Get-ADUser -Filter "Name -eq '{Active directory user name}'"
$objectSID = $adUser.SID.Value
# Set the key vault access policy
Set-AzKeyVaultAccessPolicy -VaultName "{key vault name}" -ResourceGroupName "{resource group name}" -ObjectId "{object SID}" -PermissionsToKeys {permissionsToKeys} -PermissionsToSecrets {permissionsToSecrets} -BypassObjectIdValidation
Kulcsok és titkos kódok kezelése
A tároló létrehozása után az alábbi lépésekkel hozhat létre és kezelhet kulcsokat és titkos kulcsokat a tárolóban.
Kulcs létrehozása
Az Add-AzureKeyVaultKey parancsmaggal szoftveresen védett kulcsot hozhat létre vagy importálhat egy kulcstartóban:
Add-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01" -verbose -Destination Software
A -Destination
paraméter azt határozza meg, hogy a kulcs szoftveres védelem alatt áll-e. A kulcs sikeres létrehozása után a parancs a létrehozott kulcs részleteit adja ki.
Most már hivatkozhat a létrehozott kulcsra az URI használatával. Ha olyan kulcsot hoz létre vagy importál, amelynek neve megegyezik egy meglévő kulccsal, az eredeti kulcs frissül az új kulcsban megadott értékekkel. Az előző verziót a kulcs verzióspecifikus URI-jának használatával érheti el. Példa:
- Az aktuális verzió mindig lekérésére használható
https://vault10.vault.local.azurestack.external:443/keys/key01
. - Ezzel
https://vault010.vault.local.azurestack.external:443/keys/key01/d0b36ee2e3d14e9f967b8b6b1d38938a
a konkrét verzióval szerezhető be.
Kulcs lekérése
A Get-AzureKeyVaultKey parancsmaggal olvassa el a kulcsot és annak részleteit:
Get-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01"
Titkos kulcs létrehozása
A Set-AzureKeyVaultSecret parancsmaggal hozhat létre vagy frissíthet titkos kulcsokat egy tárolóban. A titkos kód akkor jön létre, ha még nem létezik. A titkos kód új verziója akkor jön létre, ha már létezik:
$secretvalue = ConvertTo-SecureString "User@123" -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName "Vault01" -Name "Secret01" -SecretValue $secretvalue
Titkos kulcs lekérése
A Get-AzureKeyVaultSecret parancsmaggal titkos kulcsokat olvashat egy kulcstartóban. Ez a parancs egy titkos kód összes vagy adott verzióját visszaadhatja:
Get-AzureKeyVaultSecret -VaultName "Vault01" -Name "Secret01"
A kulcsok és titkos kódok létrehozása után engedélyezheti a külső alkalmazások számára a használatukat.
Alkalmazás engedélyezése kulcs vagy titkos kód használatára
Az alábbi parancsmaggal engedélyezheti az alkalmazásnak, hogy hozzáférjen egy kulcshoz vagy titkos kulcshoz a kulcstartóban.
A következő példában a tároló neve ContosoKeyVault, és az engedélyezni kívánt alkalmazás ügyfélazonosítója 00001111-aaaa-2222-bbbb-3333cccc44444. Az alkalmazás engedélyezéséhez futtassa a következő parancsot. Megadhatja a PermissionsToKeys paramétert is egy felhasználó, alkalmazás vagy biztonsági csoport engedélyeinek beállításához.
Ha a parancsmagot egy AD FS-ben konfigurált Azure Stack Hub-környezetben használja, meg kell adni a BypassObjectIdValidation paramétert
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 00001111-aaaa-2222-bbbb-3333cccc4444 -PermissionsToKeys decrypt,sign -BypassObjectIdValidation
Ha engedélyezni szeretné, hogy ugyanaz az alkalmazás titkos kulcsokat olvasson a tárolóban, futtassa a következő parancsmagot:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 8f8c4bbd-485b-45fd-98f7-ec6300 -PermissionsToKeys Get -BypassObjectIdValidation