Compartir a través de


Set-AzKeyVaultSecret

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

Sintaxis

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 "****" -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 "****" -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 "****" -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.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ContentType

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

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Disable

Indica que este cmdlet deshabilita un secreto.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:Nullable<T>[DateTime]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-InputObject

Secret (objeto)

Tipo:PSKeyVaultSecretIdentityItem
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín: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.

Tipo:String
Alias:SecretName
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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 .

Tipo:Nullable<T>[DateTime]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:SecureString
Posición:2
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Tag

Pares clave-valor en forma de tabla hash. Por ejemplo: @{key0="value0"; key1=$null; key2="value2"}

Tipo:Hashtable
Alias:Tags
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín: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.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

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

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

PSKeyVaultSecretIdentityItem

Salidas

PSKeyVaultSecret