Add-AzureKeyVaultKey
Crea una chiave in un insieme di credenziali delle chiavi o importa una chiave in un insieme di credenziali delle chiavi.
Avviso
Il modulo AzureRM PowerShell è stato ufficialmente deprecato a partire dal 29 febbraio 2024. È consigliabile eseguire la migrazione da AzureRM al modulo Az PowerShell per garantire il supporto e gli aggiornamenti continui.
Anche se il modulo AzureRM può ancora funzionare, non è più gestito o supportato, posizionando qualsiasi uso continuo a discrezione e rischio dell'utente. Per indicazioni sulla transizione al modulo Az, vedere le risorse di migrazione.
Sintassi
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>]
Descrizione
Il cmdlet Add-AzureKeyVaultKey crea una chiave in un insieme di credenziali delle chiavi in Azure Key Vault o importa una chiave in un insieme di credenziali delle chiavi. Usare questo cmdlet per aggiungere chiavi usando uno dei metodi seguenti:
- Creare una chiave in un modulo di protezione hardware (HSM) nel servizio Key Vault.
- Creare una chiave nel software nel servizio Key Vault.
- Importare una chiave dal proprio modulo di protezione hardware (HSM) ai moduli di protezione hardware nel servizio Key Vault.
- Importare una chiave da un file pfx nel computer.
- Importare una chiave da un file pfx nel computer in moduli di protezione hardware (HSM) nel servizio Key Vault. Per una di queste operazioni, è possibile fornire attributi chiave o accettare le impostazioni predefinite. Se si crea o si importa una chiave con lo stesso nome di una chiave esistente nell'insieme di credenziali delle chiavi, la chiave originale viene aggiornata con i valori specificati per la nuova chiave. È possibile accedere ai valori precedenti usando l'URI specifico della versione per tale versione della chiave. Per informazioni sulle versioni principali e sulla struttura URI, vedere Informazioni su chiavi e segreti nella documentazione dell'API REST di Key Vault. Nota: per importare una chiave dal proprio modulo di sicurezza hardware, è prima necessario generare un pacchetto BYOK (un file con estensione byok) usando il set di strumenti BYOK di Azure Key Vault. Per altre informazioni, vedere Come generare e trasferire chiavi protette dal modulo di protezione hardware per Azure Key Vault. Come procedura consigliata, eseguire il backup della chiave dopo la creazione o l'aggiornamento usando il cmdlet Backup-AzureKeyVaultKey. Non esiste alcuna funzionalità di annullamento, quindi se si elimina accidentalmente la chiave o la si elimina e quindi si cambia idea, la chiave non è recuperabile a meno che non si disponga di un backup di esso che è possibile ripristinare.
Esempio
Esempio 1: Creare una chiave
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 :
Questo comando crea una chiave protetta da software denominata ITSoftware nell'insieme di credenziali delle chiavi denominato Contoso.
Esempio 2: Creare una chiave protetta da modulo di protezione hardware
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 :
Questo comando crea una chiave protetta da HSM nell'insieme di credenziali delle chiavi denominato Contoso.
Esempio 3: Creare una chiave con valori non predefiniti
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
Il primo comando archivia i valori decrittografare e verificare nella variabile $KeyOperations.
Il secondo comando crea un oggetto DateTime , definito in formato UTC, usando il cmdlet Get-Date .
L'oggetto specifica un periodo di due anni in futuro. Il comando archivia tale data nella variabile $Expires. Per ulteriori informazioni, digitare Get-Help Get-Date
.
Il terzo comando crea un oggetto DateTime usando il cmdlet Get-Date . L'oggetto specifica l'ora UTC corrente. Il comando archivia tale data nella variabile $NotBefore.
Il comando finale crea una chiave denominata ITHsmNonDefault che è una chiave protetta da HSM. Il comando specifica i valori per le operazioni chiave consentite archiviate $KeyOperations. Il comando specifica le ore per i parametri Expires e NotBefore creati nei comandi precedenti e tag per gravità elevata e IT. La nuova chiave è disabilitata. È possibile abilitarla usando il cmdlet Set-AzureKeyVaultKey .
Esempio 4: Importare una chiave protetta da 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 :
Questo comando importa la chiave denominata ITByok dal percorso specificato dal parametro KeyFilePath . La chiave importata è una chiave protetta da HSM. Per importare una chiave dal proprio modulo di sicurezza hardware, è prima necessario generare un pacchetto BYOK (un file con estensione byok) usando il set di strumenti BYOK di Azure Key Vault. Per altre informazioni, vedere Come generare e trasferire chiavi protette dal modulo di protezione hardware per Azure Key Vault.
Esempio 5: Importare una chiave protetta da software
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 :
Il primo comando converte una stringa in una stringa protetta usando il cmdlet ConvertTo-SecureString e quindi archivia tale stringa nella variabile $Password. Per ulteriori informazioni, digitare Get-Help ConvertTo-SecureString
.
Il secondo comando crea una password software nell'insieme di credenziali delle chiavi contoso. Il comando specifica il percorso per la chiave e la password archiviata in $Password.
Esempio 6: Importare una chiave e assegnare attributi
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
Il primo comando converte una stringa in una stringa protetta usando il cmdlet ConvertTo-SecureString e quindi archivia tale stringa nella variabile $Password. Il secondo comando crea un oggetto DateTime usando il cmdlet Get-Date e quindi archivia tale oggetto nella variabile $Expires. Il terzo comando crea la variabile $tags per impostare i tag per la gravità elevata e l'IT. Il comando finale importa una chiave come chiave HSM dal percorso specificato. Il comando specifica l'ora di scadenza archiviata in $Expires e la password archiviata in $Password e applica i tag archiviati in $tags.
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure
Type: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Destination
Specifica se aggiungere la chiave come chiave protetta da software o come chiave protetta da HSM nel servizio Key Vault. I valori validi sono: HSM e Software. Nota: per usare HSM come destinazione, è necessario disporre di un insieme di credenziali delle chiavi che supporta i moduli di protezione hardware. Per altre informazioni su livelli di servizio e funzionalità per l'insieme di credenziali delle chiavi di Azure, vedere il sito Web relativo ai prezzi dell'insieme di credenziali delle chiavi di Azure. Questo parametro è obbligatorio quando si crea una nuova chiave. Se si importa una chiave usando il parametro KeyFilePath , questo parametro è facoltativo:
- Se non si specifica questo parametro e questo cmdlet importa una chiave con estensione byok, importa tale chiave come chiave protetta da HSM. Il cmdlet non può importare tale chiave come chiave protetta da software.
- Se non si specifica questo parametro e questo cmdlet importa una chiave con estensione pfx, importa la chiave come chiave protetta da software.
Type: | String |
Accepted values: | HSM, Software, HSM, Software |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Disable
Indica che la chiave da aggiungere è impostata su uno stato iniziale disabilitato. Qualsiasi tentativo di usare la chiave avrà esito negativo. Usare questo parametro se si precaricano le chiavi che si intende abilitare in un secondo momento.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expires
Specifica l'ora di scadenza, come oggetto DateTime , per la chiave aggiunta da questo cmdlet. Questo parametro usa l'ora UTC (Coordinated Universal Time). Per ottenere un oggetto DateTime , utilizzare il cmdlet Get-Date . Per ulteriori informazioni, digitare Get-Help Get-Date
. Se non si specifica questo parametro, la chiave non scade.
Type: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Oggetto Insieme di credenziali.
Type: | PSKeyVault |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-KeyFilePassword
Specifica una password per il file importato come oggetto SecureString . Per ottenere un oggetto SecureString , utilizzare il cmdlet ConvertTo-SecureString . Per ulteriori informazioni, digitare Get-Help ConvertTo-SecureString
. È necessario specificare questa password per importare un file con estensione pfx.
Type: | SecureString |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyFilePath
Specifica il percorso di un file locale contenente il materiale della chiave importato da questo cmdlet. Le estensioni di file valide sono byok e pfx.
- Se il file è un file con estensione byok, la chiave viene protetta automaticamente dai moduli di protezione hardware dopo l'importazione e non è possibile eseguire l'override di questa impostazione predefinita.
- Se il file è un file pfx, la chiave viene protetta automaticamente dal software dopo l'importazione. Per eseguire l'override di questa impostazione predefinita, impostare il parametro Destination su HSM in modo che la chiave sia protetta da HSM. Quando si specifica questo parametro, il parametro Destination è facoltativo.
Type: | String |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-KeyOps
Specifica una matrice di operazioni che è possibile eseguire usando la chiave aggiunta da questo cmdlet. Se non si specifica questo parametro, è possibile eseguire tutte le operazioni. I valori accettabili per questo parametro sono un elenco delimitato da virgole di operazioni chiave come definito dalla specifica JWK (JSON Web Key):
- Encrypt
- Decrypt
- Wrapping
- Unwrap
- Segno
- Verificare
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Specifica il nome della chiave da aggiungere all'insieme di credenziali delle chiavi. Questo cmdlet costruisce il nome di dominio completo (FQDN) di una chiave in base al nome specificato da questo parametro, al nome dell'insieme di credenziali delle chiavi e all'ambiente corrente. Il nome deve essere una stringa di lunghezza da 1 a 63 caratteri che contiene solo 0-9, a-z, A-Z e - (simbolo trattino).
Type: | String |
Aliases: | KeyName |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-NotBefore
Specifica l'ora, come oggetto DateTime , prima della quale non è possibile utilizzare la chiave. Questo parametro usa l'ora UTC. Per ottenere un oggetto DateTime , utilizzare il cmdlet Get-Date . Se non si specifica questo parametro, la chiave può essere usata immediatamente.
Type: | Nullable<T>[DateTime] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceId
ID risorsa dell'insieme di credenziali.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Size
Dimensioni della chiave RSA, in bit. Se non specificato, il servizio fornirà un valore predefinito sicuro.
Type: | Nullable<T>[Int32] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Tag
Coppie chiave-valore sotto forma di tabella hash. Ad esempio: @{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
Specifica il nome dell'insieme di credenziali delle chiavi a cui questo cmdlet aggiunge la chiave. Questo cmdlet costruisce il nome di dominio completo di un insieme di credenziali delle chiavi in base al nome specificato da questo parametro e all'ambiente corrente.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Input
Parametri: InputObject (ByValue)