Partilhar 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 Cofre de Chaves do Azure. Se o segredo não existir, este cmdlet o cria. Se o segredo já existir, esse cmdlet criará uma nova versão desse segredo.

Exemplos

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

$Secret = Read-Host -Prompt 'Enter a Password' -AsSecureString
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 = Read-Host -Prompt 'Enter a Password' -AsSecureString
$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 validade, tags e tipo de contexto e armazenam os atributos em variáveis. O comando final modifica 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 "Password" -AsPlainText -Force
Set-Secret -Name secureSecret -SecureStringSecret $secure -Vault AzKeyVault

None

Este exemplo define um segredo nomeado secureSecret no azure key vault test-kv pelo comando Set-Secret no módulo Microsoft.PowerShell.SecretManagement.

Parâmetros

-Confirm

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

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais: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
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-DefaultProfile

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

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Disable

Indica que esse cmdlet desabilita um segredo.

Tipo:SwitchParameter
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Expires

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

Tipo:Nullable<T>[DateTime]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-InputObject

Objeto secreto

Tipo:PSKeyVaultSecretIdentityItem
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-Name

Especifica o nome de um segredo a ser modificado. Este 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 seu ambiente atual.

Tipo:String
Aliases:SecretName
Position:1
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-NotBefore

Especifica a hora, como um objeto DateTime , antes da 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]
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-SecretValue

Especifica o valor para o 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
Position:2
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Tag

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

Tipo:Hashtable
Aliases:Tags
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-VaultName

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

Tipo:String
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-WhatIf

Apresenta o que aconteceria mediante a execução do cmdlet. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

PSKeyVaultSecretIdentityItem

Saídas

PSKeyVaultSecret