Add-AzureKeyVaultKey
Vytvoří klíč v trezoru klíčů nebo naimportuje klíč do trezoru klíčů.
Upozorňující
Modul AzureRM PowerShell byl od 29. února 2024 oficiálně zastaralý. Uživatelům se doporučuje migrovat z AzureRM do modulu Az PowerShell, aby se zajistila nepřetržitá podpora a aktualizace.
I když může modul AzureRM stále fungovat, už se neudržuje ani nepodporuje, přičemž jakékoli další použití se bude umisťovat podle vlastního uvážení a rizika uživatele. Pokyny k přechodu na modul Az najdete v našich zdrojích informací o migraci.
Syntax
Add-AzureKeyVaultKey
[-VaultName] <String>
[-Name] <String>
-Destination <String>
[-Disable]
[-KeyOps <String[]>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-Tag <Hashtable>]
[-Size <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-AzureKeyVaultKey
[-VaultName] <String>
[-Name] <String>
-KeyFilePath <String>
[-KeyFilePassword <SecureString>]
[-Destination <String>]
[-Disable]
[-KeyOps <String[]>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-Tag <Hashtable>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-AzureKeyVaultKey
[-InputObject] <PSKeyVault>
[-Name] <String>
-Destination <String>
[-Disable]
[-KeyOps <String[]>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-Tag <Hashtable>]
[-Size <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-AzureKeyVaultKey
[-InputObject] <PSKeyVault>
[-Name] <String>
-KeyFilePath <String>
[-KeyFilePassword <SecureString>]
[-Destination <String>]
[-Disable]
[-KeyOps <String[]>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-Tag <Hashtable>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-AzureKeyVaultKey
[-ResourceId] <String>
[-Name] <String>
-Destination <String>
[-Disable]
[-KeyOps <String[]>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-Tag <Hashtable>]
[-Size <Int32>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Add-AzureKeyVaultKey
[-ResourceId] <String>
[-Name] <String>
-KeyFilePath <String>
[-KeyFilePassword <SecureString>]
[-Destination <String>]
[-Disable]
[-KeyOps <String[]>]
[-Expires <DateTime>]
[-NotBefore <DateTime>]
[-Tag <Hashtable>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Rutina Add-AzureKeyVaultKey vytvoří klíč v trezoru klíčů ve službě Azure Key Vault nebo naimportuje klíč do trezoru klíčů. Pomocí této rutiny přidejte klíče pomocí některé z následujících metod:
- Ve službě Key Vault vytvořte klíč v modulu hardwarového zabezpečení (HSM).
- Ve službě Key Vault vytvořte klíč v softwaru.
- Naimportujte klíč z vlastního modulu hardwarového zabezpečení (HSM) do modulů HSM ve službě Key Vault.
- Naimportujte klíč ze souboru .pfx do počítače.
- Naimportujte klíč ze souboru .pfx do modulů hardwarového zabezpečení (HSM) ve službě Key Vault. U některé z těchto operací můžete zadat klíčové atributy nebo přijmout výchozí nastavení. Pokud vytvoříte nebo importujete klíč, který má stejný název jako existující klíč v trezoru klíčů, původní klíč se aktualizuje o hodnoty, které zadáte pro nový klíč. K předchozím hodnotám se dostanete pomocí identifikátoru URI specifického pro verzi pro tuto verzi klíče. Další informace o verzích klíčů a struktuře identifikátorů URI najdete v tématu Klíče a tajné kódy v dokumentaci k rozhraní REST API služby Key Vault. Poznámka: Pokud chcete importovat klíč z vlastního modulu hardwarového zabezpečení, musíte nejprve vygenerovat balíček BYOK (soubor s příponou názvu souboru .byok) pomocí sady nástrojů BYOK služby Azure Key Vault. Další informace najdete v tématu Generování a přenos klíčů chráněných HSM pro Azure Key Vault. Osvědčeným postupem je zálohovat klíč po vytvoření nebo aktualizaci pomocí rutiny Backup-AzureKeyVaultKey. Neexistuje žádná funkce odstranění, takže pokud omylem odstraníte klíč nebo ho odstraníte a pak změníte názor, klíč nebude možné obnovit, pokud nemáte zálohu, kterou můžete obnovit.
Příklady
Příklad 1: Vytvoření klíče
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITSoftware' -Destination 'Software'
Vault Name : contoso
Name : ITSoftware
Version : 67da57e9cadf48a2ad8d366b115843ab
Id : https://contoso.vault.azure.net:443/keys/ITSoftware/67da57e9cadf48a2ad8d366b115843ab
Enabled : True
Expires :
Not Before :
Created : 5/21/2018 11:10:58 PM
Updated : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags :
Tento příkaz vytvoří klíč chráněný softwarem s názvem ITSoftware v trezoru klíčů s názvem Contoso.
Příklad 2: Vytvoření klíče chráněného modulem HSM
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITHsm' -Destination 'HSM'
Vault Name : contoso
Name : ITHsm
Version : 67da57e9cadf48a2ad8d366b115843ab
Id : https://contoso.vault.azure.net:443/keys/ITSoftware/67da57e9cadf48a2ad8d366b115843ab
Enabled : True
Expires :
Not Before :
Created : 5/21/2018 11:10:58 PM
Updated : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags :
Tento příkaz vytvoří klíč chráněný HSM v trezoru klíčů s názvem Contoso.
Příklad 3: Vytvoření klíče s hodnotami, které nejsou výchozími hodnotami
PS C:\> $KeyOperations = 'decrypt', 'verify'
PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime()
PS C:\> $NotBefore = (Get-Date).ToUniversalTime()
PS C:\> $Tags = @{'Severity' = 'high'; 'Accounting' = "true"}
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITHsmNonDefault' -Destination 'HSM' -Expires $Expires -NotBefore $NotBefore -KeyOps $KeyOperations -Disable -Tag $Tags
Vault Name : contoso
Name : ITHsmNonDefault
Version : 929bfc14db84439b823ffd1bedadaf5f
Id : https://contoso.vault.azure.net:443/keys/ITHsmNonDefault/929bfc14db84439b823ffd1bedadaf5f
Enabled : False
Expires : 5/21/2020 11:12:43 PM
Not Before : 5/21/2018 11:12:50 PM
Created : 5/21/2018 11:13:17 PM
Updated : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags : Name Value
Severity high
Accounting true
První příkaz uloží hodnoty dešifrovat a ověřit v proměnné $KeyOperations.
Druhý příkaz vytvoří objekt DateTime definovaný v UTC pomocí rutiny Get-Date .
Tento objekt určuje čas dva roky v budoucnosti. Příkaz uloží toto datum do proměnné $Expires. Další informace potřebujete zadáním Get-Help Get-Date
.
Třetí příkaz vytvoří objekt DateTime pomocí rutiny Get-Date . Tento objekt určuje aktuální čas UTC. Příkaz uloží toto datum do proměnné $NotBefore.
Poslední příkaz vytvoří klíč s názvem ITHsmNonDefault, který je klíč chráněný HSM. Příkaz určuje hodnoty pro povolené operace klíče uložené $KeyOperations. Příkaz určuje časy pro parametry Konec platnosti a NotBefore vytvořené v předchozích příkazech a značky pro vysokou závažnost a IT. Nový klíč je zakázaný. Můžete ho povolit pomocí rutiny Set-AzureKeyVaultKey .
Příklad 4: Import klíče chráněného HSM
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITByok' -KeyFilePath 'C:\Contoso\ITByok.byok' -Destination 'HSM'
Vault Name : contoso
Name : ITByok
Version : 67da57e9cadf48a2ad8d366b115843ab
Id : https://contoso.vault.azure.net:443/keys/ITByok/67da57e9cadf48a2ad8d366b115843ab
Enabled : True
Expires :
Not Before :
Created : 5/21/2018 11:10:58 PM
Updated : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags :
Tento příkaz importuje klíč s názvem ITByok z umístění, které určuje parametr KeyFilePath . Importovaný klíč je klíč chráněný modulem HSM. Pokud chcete importovat klíč z vlastního modulu hardwarového zabezpečení, musíte nejprve vygenerovat balíček BYOK (soubor s příponou názvu souboru .byok) pomocí sady nástrojů BYOK služby Azure Key Vault. Další informace najdete v tématu Generování a přenos klíčů chráněných HSM pro Azure Key Vault.
Příklad 5: Import klíče chráněného softwarem
PS C:\> $Password = ConvertTo-SecureString -String 'Password' -AsPlainText -Force
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITPfx' -KeyFilePath 'C:\Contoso\ITPfx.pfx' -KeyFilePassword $Password
Vault Name : contoso
Name : ITPfx
Version : 67da57e9cadf48a2ad8d366b115843ab
Id : https://contoso.vault.azure.net:443/keys/ITPfx/67da57e9cadf48a2ad8d366b115843ab
Enabled : True
Expires :
Not Before :
Created : 5/21/2018 11:10:58 PM
Updated : 5/21/2018 11:10:58 PM
Purge Disabled : False
Tags :
První příkaz převede řetězec na zabezpečený řetězec pomocí rutiny ConvertTo-SecureString a pak tento řetězec uloží do proměnné $Password. Další informace potřebujete zadáním Get-Help ConvertTo-SecureString
.
Druhý příkaz vytvoří softwarové heslo v trezoru klíčů Contoso. Příkaz určuje umístění klíče a heslo uložené v $Password.
Příklad 6: Import klíče a přiřazení atributů
PS C:\> $Password = ConvertTo-SecureString -String 'password' -AsPlainText -Force
PS C:\> $Expires = (Get-Date).AddYears(2).ToUniversalTime()
PS C:\> $Tags = @{ 'Severity' = 'high'; 'Accounting' = "true" }
PS C:\> Add-AzureKeyVaultKey -VaultName 'contoso' -Name 'ITPfxToHSM' -Destination 'HSM' -KeyFilePath 'C:\Contoso\ITPfx.pfx' -KeyFilePassword $Password -Expires $Expires -Tag $Tags
Vault Name : contoso
Name : ITPfxToHSM
Version : 929bfc14db84439b823ffd1bedadaf5f
Id : https://contoso.vault.azure.net:443/keys/ITPfxToHSM/929bfc14db84439b823ffd1bedadaf5f
Enabled : True
Expires : 5/21/2020 11:12:43 PM
Not Before :
Created : 5/21/2018 11:13:17 PM
Updated : 5/21/2018 11:13:17 PM
Purge Disabled : False
Tags : Name Value
Severity high
Accounting true
První příkaz převede řetězec na zabezpečený řetězec pomocí rutiny ConvertTo-SecureString a pak tento řetězec uloží do proměnné $Password. Druhý příkaz vytvoří objekt DateTime pomocí rutiny Get-Date a pak tento objekt uloží do proměnné $Expires. Třetí příkaz vytvoří proměnnou $tags pro nastavení značek pro vysokou závažnost a IT. Poslední příkaz naimportuje klíč jako klíč HSM ze zadaného umístění. Příkaz určuje dobu vypršení platnosti uloženou v $Expires a heslo uložené v $Password a použije značky uložené v $tags.
Parametry
-Confirm
Před spuštěním rutiny zobrazí výzvu k potvrzení.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Destination
Určuje, jestli se má klíč přidat jako klíč chráněný softwarem nebo klíč chráněný HSM ve službě Key Vault. Platné hodnoty jsou: HSM a Software. Poznámka: Pokud chcete jako cíl použít HSM, musíte mít trezor klíčů, který podporuje moduly HSM. Další informace o úrovních služeb a možnostech služby Azure Key Vault najdete na webu s cenami služby Azure Key Vault. Tento parametr se vyžaduje při vytváření nového klíče. Pokud importujete klíč pomocí parametru KeyFilePath , je tento parametr volitelný:
- Pokud tento parametr nezadáte a tato rutina importuje klíč, který má příponu názvu souboru .byok, importuje tento klíč jako klíč chráněný HSM. Rutina nemůže tento klíč importovat jako klíč chráněný softwarem.
- Pokud tento parametr nezadáte a tato rutina importuje klíč s příponou názvu souboru .pfx, importuje klíč jako klíč chráněný softwarem.
Type: | String |
Accepted values: | HSM, Software, HSM, Software |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Disable
Označuje, že klíč, který přidáváte, je nastavený na počáteční stav zakázání. Všechny pokusy o použití klíče selžou. Tento parametr použijte, pokud předinstalujete klíče, které chcete povolit později.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expires
Určuje dobu vypršení platnosti klíče, který tato rutina přidá, jako objekt DateTime . Tento parametr používá standard UTC (Coordinated Universal Time). K získání objektu DateTime použijte rutinu Get-Date . Další informace potřebujete zadáním Get-Help Get-Date
. Pokud tento parametr nezadáte, platnost klíče nevyprší.
Type: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Objekt trezoru
Type: | PSKeyVault |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyFilePassword
Určuje heslo pro importovaný soubor jako Objekt SecureString . Chcete-li získat SecureString objekt, použijte ConvertTo-SecureString rutina. Další informace potřebujete zadáním Get-Help ConvertTo-SecureString
. Toto heslo je nutné zadat pro import souboru s příponou názvu souboru .pfx.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyFilePath
Určuje cestu místního souboru, který obsahuje klíč materiálu, který tato rutina importuje. Platné přípony názvů souborů jsou .byok a .pfx.
- Pokud je souborem .byok, klíč je po importu automaticky chráněn moduly HARDWAROVÉHO ZABEZPEČENÍ a toto výchozí nastavení nelze přepsat.
- Pokud je soubor .pfx, klíč je po importu automaticky chráněn softwarem. Pokud chcete toto výchozí nastavení přepsat, nastavte cílový parametr na HSM tak, aby byl klíč chráněný HSM. Při zadání tohoto parametru je parametr Destination nepovinný.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyOps
Určuje pole operací, které lze provést pomocí klíče, který tato rutina přidá. Pokud tento parametr nezadáte, lze provést všechny operace. Přijatelné hodnoty pro tento parametr jsou čárkami oddělený seznam operací s klíči definovaný specifikací JSON Web Key (JWK):
- Šifrování
- Dešifrování
- Zalomení
- Rozbalit
- Podepsat
- Ověření
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Určuje název klíče, který se má přidat do trezoru klíčů. Tato rutina vytvoří plně kvalifikovaný název domény (FQDN) klíče na základě názvu, který tento parametr určuje, název trezoru klíčů a aktuální prostředí. Název musí být řetězec o délce 1 až 63 znaků, který obsahuje pouze 0-9, a-z, A-Z a - (symbol pomlčky).
Type: | String |
Aliases: | KeyName |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotBefore
Určuje čas, jako objekt DateTime , před kterým nelze klíč použít. Tento parametr používá STANDARD UTC. K získání objektu DateTime použijte rutinu Get-Date . Pokud tento parametr nezadáte, můžete klíč použít okamžitě.
Type: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
ID prostředku trezoru.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Size
Velikost klíče RSA v bitech Pokud není zadáno, služba poskytne bezpečné výchozí nastavení.
Type: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
Páry klíč-hodnota ve formě tabulky hash. Příklad: @{key0="value0"; key1=$null; key2="value2"}
Type: | Hashtable |
Aliases: | Tags |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-VaultName
Určuje název trezoru klíčů, do kterého tato rutina klíč přidá. Tato rutina vytvoří plně kvalifikovaný název domény trezoru klíčů na základě názvu, který tento parametr určuje a vaše aktuální prostředí.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Vstupy
Parametry: InputObject (ByValue)