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

PSKeyVault

Parametry: InputObject (ByValue)

String

Výstupy

PSKeyVaultKey