Správa Key Vault ve službě Azure Stack Hub pomocí PowerShellu
Tento článek popisuje, jak vytvořit a spravovat trezor klíčů ve službě Azure Stack Hub pomocí PowerShellu. Naučíte se používat rutiny powershellu Key Vault k:
- Vytvořte trezor klíčů.
- Ukládejte a spravujte kryptografické klíče a tajné kódy.
- Autorizace uživatelů nebo aplikací k vyvolání operací v trezoru
Poznámka
Rutiny powershellu Key Vault popsané v tomto článku jsou k dispozici v Azure PowerShell SDK.
Požadavky
- Musíte se přihlásit k odběru nabídky, která zahrnuje službu Azure Key Vault.
- Nainstalujte PowerShell pro Azure Stack Hub.
- Nakonfigurujte prostředí PowerShellu služby Azure Stack Hub.
Povolení předplatného tenanta pro operace Key Vault
Než budete moct s trezorem klíčů provádět jakékoli operace, musíte zajistit, aby vaše předplatné tenanta bylo pro operace trezoru povolené. Pokud chcete ověřit, že jsou povolené operace trezoru klíčů, spusťte následující příkaz:
Get-AzResourceProvider -ProviderNamespace Microsoft.KeyVault | ft -Autosize
Pokud je ve vašem předplatném povolené operace trezoru, zobrazí se ve výstupu Stav registracepro všechny typy prostředků trezoru klíčů.
Pokud nejsou povolené operace trezoru, pomocí následujícího příkazu zaregistrujte službu Key Vault ve vašem předplatném:
Register-AzResourceProvider -ProviderNamespace Microsoft.KeyVault
Pokud je registrace úspěšná, vrátí se následující výstup:
Při vyvolání příkazů trezoru klíčů se může zobrazit chyba typu Předplatné není zaregistrované pro použití oboru názvů Microsoft.KeyVault. Pokud se zobrazí chyba, podle předchozích pokynů ověřte, že jste povolili poskytovatele prostředků Key Vault.
Vytvořte trezor klíčů.
Před vytvořením trezoru klíčů vytvořte skupinu prostředků tak, aby všechny prostředky související s trezorem klíčů existovaly ve skupině prostředků. Pomocí následujícího příkazu vytvořte novou skupinu prostředků:
New-AzResourceGroup -Name "VaultRG" -Location local -verbose -Force
Teď pomocí následující rutiny vytvořte trezor klíčů ve skupině prostředků, kterou jste vytvořili dříve. Tento příkaz přečte tři povinné parametry: název skupiny prostředků, název trezoru klíčů a zeměpisné umístění.
Spuštěním následujícího příkazu vytvořte trezor klíčů:
New-AzKeyVault -VaultName "Vault01" -ResourceGroupName "VaultRG" -Location local -verbose
Výstup tohoto příkazu zobrazuje vlastnosti trezoru klíčů, který jste vytvořili. Když aplikace přistupuje k tomuto trezoru, musí používat vlastnost URI trezoru , která je https://vault01.vault.local.azurestack.external
v tomto příkladu.
nasazení Active Directory Federation Services (AD FS) (AD FS)
V nasazení služby AD FS se může zobrazit toto upozornění: "Zásady přístupu nejsou nastavené. Žádný uživatel ani aplikace nemá přístupová oprávnění k používání tohoto trezoru." Pokud chcete tento problém vyřešit, nastavte zásady přístupu pro trezor pomocí příkazu Set-AzKeyVaultAccessPolicy :
# 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
Správa klíčů a tajných kódů
Po vytvoření trezoru použijte tento postup k vytvoření a správě klíčů a tajných kódů v trezoru.
Vytvoření klíče
Pomocí rutiny Add-AzureKeyVaultKey vytvořte nebo naimportujte klíč chráněný softwarem do trezoru klíčů:
Add-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01" -verbose -Destination Software
Parametr -Destination
slouží k určení, že klíč je chráněný softwarem. Po úspěšném vytvoření klíče příkaz vypíše podrobnosti o vytvořeném klíči.
Teď můžete odkazovat na vytvořený klíč pomocí jeho identifikátoru URI. Pokud vytvoříte nebo naimportujete klíč, který má stejný název jako existující klíč, aktualizuje se původní klíč hodnotami zadanými v novém klíči. K předchozí verzi můžete přistupovat pomocí identifikátoru URI klíče specifického pro verzi. Příklad:
- Pomocí
https://vault10.vault.local.azurestack.external:443/keys/key01
vždy získáte aktuální verzi. - Použijte
https://vault010.vault.local.azurestack.external:443/keys/key01/d0b36ee2e3d14e9f967b8b6b1d38938a
k získání této konkrétní verze.
Získání klíče
Ke čtení klíče a jeho podrobností použijte rutinu Get-AzureKeyVaultKey :
Get-AzureKeyVaultKey -VaultName "Vault01" -Name "Key01"
Vytvoření tajného klíče
Pomocí rutiny Set-AzureKeyVaultSecret vytvořte nebo aktualizujte tajný kód v trezoru. Tajný kód se vytvoří, pokud ještě neexistuje. Vytvoří se nová verze tajného kódu, pokud už existuje:
$secretvalue = ConvertTo-SecureString "User@123" -AsPlainText -Force
Set-AzureKeyVaultSecret -VaultName "Vault01" -Name "Secret01" -SecretValue $secretvalue
Získání tajného kódu
Ke čtení tajného kódu v trezoru klíčů použijte rutinu Get-AzureKeyVaultSecret . Tento příkaz může vrátit všechny nebo konkrétní verze tajného klíče:
Get-AzureKeyVaultSecret -VaultName "Vault01" -Name "Secret01"
Po vytvoření klíčů a tajných kódů můžete k jejich používání autorizovat externí aplikace.
Autorizace aplikace pro použití klíče nebo tajného klíče
Pomocí následující rutiny můžete aplikaci autorizovat pro přístup ke klíči nebo tajnému kódu v trezoru klíčů.
V následujícím příkladu má trezor název ContosoKeyVault a aplikace, kterou chcete autorizovat, má ID klienta 8f8c4bbd-485b-45fd-98f7-ec6300b7b4ed. Pokud chcete aplikaci autorizovat, spusťte následující příkaz. Můžete také zadat parametr PermissionsToKeys a nastavit oprávnění pro uživatele, aplikaci nebo skupinu zabezpečení.
Při použití rutiny v prostředí služby AD FS nakonfigurované službou Azure Stack Hub by měl být zadaný parametr BypassObjectIdValidation.
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 8f8c4bbd-485b-45fd-98f7-ec6300b7b4ed -PermissionsToKeys decrypt,sign -BypassObjectIdValidation
Pokud chcete stejnou aplikaci autorizovat ke čtení tajných kódů ve vašem trezoru, spusťte následující rutinu:
Set-AzKeyVaultAccessPolicy -VaultName 'ContosoKeyVault' -ServicePrincipalName 8f8c4bbd-485b-45fd-98f7-ec6300 -PermissionsToKeys Get -BypassObjectIdValidation
Další kroky
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro