Il cmdlet Add-AzKeyVaultKey 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 HSM-Protected per Azure Key Vault.
Come procedura consigliata, eseguire il backup della chiave dopo la creazione o l'aggiornamento usando il cmdlet Backup-AzKeyVaultKey. 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.
Vault/HSM Name : test-kv
Name : test-key
Key Type : EC
Key Size :
Curve Name : P-256
Version : 4da74af2b4fd47d6b1aa0b05c9a2ed13
Id : https://test-kv.vault.azure.net:443/keys/test-key/4da74af2b4fd47d6b1aa0b05c9a2ed13
Enabled : True
Expires :
Not Before :
Created : 8/24/2021 6:38:34 AM
Updated : 8/24/2021 6:38:34 AM
Recovery Level : Recoverable+Purgeable
Tags :
Questo comando crea una chiave EC protetta da software denominata test-key nell'insieme di credenziali delle chiavi denominato test-kv. Il nome della curva è P-256 per impostazione predefinita.
Esempio 3: Creare una chiave protetta da modulo di protezione hardware
Vault/HSM Name : contoso
Name : ITHsmNonDefault
Key Type : RSA
Key Size : 2048
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 altre 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 i tempi per il Expires e NotBefore parametri creati nei comandi precedenti e tag per gravità elevata e IT. La nuova chiave è disabilitata. È possibile abilitarlo usando il cmdlet Set-AzKeyVaultKey .
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 HSM-Protected per Azure Key Vault.
Esempio 6: Importare una chiave protetta da software
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 sicura usando il cmdlet ConvertTo-SecureString e quindi archivia tale stringa nella variabile $Password. Per altre 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 7: Importare una chiave e assegnare attributi
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 sicura 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.
Esempio 8: Generare una chiave di scambio delle chiavi (KEK) per la funzionalità "Bring Your Own Key" (BYOK)
Genera una chiave (denominata chiave di scambio delle chiavi(KEK) . La chiave kek deve essere una chiave RSA-HSM che include solo l'operazione di importazione della chiave. Solo lo SKU Premium di Key Vault supporta le chiavi RSA-HSM.
Per altri dettagli, vedere https://learn.microsoft.com/azure/key-vault/keys/hsm-protected-keys
Esempio 9: Creare una chiave sicura in hsm gestito
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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 sui livelli di servizio e sulle funzionalità per Azure Key Vault, vedere il sito Web dei prezzi di Azure Key Vault .
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectCreate
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdCreate
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Expires
Specifica l'ora di scadenza della chiave in formato UTC, come oggetto DateTime , per la chiave aggiunta da questo cmdlet. Se non specificato, la chiave non scadrà. Per ottenere un oggetto DateTime, utilizzare il cmdlet Get-Date. Per altre informazioni, digitare Get-Help Get-Date. Si noti che la scadenza viene ignorata per la chiave di scambio delle chiavi usata nel processo BYOK.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInteractiveCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInputObjectCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmResourceIdCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-HsmName
Nome HSM. Il cmdlet costruisce il nome di dominio completo di un modulo di protezione hardware gestito in base al nome e all'ambiente attualmente selezionato.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
False
HsmResourceIdImport
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
False
-Immutable
Imposta il criterio di rilascio come stato non modificabile. Una volta contrassegnato come non modificabile, questo flag non può essere reimpostato e i criteri non possono essere modificati in alcuna circostanza.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectImport
Posizione:
0
Obbligatorio:
True
Valore dalla pipeline:
True
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-KeyFilePassword
Specifica una password per il file importato come oggetto SecureString . Per ottenere un oggetto SecureString, usare il cmdlet ConvertTo-SecureString. Per altre informazioni, digitare Get-Help ConvertTo-SecureString. È necessario specificare questa password per importare un file con estensione pfx.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInteractiveImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInputObjectImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmResourceIdImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInteractiveImport
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectImport
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInputObjectImport
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdImport
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmResourceIdImport
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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 definite dalla specifica JWK (JSON Web Key):
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InteractiveImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdImport
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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).
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInteractiveCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
InputObjectCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmInputObjectCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
ResourceIdCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
HsmResourceIdCreate
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.