Add-AzureKeyVaultKey

Hiermee maakt u een sleutel in een sleutelkluis of importeert u een sleutel in een sleutelkluis.

Waarschuwing

De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.

Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.

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

De cmdlet Add-AzureKeyVaultKey maakt een sleutel in een sleutelkluis in Azure Key Vault of importeert een sleutel in een sleutelkluis. Gebruik deze cmdlet om sleutels toe te voegen met behulp van een van de volgende methoden:

  • Maak een sleutel in een HSM (Hardware Security Module) in de Key Vault-service.
  • Maak een sleutel in software in de Key Vault-service.
  • Importeer een sleutel uit uw eigen HSM (Hardware Security Module) naar HSM's in de Key Vault-service.
  • Importeer een sleutel uit een PFX-bestand op uw computer.
  • Importeer een sleutel uit een PFX-bestand op uw computer naar HSM's (Hardware Security Modules) in de Key Vault-service. Voor een van deze bewerkingen kunt u sleutelkenmerken opgeven of standaardinstellingen accepteren. Als u een sleutel maakt of importeert met dezelfde naam als een bestaande sleutel in uw sleutelkluis, wordt de oorspronkelijke sleutel bijgewerkt met de waarden die u voor de nieuwe sleutel opgeeft. U kunt toegang krijgen tot de vorige waarden met behulp van de versiespecifieke URI voor die versie van de sleutel. Voor meer informatie over sleutelversies en de URI-structuur raadpleegt u Over sleutels en geheimen in de key vault REST API-documentatie. Opmerking: als u een sleutel uit uw eigen hardwarebeveiligingsmodule wilt importeren, moet u eerst een BYOK-pakket (een bestand met de extensie .byok-bestandsnaam) genereren met behulp van de BYOK-toolset van Azure Key Vault. Zie HSM-beveiligde sleutels genereren en overdragen voor Azure Key Vault voor meer informatie. Maak als best practice een back-up van uw sleutel nadat deze is gemaakt of bijgewerkt, met behulp van de cmdlet Backup-AzureKeyVaultKey. Er is geen onherstelbare functionaliteit, dus als u per ongeluk uw sleutel verwijdert of verwijdert en vervolgens van gedachten verandert, kan de sleutel niet worden hersteld, tenzij u een back-up van de sleutel hebt die u kunt herstellen.

Voorbeelden

Voorbeeld 1: Een sleutel maken

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           :

Met deze opdracht maakt u een met software beveiligde sleutel met de naam ITSoftware in de sleutelkluis met de naam Contoso.

Voorbeeld 2: Een met HSM beveiligde sleutel maken

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           :

Met deze opdracht maakt u een met HSM beveiligde sleutel in de sleutelkluis met de naam Contoso.

Voorbeeld 3: Een sleutel maken met niet-standaardwaarden

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

Met de eerste opdracht worden de waarden ontsleuteld en gecontroleerd in de $KeyOperations variabele. Met de tweede opdracht maakt u een DateTime-object , gedefinieerd in UTC, met behulp van de cmdlet Get-Date . Dit object specificeert een tijd twee jaar in de toekomst. Met de opdracht wordt die datum opgeslagen in de variabele $Expires. Typ voor meer informatie Get-Help Get-Date. Met de derde opdracht maakt u een DateTime-object met behulp van de cmdlet Get-Date . Dit object specificeert de huidige UTC-tijd. Met de opdracht wordt die datum opgeslagen in de variabele $NotBefore. Met de laatste opdracht maakt u een sleutel met de naam ITHsmNonDefault die een met HSM beveiligde sleutel is. De opdracht geeft waarden op voor toegestane sleutelbewerkingen die zijn opgeslagen $KeyOperations. Met de opdracht worden tijden opgegeven voor de parameters Verlopen en NotBefore die in de vorige opdrachten zijn gemaakt, en tags voor hoge ernst en IT. De nieuwe sleutel is uitgeschakeld. U kunt deze inschakelen met behulp van de cmdlet Set-AzureKeyVaultKey .

Voorbeeld 4: Een met HSM beveiligde sleutel importeren

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           :

Met deze opdracht wordt de sleutel met de naam ITByok geïmporteerd vanaf de locatie die de parameter KeyFilePath opgeeft. De geïmporteerde sleutel is een met HSM beveiligde sleutel. Als u een sleutel uit uw eigen hardwarebeveiligingsmodule wilt importeren, moet u eerst een BYOK-pakket (een bestand met de bestandsextensie .byok) genereren met behulp van de BYOK-toolset van Azure Key Vault. Zie HSM-beveiligde sleutels genereren en overdragen voor Azure Key Vault voor meer informatie.

Voorbeeld 5: Een met software beveiligde sleutel importeren

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           :

Met de eerste opdracht wordt een tekenreeks geconverteerd naar een beveiligde tekenreeks met behulp van de cmdlet ConvertTo-SecureString en wordt die tekenreeks vervolgens opgeslagen in de $Password variabele. Typ voor meer informatie Get-Help ConvertTo-SecureString. Met de tweede opdracht maakt u een softwarewachtwoord in de Contoso-sleutelkluis. Met de opdracht geeft u de locatie op voor de sleutel en het wachtwoord dat is opgeslagen in $Password.

Voorbeeld 6: Een sleutel importeren en kenmerken toewijzen

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

Met de eerste opdracht wordt een tekenreeks geconverteerd naar een beveiligde tekenreeks met behulp van de cmdlet ConvertTo-SecureString en wordt die tekenreeks vervolgens opgeslagen in de $Password variabele. Met de tweede opdracht maakt u een DateTime-object met behulp van de cmdlet Get-Date en slaat u dat object vervolgens op in de variabele $Expires. Met de derde opdracht maakt u de $tags variabele om tags in te stellen voor hoge ernst en IT. Met de laatste opdracht importeert u een sleutel als een HSM-sleutel vanaf de opgegeven locatie. De opdracht geeft de verlooptijd op die is opgeslagen in $Expires en het wachtwoord dat is opgeslagen in $Password en past de tags toe die zijn opgeslagen in $tags.

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

De referenties, het account, de tenant en het abonnement dat wordt gebruikt voor communicatie met Azure

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Destination

Hiermee geeft u op of de sleutel moet worden toegevoegd als een met software beveiligde sleutel of een met HSM beveiligde sleutel in de Key Vault-service. Geldige waarden zijn: HSM en Software. Opmerking: Als u HSM als bestemming wilt gebruiken, moet u een sleutelkluis hebben die HSM's ondersteunt. Zie de website met prijzen voor Azure Key Vault voor meer informatie over de servicelagen en mogelijkheden voor Azure Key Vault. Deze parameter is vereist wanneer u een nieuwe sleutel maakt. Als u een sleutel importeert met behulp van de parameter KeyFilePath , is deze parameter optioneel:

  • Als u deze parameter niet opgeeft en deze cmdlet een sleutel importeert die de extensie .byok heeft, wordt die sleutel geïmporteerd als een met HSM beveiligde sleutel. De cmdlet kan die sleutel niet importeren als met software beveiligde sleutel.
  • Als u deze parameter niet opgeeft en deze cmdlet een sleutel importeert met de extensie .pfx, wordt de sleutel geïmporteerd als een met software beveiligde sleutel.
Type:String
Accepted values:HSM, Software, HSM, Software
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Disable

Geeft aan dat de sleutel die u toevoegt, is ingesteld op een initiële status uitgeschakeld. Pogingen om de sleutel te gebruiken, mislukken. Gebruik deze parameter als u sleutels vooraf laadt die u later wilt inschakelen.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Expires

Hiermee geeft u de verlooptijd, als een DateTime-object , op voor de sleutel die door deze cmdlet wordt toegevoegd. Deze parameter maakt gebruik van Coordinated Universal Time (UTC). Gebruik de cmdlet Get-Date om een DateTime-object op te halen. Typ voor meer informatie Get-Help Get-Date. Als u deze parameter niet opgeeft, verloopt de sleutel niet.

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Kluisobject.

Type:PSKeyVault
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-KeyFilePassword

Hiermee geeft u een wachtwoord voor het geïmporteerde bestand op als een SecureString-object . Gebruik de cmdlet ConvertTo-SecureString om een SecureString-object op te halen. Typ voor meer informatie Get-Help ConvertTo-SecureString. U moet dit wachtwoord opgeven om een bestand te importeren met de extensie .pfx.

Type:SecureString
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-KeyFilePath

Hiermee geeft u het pad op van een lokaal bestand dat sleutelmateriaal bevat dat door deze cmdlet wordt geïmporteerd. De geldige bestandsnaamextensies zijn .byok en .pfx.

  • Als het bestand een BYOK-bestand is, wordt de sleutel automatisch beveiligd door HSM's na het importeren en kunt u deze standaardinstelling niet overschrijven.
  • Als het bestand een PFX-bestand is, wordt de sleutel automatisch beveiligd door software na het importeren. Als u deze standaardwaarde wilt overschrijven, stelt u de doelparameter in op HSM, zodat de sleutel is beveiligd met HSM. Wanneer u deze parameter opgeeft, is de doelparameter optioneel.
Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-KeyOps

Hiermee geeft u een matrix van bewerkingen die kunnen worden uitgevoerd met behulp van de sleutel die door deze cmdlet wordt toegevoegd. Als u deze parameter niet opgeeft, kunnen alle bewerkingen worden uitgevoerd. De acceptabele waarden voor deze parameter zijn een door komma's gescheiden lijst met sleutelbewerkingen, zoals gedefinieerd door de JSON-specificatie (JWK):

  • Versleutelen
  • Ontsleutelen
  • Terugloop
  • Unwrap
  • Aanmelden
  • Verifiëren
Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Hiermee geeft u de naam van de sleutel die moet worden toegevoegd aan de sleutelkluis. Met deze cmdlet wordt de FQDN (Fully Qualified Domain Name) van een sleutel samengesteld op basis van de naam die met deze parameter wordt opgegeven, de naam van de sleutelkluis en uw huidige omgeving. De naam moet een tekenreeks van 1 tot en met 63 tekens lang zijn die slechts 0-9, a-z, A-Z en - (het streepjesymbool) bevat.

Type:String
Aliases:KeyName
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NotBefore

Hiermee geeft u de tijd, als een DateTime-object , voordat de sleutel niet kan worden gebruikt. Deze parameter maakt gebruik van UTC. Gebruik de cmdlet Get-Date om een DateTime-object op te halen. Als u deze parameter niet opgeeft, kan de sleutel onmiddellijk worden gebruikt.

Type:Nullable<T>[DateTime]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceId

Resource-id van kluis.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Size

RSA-sleutelgrootte, in bits. Als dit niet is opgegeven, biedt de service een veilige standaardwaarde.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

Sleutel-waardeparen in de vorm van een hash-tabel. Bijvoorbeeld: @{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

Hiermee geeft u de naam op van de sleutelkluis waaraan deze cmdlet de sleutel toevoegt. Met deze cmdlet wordt de FQDN van een sleutelkluis samengesteld op basis van de naam die met deze parameter wordt opgegeven en uw huidige omgeving.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Invoerwaarden

PSKeyVault

Parameters: InputObject (ByValue)

String

Uitvoerwaarden

PSKeyVaultKey