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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
geaccepteerde waarden: | HSM, Software, HSM, Software |
Position: | Named |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Kluisobject.
Type: | PSKeyVault |
Position: | 0 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
Resource-id van kluis.
Type: | String |
Position: | 0 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | 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 |
standaardwaarde: | None |
Vereist: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Invoerwaarden
Parameters: InputObject (ByValue)