Set-AzKeyVaultSecret

Crea o actualiza un secreto en un almacén de claves.

Syntax

Set-AzKeyVaultSecret
   [-VaultName] <String>
   [-Name] <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>]

Description

El cmdlet Set-AzKeyVaultSecret crea o actualiza un secreto en un almacén de claves de Azure Key Vault. Si el secreto no existe, este cmdlet lo crea. Si ya existe el secreto, este cmdlet crea una nueva versión del secreto.

Ejemplos

Ejemplo 1: Modificación del valor de un secreto mediante atributos predeterminados

$Secret = ConvertTo-SecureString -String 'Password' -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         :

El primer comando convierte una cadena en una cadena segura mediante el cmdlet ConvertTo-SecureString y, a continuación, almacena esa cadena en la variable $Secret. Para obtener más información, escriba Get-Help ConvertTo-SecureString. El segundo comando modifica el valor del secreto denominado ITSecret en el almacén de claves denominado Contoso. El valor secreto se convierte en el valor almacenado en $Secret.

Ejemplo 2: Modificación del valor de un secreto mediante atributos personalizados

$Secret = ConvertTo-SecureString -String 'Password' -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

El primer comando convierte una cadena en una cadena segura mediante el cmdlet ConvertTo-SecureString y, a continuación, almacena esa cadena en la variable $Secret. Para obtener más información, escriba Get-Help ConvertTo-SecureString. Los comandos siguientes definen atributos personalizados para la fecha de expiración, las etiquetas y el tipo de contexto, y almacenan los atributos en variables. El comando final modifica los valores del secreto denominado ITSecret en el almacén de claves denominado Contoso, mediante el uso de los valores especificados anteriormente como variables.

Ejemplo 3: Creación de un secreto en azure Key Vault mediante el comando Set-Secret en el módulo 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 "Password" -AsPlainText -Force
Set-Secret -Name secureSecret -SecureStringSecret $secure -Vault AzKeyVault

None

En este ejemplo se establece un secreto denominado secureSecret en azure key vault test-kv por comando Set-Secret en el módulo Microsoft.PowerShell.SecretManagement.

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

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

-ContentType

Especifica el tipo de contenido de un secreto. Para eliminar el tipo de contenido existente, especifique una cadena vacía.

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

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure

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

-Disable

Indica que este cmdlet deshabilita un secreto.

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

-Expires

Especifica la hora de expiración, como un objeto DateTime , para el secreto que actualiza este cmdlet. Este parámetro usa la hora universal coordinada (UTC). Para obtener un objeto DateTime , use el cmdlet Get-Date . Para obtener más información, escriba Get-Help Get-Date.

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

-InputObject

Secret (objeto)

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

-Name

Especifica el nombre de un secreto que se va a modificar. Este cmdlet construye el nombre de dominio completo (FQDN) de un secreto basado en el nombre que especifica este parámetro, el nombre del almacén de claves y el entorno actual.

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

-NotBefore

Especifica la hora, como un objeto DateTime , antes del cual no se puede usar el secreto. Este parámetro usa UTC. Para obtener un objeto DateTime , use el cmdlet Get-Date .

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

-SecretValue

Especifica el valor del secreto como un objeto SecureString . Para obtener un objeto SecureString , use el cmdlet ConvertTo-SecureString . Para obtener más información, escriba Get-Help ConvertTo-SecureString.

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

-Tag

Pares clave-valor en forma de tabla hash. Por ejemplo: @{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

Especifica el nombre del almacén de claves al que pertenece este secreto. Este cmdlet construye el FQDN de un almacén de claves en función del nombre que especifica este parámetro y el entorno actual.

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

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

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

Entradas

PSKeyVaultSecretIdentityItem

Salidas

PSKeyVaultSecret