Compartilhar via


Set-AzKeyVaultSecret

Cria ou atualiza um segredo em um cofre de chaves.

Sintaxe

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

O cmdlet Set-AzKeyVaultSecret cria ou atualiza um segredo em um cofre de chaves no Azure Key Vault. Se a variável não existir, o cmdlet a criará. Se o segredo já existir, este cmdlet criará uma nova versão do segredo.

Exemplos

Exemplo 1: modificar o valor de um segredo usando atributos padrão

$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         :

O primeiro comando converte uma cadeia de caracteres em uma cadeia de caracteres segura usando o cmdlet ConvertTo-SecureString e, em seguida, armazena essa cadeia de caracteres na variável $Secret. Para obter mais informações, digite Get-Help ConvertTo-SecureString. O segundo comando modifica o valor do segredo chamado ITSecret no cofre de chaves chamado Contoso. O valor secreto torna-se o valor armazenado em $Secret.

Exemplo 2: modificar o valor de um segredo usando 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

O primeiro comando converte uma cadeia de caracteres em uma cadeia de caracteres segura usando o cmdlet ConvertTo-SecureString e, em seguida, armazena essa cadeia de caracteres na variável $Secret. Para obter mais informações, digite Get-Help ConvertTo-SecureString. Os próximos comandos definem atributos personalizados para a data de expiração, tags e tipo de contexto e armazenam os atributos em variáveis. O comando final modifica os valores do segredo chamado ITSecret no cofre de chaves chamado Contoso, usando os valores especificados anteriormente como variáveis.

Exemplo 3: Criar um segredo no Azure Key Vault pelo comando Set-Secret no 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

Este exemplo define um segredo nomeado secureSecret no Azure Key Vault test-kv por comando Set-Secret no módulo Microsoft.PowerShell.SecretManagement.

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-ContentType

Especifica o tipo de conteúdo de um segredo. Para excluir o tipo de conteúdo existente, especifique uma cadeia de caracteres vazia.

Tipo:String
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usadas para comunicação com o Azure

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Disable

Indica que esse cmdlet desabilita um segredo.

Tipo:SwitchParameter
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Expires

Especifica o tempo de expiração, como um objeto DateTime , para o segredo que esse cmdlet atualiza. Esse parâmetro usa o UTC (Tempo Universal Coordenado). Para obter um objeto DateTime , use o cmdlet Get-Date . Para obter mais informações, digite Get-Help Get-Date.

Tipo:Nullable<T>[DateTime]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-InputObject

Objeto secreto

Tipo:PSKeyVaultSecretIdentityItem
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-Name

Especifica o nome de um segredo a ser modificado. Esse cmdlet constrói o FQDN (nome de domínio totalmente qualificado) de um segredo com base no nome especificado por esse parâmetro, no nome do cofre de chaves e no ambiente atual.

Tipo:String
Aliases:SecretName
Cargo:1
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-NotBefore

Especifica a hora, como um objeto DateTime , antes do qual o segredo não pode ser usado. Este parâmetro usa UTC. Para obter um objeto DateTime , use o cmdlet Get-Date .

Tipo:Nullable<T>[DateTime]
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SecretValue

Especifica o valor do segredo como um objeto SecureString . Para obter um objeto SecureString , use o cmdlet ConvertTo-SecureString . Para obter mais informações, digite Get-Help ConvertTo-SecureString.

Tipo:SecureString
Cargo:2
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-Tag

Pares de chave-valor na forma de uma tabela de hash. Por exemplo: @{key0="value0"; chave1=$null; chave2="valor2"}

Tipo:Hashtable
Aliases:Tags
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-VaultName

Especifica o nome do cofre de chaves ao qual esse segredo pertence. Esse cmdlet constrói o FQDN de um cofre de chaves com base no nome especificado por esse parâmetro e no ambiente atual.

Tipo:String
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSKeyVaultSecretIdentityItem

Saídas

PSKeyVaultSecret