Condividi tramite


Set-AzKeyVaultSecret

Crea o aggiorna un segreto in un insieme di credenziali delle chiavi.

Sintassi

Set-AzKeyVaultSecret
   [-VaultName] <String>
   [-Name] <String>
   [-SecretValue] <SecureString>
   [-Disable]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-ContentType <String>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzKeyVaultSecret
   [-Id] <String>
   [-SecretValue] <SecureString>
   [-Disable]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-ContentType <String>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-AzKeyVaultSecret
   [-InputObject] <PSKeyVaultSecretIdentityItem>
   [-SecretValue] <SecureString>
   [-Disable]
   [-Expires <DateTime>]
   [-NotBefore <DateTime>]
   [-ContentType <String>]
   [-Tag <Hashtable>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Descrizione

Il cmdlet Set-AzKeyVaultSecret crea o aggiorna un segreto in un insieme di credenziali delle chiavi in Azure Key Vault. Se il segreto non esiste, questo cmdlet lo crea. Se il segreto esiste già, questo cmdlet crea una nuova versione di tale segreto.

Esempio

Esempio 1: Modificare il valore di un segreto usando gli attributi predefiniti

$Secret = ConvertTo-SecureString -String "****" -AsPlainText -Force
Set-AzKeyVaultSecret -VaultName 'Contoso' -Name 'ITSecret' -SecretValue $Secret

Vault Name   : Contoso
Name         : ITSecret
Version      : 8b5c0cb0326e4350bd78200fac932b51
Id           : https://contoso.vault.azure.net:443/secrets/ITSecret/8b5c0cb0326e4350bd78200fac932b51
Enabled      : True
Expires      :
Not Before   :
Created      : 5/25/2018 6:39:30 PM
Updated      : 5/25/2018 6:39:30 PM
Content Type :
Tags         :

Il primo comando converte una stringa in una stringa sicura usando il cmdlet ConvertTo-SecureString e quindi archivia tale stringa nella variabile $Secret. Per altre informazioni, digitare Get-Help ConvertTo-SecureString. Il secondo comando modifica il valore del segreto denominato ITSecret nell'insieme di credenziali delle chiavi denominato Contoso. Il valore del segreto diventa il valore archiviato in $Secret.

Esempio 2: Modificare il valore di un segreto usando attributi personalizzati

$Secret = ConvertTo-SecureString -String "****" -AsPlainText -Force
$Expires = (Get-Date).AddYears(2).ToUniversalTime()
$NBF =(Get-Date).ToUniversalTime()
$Tags = @{ 'Severity' = 'medium'; 'IT' = 'true'}
$ContentType = 'txt'
Set-AzKeyVaultSecret -VaultName 'Contoso' -Name 'ITSecret' -SecretValue $Secret -Expires $Expires -NotBefore $NBF -ContentType $ContentType -Disable -Tags $Tags

Vault Name   : Contoso
Name         : ITSecret
Version      : a2c150be3ea24dd6b8286986e6364851
Id           : https://contoso.vault.azure.net:443/secrets/ITSecret/a2c150be3ea24dd6b8286986e6364851
Enabled      : False
Expires      : 5/25/2020 6:40:00 PM
Not Before   : 5/25/2018 6:40:05 PM
Created      : 5/25/2018 6:41:22 PM
Updated      : 5/25/2018 6:41:22 PM
Content Type : txt
Tags         : Name      Value
               Severity  medium
               IT        true

Il primo comando converte una stringa in una stringa sicura usando il cmdlet ConvertTo-SecureString e quindi archivia tale stringa nella variabile $Secret. Per altre informazioni, digitare Get-Help ConvertTo-SecureString. I comandi successivi definiscono attributi personalizzati per la data di scadenza, i tag e il tipo di contesto e archivia gli attributi nelle variabili. Il comando finale modifica i valori del segreto denominato ITSecret nell'insieme di credenziali delle chiavi denominato Contoso usando i valori specificati in precedenza come variabili.

Esempio 3: Modificare il valore di un segreto usando gli attributi predefiniti (usando Uri)

$Secret = ConvertTo-SecureString -String "****" -AsPlainText -Force
Set-AzKeyVaultSecret -Id 'https://contoso.vault.azure.net/secrets/ITSecret' -SecretValue $Secret

Vault Name   : Contoso
Name         : ITSecret
Version      : 8b5c0cb0326e4350bd78200fac932b51
Id           : https://contoso.vault.azure.net:443/secrets/ITSecret/8b5c0cb0326e4350bd78200fac932b51
Enabled      : True
Expires      :
Not Before   :
Created      : 5/25/2018 6:39:30 PM
Updated      : 5/25/2018 6:39:30 PM
Content Type :
Tags         :

Questo comando imposta o aggiorna il valore del segreto denominato secret1 nell'insieme di credenziali delle chiavi denominato Contoso usando l'URI del segreto.

Esempio 4: Creare un segreto in Azure Key Vault tramite comando Set-Secret nel modulo Microsoft.PowerShell.SecretManagement

# Install module Microsoft.PowerShell.SecretManagement
Install-Module Microsoft.PowerShell.SecretManagement -Repository PSGallery -AllowPrerelease
# Register vault for Secret Management
Register-SecretVault -Name AzKeyVault -ModuleName Az.KeyVault -VaultParameters @{ AZKVaultName = 'test-kv'; SubscriptionId = 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' }
# Set secret for vault AzKeyVault
$secure = ConvertTo-SecureString -String "****" -AsPlainText -Force
Set-Secret -Name secureSecret -SecureStringSecret $secure -Vault AzKeyVault

None

Questo esempio imposta un segreto denominato secureSecret in Azure Key Vault test-kv dal comando Set-Secret nel modulo Microsoft.PowerShell.SecretManagement.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Tipo:SwitchParameter
Alias:cf
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-ContentType

Specifica il tipo di contenuto di un segreto. Per eliminare il tipo di contenuto esistente, specificare una stringa vuota.

Tipo:String
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Disable

Indica che questo cmdlet disabilita un segreto.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Expires

Specifica l'ora di scadenza, come oggetto DateTime , per il segreto aggiornato da questo cmdlet. Questo parametro usa l'ora UTC (Coordinated Universal Time). Per ottenere un oggetto DateTime , utilizzare il cmdlet Get-Date . Per altre informazioni, digitare Get-Help Get-Date.

Tipo:DateTime
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Id

URI del segreto keyvault. Assicurarsi che il formato sia il seguente: https://<vault-name>.vault.azure.net/secrets/<secret-name>/<version>

Tipo:String
Alias:SecretId
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-InputObject

Oggetto segreto

Tipo:PSKeyVaultSecretIdentityItem
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:True
Accettare caratteri jolly:False

-Name

Specifica il nome di un segreto da modificare. Questo cmdlet costruisce il nome di dominio completo (FQDN) di un segreto in base al nome specificato da questo parametro, al nome dell'insieme di credenziali delle chiavi e all'ambiente corrente.

Tipo:String
Alias:SecretName
Posizione:1
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-NotBefore

Specifica l'ora, come oggetto DateTime , prima del quale non è possibile utilizzare il segreto. Questo parametro usa l'ora UTC. Per ottenere un oggetto DateTime , utilizzare il cmdlet Get-Date .

Tipo:DateTime
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-SecretValue

Specifica il valore per il segreto come oggetto SecureString . Per ottenere un oggetto SecureString , usare il cmdlet ConvertTo-SecureString . Per altre informazioni, digitare Get-Help ConvertTo-SecureString.

Tipo:SecureString
Posizione:2
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Tag

Coppie chiave-valore sotto forma di tabella hash. Ad esempio: @{key0="value0"; key1=$null; key2="value2"}

Tipo:Hashtable
Alias:Tags
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-VaultName

Specifica il nome dell'insieme di credenziali delle chiavi a cui appartiene il segreto. 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.

Tipo:String
Posizione:0
Valore predefinito:None
Necessario:True
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-WhatIf

Mostra cosa accadrebbe se il cmdlet viene eseguito. Il cmdlet non viene eseguito.

Tipo:SwitchParameter
Alias:wi
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

Input

PSKeyVaultSecretIdentityItem

Output

PSKeyVaultSecret