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 Key Vault PowerShell-parancsmagokat 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ókat vagy alkalmazásokat, hogy műveleteket hívjanak meg a tárolóban.
Megjegyzés
A cikkben ismertetett Key Vault PowerShell-parancsmagokat az Azure PowerShell SDK tartalmazza.
Előfeltételek
- Elő kell fizetnie egy olyan ajánlatra, amely tartalmazza az Azure Key Vault szolgáltatást.
- Telepítse az Azure Stack Hubhoz készült PowerShellt.
- 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 kiadhat egy kulcstartón, meg kell győződnie 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 kimenetben az látható, hogy a RegistrationStateregisztrálva van a kulcstartó összes erőforrástípusához.
Ha a tárolóműveletek nincsenek engedélyezve, adja ki a következő parancsot a Key Vault szolgáltatás előfizetésben való regisztrálásához:
Register-AzResourceProvider -ProviderNamespace Microsoft.KeyVault
Ha a regisztráció sikeres, a rendszer a következő kimenetet adja vissza:
A Key Vault parancsainak meghívásakor 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ót az előző utasítások követésével.
Kulcstartó létrehozása
A 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.
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ányaiban ez a 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 szoftveres védelem alatt álló 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 kimenetként adja ki a létrehozott kulcs részleteit.
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éldául:
- A használatával
https://vault10.vault.local.azurestack.external:443/keys/key01
mindig az aktuális verziót szerezheti be. - A használatával
https://vault010.vault.local.azurestack.external:443/keys/key01/d0b36ee2e3d14e9f967b8b6b1d38938a
lekérheti ezt a verziót.
Kulcs lekérése
A Get-AzureKeyVaultKey parancsmaggal olvassa be a kulcsot és annak részleteit:
Get-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01"
Titkos kulcs létrehozása
A Set-AzureKeyVaultSecret parancsmaggal hozzon létre vagy frissítsen egy titkos kódot 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 kód lekérése
A Get-AzureKeyVaultSecret parancsmaggal beolvashat egy titkos kódot 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, hogy egy alkalmazás hozzáférjen egy kulcshoz vagy titkos kódhoz a kulcstartóban.
A következő példában a tároló neve ContosoKeyVault, és az engedélyezni kívánt alkalmazás ügyfél-azonosítója 8f8c4bbd-485b-45fd-98f7-ec6300b7b4ed. Az alkalmazás engedélyezéséhez futtassa a következő parancsot. A PermissionsToKeys paramétert is megadhatja a felhasználók, alkalmazások vagy biztonsági csoportok 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 8f8c4bbd-485b-45fd-98f7-ec6300b7b4ed -PermissionsToKeys decrypt,sign -BypassObjectIdValidation
Ha engedélyezni szeretné, hogy ugyanaz az alkalmazás titkos kódokat olvasson be a tárolóban, futtassa a következő parancsmagot:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 8f8c4bbd-485b-45fd-98f7-ec6300 -PermissionsToKeys Get -BypassObjectIdValidation