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
Parametrar: InputObject (ByValue)