Dela via


Add-AzureKeyVaultKey

Skapar en nyckel i ett nyckelvalv eller importerar en nyckel till ett nyckelvalv.

Varning

AzureRM PowerShell-modulen är officiellt inaktuell från och med den 29 februari 2024. Användare rekommenderas att migrera från AzureRM till Az PowerShell-modulen för att säkerställa fortsatt support och uppdateringar.

Även om AzureRM-modulen fortfarande kan fungera, underhålls den inte längre eller stöds, vilket gör att användaren kan välja och riskera fortsatt användning. Se våra migreringsresurser för vägledning om övergången till Az-modulen.

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

Cmdleten Add-AzureKeyVaultKey skapar en nyckel i ett nyckelvalv i Azure Key Vault eller importerar en nyckel till ett nyckelvalv. Använd den här cmdleten för att lägga till nycklar med någon av följande metoder:

  • Skapa en nyckel i en maskinvarusäkerhetsmodul (HSM) i Key Vault-tjänsten.
  • Skapa en nyckel i programvara i Key Vault-tjänsten.
  • Importera en nyckel från din egen maskinvarusäkerhetsmodul (HSM) till HSM:er i Key Vault-tjänsten.
  • Importera en nyckel från en .pfx-fil på datorn.
  • Importera en nyckel från en .pfx-fil på datorn till maskinvarusäkerhetsmoduler (HSM) i Key Vault-tjänsten. För någon av dessa åtgärder kan du ange nyckelattribut eller acceptera standardinställningar. Om du skapar eller importerar en nyckel som har samma namn som en befintlig nyckel i nyckelvalvet uppdateras den ursprungliga nyckeln med de värden som du anger för den nya nyckeln. Du kan komma åt tidigare värden med hjälp av den versionsspecifika URI:n för den versionen av nyckeln. Mer information om nyckelversioner och URI-strukturen finns i Om nycklar och hemligheter i dokumentationen för Key Vault REST API. Obs! Om du vill importera en nyckel från din egen maskinvarusäkerhetsmodul måste du först generera ett BYOK-paket (en fil med filnamnstillägget .byok) med hjälp av AZURE Key Vault BYOK-verktygen. Mer information finns i Generera och överföra HSM-skyddade nycklar för Azure Key Vault. Vi rekommenderar att du säkerhetskopierar din nyckel när den har skapats eller uppdaterats med hjälp av cmdleten Backup-AzureKeyVaultKey. Det finns ingen oborttagningsfunktion, så om du av misstag tar bort din nyckel eller tar bort den och sedan ändrar dig kan nyckeln inte återställas om du inte har en säkerhetskopia av den som du kan återställa.

Exempel

Exempel 1: Skapa en nyckel

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           :

Det här kommandot skapar en programvaruskyddad nyckel med namnet ITSoftware i nyckelvalvet med namnet Contoso.

Exempel 2: Skapa en HSM-skyddad nyckel

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           :

Det här kommandot skapar en HSM-skyddad nyckel i nyckelvalvet med namnet Contoso.

Exempel 3: Skapa en nyckel med värden som inte är standard

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

Det första kommandot lagrar värdena dekryptera och verifierar i variabeln $KeyOperations. Det andra kommandot skapar ett DateTime-objekt som definieras i UTC med hjälp av cmdleten Get-Date . Det objektet anger en tid två år i framtiden. Kommandot lagrar det datumet i variabeln $Expires. Om du vill ha mer information skriver du Get-Help Get-Date. Det tredje kommandot skapar ett DateTime-objekt med cmdleten Get-Date . Det objektet anger aktuell UTC-tid. Kommandot lagrar det datumet i variabeln $NotBefore. Det sista kommandot skapar en nyckel med namnet ITHsmNonDefault som är en HSM-skyddad nyckel. Kommandot anger värden för tillåtna nyckelåtgärder som lagras $KeyOperations. Kommandot anger tider för parametrarna Expires och NotBefore som skapades i föregående kommandon och taggar för hög allvarlighetsgrad och IT. Den nya nyckeln är inaktiverad. Du kan aktivera den med hjälp av cmdleten Set-AzureKeyVaultKey .

Exempel 4: Importera en HSM-skyddad nyckel

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           :

Det här kommandot importerar nyckeln med namnet ITByok från den plats som KeyFilePath-parametern anger. Den importerade nyckeln är en HSM-skyddad nyckel. Om du vill importera en nyckel från din egen maskinvarusäkerhetsmodul måste du först generera ett BYOK-paket (en fil med filnamnstillägget .byok) med hjälp av Azure Key Vault BYOK-verktygsuppsättningen. Mer information finns i Generera och överföra HSM-skyddade nycklar för Azure Key Vault.

Exempel 5: Importera en programvaruskyddad nyckel

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           :

Det första kommandot konverterar en sträng till en säker sträng med hjälp av cmdleten ConvertTo-SecureString och lagrar sedan strängen i variabeln $Password. Om du vill ha mer information skriver du Get-Help ConvertTo-SecureString. Det andra kommandot skapar ett programvarulösenord i Contoso-nyckelvalvet. Kommandot anger platsen för nyckeln och lösenordet som lagras i $Password.

Exempel 6: Importera en nyckel och tilldela attribut

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

Det första kommandot konverterar en sträng till en säker sträng med hjälp av cmdleten ConvertTo-SecureString och lagrar sedan strängen i variabeln $Password. Det andra kommandot skapar ett DateTime-objekt med cmdleten Get-Date och lagrar sedan objektet i variabeln $Expires. Det tredje kommandot skapar variabeln $tags för att ange taggar för hög allvarlighetsgrad och IT. Det sista kommandot importerar en nyckel som en HSM-nyckel från den angivna platsen. Kommandot anger förfallotiden som lagras i $Expires och lösenordet som lagras i $Password och tillämpar taggarna som lagras i $tags.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure

Typ:IAzureContextContainer
Alias:AzureRmContext, AzureCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Destination

Anger om nyckeln ska läggas till som en programvaruskyddad nyckel eller en HSM-skyddad nyckel i Key Vault-tjänsten. Giltiga värden är: HSM och Software. Obs! Om du vill använda HSM som mål måste du ha ett nyckelvalv som stöder HSM. Mer information om tjänstnivåer och funktioner för Azure Key Vault finns på webbplatsen för Prissättning för Azure Key Vault. Den här parametern krävs när du skapar en ny nyckel. Om du importerar en nyckel med hjälp av parametern KeyFilePath är den här parametern valfri:

  • Om du inte anger den här parametern och den här cmdleten importerar en nyckel som har filnamnstillägget .byok importeras nyckeln som en HSM-skyddad nyckel. Cmdleten kan inte importera den nyckeln som programvaruskyddad nyckel.
  • Om du inte anger den här parametern och den här cmdleten importerar en nyckel som har filnamnstillägget .pfx importeras nyckeln som en programvaruskyddad nyckel.
Typ:String
Godkända värden:HSM, Software, HSM, Software
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Disable

Anger att nyckeln som du lägger till är inställd på ett inledande inaktiverat tillstånd. Alla försök att använda nyckeln misslyckas. Använd den här parametern om du förinstallerar nycklar som du tänker aktivera senare.

Typ:SwitchParameter
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Expires

Anger förfallotiden, som ett DateTime-objekt , för nyckeln som den här cmdleten lägger till. Den här parametern använder COORDINATED Universal Time (UTC). Om du vill hämta ett DateTime-objekt använder du cmdleten Get-Date . Om du vill ha mer information skriver du Get-Help Get-Date. Om du inte anger den här parametern upphör nyckeln inte att gälla.

Typ:Nullable<T>[DateTime]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-InputObject

Valvobjekt.

Typ:PSKeyVault
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-KeyFilePassword

Anger ett lösenord för den importerade filen som ett SecureString-objekt . Om du vill hämta ett SecureString-objekt använder du cmdleten ConvertTo-SecureString . Om du vill ha mer information skriver du Get-Help ConvertTo-SecureString. Du måste ange det här lösenordet för att importera en fil med filnamnstillägget .pfx.

Typ:SecureString
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-KeyFilePath

Anger sökvägen till en lokal fil som innehåller nyckelmaterial som denna cmdlet importerar. De giltiga filnamnstilläggen är .byok och .pfx.

  • Om filen är en .byok-fil skyddas nyckeln automatiskt av HSM:er efter importen och du kan inte åsidosätta den här standardinställningen.
  • Om filen är en .pfx-fil skyddas nyckeln automatiskt av programvara efter importen. Om du vill åsidosätta den här standardinställningen anger du målparametern till HSM så att nyckeln är HSM-skyddad. När du anger den här parametern är målparametern valfri.
Typ:String
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-KeyOps

Anger en matris med åtgärder som kan utföras med hjälp av nyckeln som den här cmdleten lägger till. Om du inte anger den här parametern kan alla åtgärder utföras. De acceptabla värdena för den här parametern är en kommaavgränsad lista över nyckelåtgärder enligt JSON-specifikationen (JSON Web Key):

  • Kryptera
  • Avkryptera
  • Radbryt
  • Packa upp
  • Signera
  • Verifiera
Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Name

Anger namnet på nyckeln som ska läggas till i nyckelvalvet. Den här cmdleten konstruerar det fullständigt kvalificerade domännamnet (FQDN) för en nyckel baserat på namnet som den här parametern anger, namnet på nyckelvalvet och din aktuella miljö. Namnet måste vara en sträng på 1 till 63 tecken som endast innehåller 0-9, a-z, A-Z och - (strecksymbolen).

Typ:String
Alias:KeyName
Position:1
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-NotBefore

Anger den tid, som ett DateTime-objekt , innan nyckeln inte kan användas. Den här parametern använder UTC. Om du vill hämta ett DateTime-objekt använder du cmdleten Get-Date . Om du inte anger den här parametern kan nyckeln användas omedelbart.

Typ:Nullable<T>[DateTime]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-ResourceId

Valvresurs-ID.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Size

RSA-nyckelstorlek, i bitar. Om det inte anges anger tjänsten ett säkert standardvärde.

Typ:Nullable<T>[Int32]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Tag

Nyckel/värde-par i form av en hash-tabell. Exempel: @{key0="value0"; key1=$null; key2="value2"}

Typ:Hashtable
Alias:Tags
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-VaultName

Anger namnet på nyckelvalvet som den här cmdleten lägger till nyckeln i. Den här cmdleten konstruerar FQDN för ett nyckelvalv baserat på namnet som den här parametern anger och din aktuella miljö.

Typ:String
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSKeyVault

Parametrar: InputObject (ByValue)

String

Utdata

PSKeyVaultKey