Freigeben über


Set-AzKeyVaultSecret

Erstellt oder aktualisiert einen Geheimschlüssel in einem Schlüsseltresor.

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
   [-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>]

Beschreibung

Das cmdlet Set-AzKeyVaultSecret erstellt oder aktualisiert einen geheimen Schlüssel in einem Schlüsseltresor in Azure Key Vault. Wenn der geheime Schlüssel nicht vorhanden ist, erstellt es dieses Cmdlet. Wenn der geheime Schlüssel bereits vorhanden ist, erstellt dieses Cmdlet eine neue Version dieses geheimen Schlüssels.

Beispiele

Beispiel 1: Ändern des Werts eines geheimen Schlüssels mithilfe von Standardattributen

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

Der erste Befehl konvertiert eine Zeichenfolge in eine sichere Zeichenfolge mithilfe des Cmdlets ConvertTo-SecureString und speichert diese Zeichenfolge dann in der variablen $Secret. Geben Sie Get-Help ConvertTo-SecureStringein, um weitere Informationen zu erfahren. Der zweite Befehl ändert den Wert des geheimen Schlüssels mit dem Namen "ITSecret" im Schlüsseltresor "Contoso". Der geheime Wert wird zum in $Secret gespeicherten Wert.

Beispiel 2: Ändern des Werts eines geheimen Schlüssels mithilfe von benutzerdefinierten Attributen

$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

Der erste Befehl konvertiert eine Zeichenfolge in eine sichere Zeichenfolge mithilfe des Cmdlets ConvertTo-SecureString und speichert diese Zeichenfolge dann in der variablen $Secret. Geben Sie Get-Help ConvertTo-SecureStringein, um weitere Informationen zu erfahren. Die nächsten Befehle definieren benutzerdefinierte Attribute für das Ablaufdatum, Tags und Kontexttyp und speichern die Attribute in Variablen. Mit dem letzten Befehl werden die Werte des geheimen Schlüssels "ITSecret" im Schlüsseltresor "Contoso" geändert, indem die zuvor als Variablen angegebenen Werte verwendet werden.

Beispiel 3: Ändern des Werts eines geheimen Schlüssels mithilfe von Standardattributen (mit 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         :

Mit diesem Befehl wird der Wert des geheimen Schlüssels "secret1" im Schlüsseltresor namens "Contoso" mithilfe des URI des geheimen Schlüssels festgelegt oder aktualisiert.

Beispiel 4: Erstellen eines geheimen Schlüssels im Azure Key Vault mithilfe des Befehls Set-Secret im Modul "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

In diesem Beispiel wird ein Geheimschlüssel namens secureSecret im Azure Key Vault test-kv durch Befehl Set-Secret im Modul Microsoft.PowerShell.SecretManagementfestgelegt.

Parameter

-Confirm

Fordert Sie vor dem Ausführen des Cmdlets zur Bestätigung auf.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-ContentType

Gibt den Inhaltstyp eines geheimen Schlüssels an. Um den vorhandenen Inhaltstyp zu löschen, geben Sie eine leere Zeichenfolge an.

Typ:String
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DefaultProfile

Anmeldeinformationen, Konto, Mandant und Abonnement für die Kommunikation mit Azure

Typ:IAzureContextContainer
Aliase:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Disable

Gibt an, dass dieses Cmdlet einen geheimen Schlüssel deaktiviert.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Expires

Gibt die Ablaufzeit als DateTime- -Objekt für den geheimen Schlüssel an, den dieses Cmdlet aktualisiert. Dieser Parameter verwendet koordinierte Weltzeit (COORDINATED Universal Time, UTC). Um ein DateTime--Objekt abzurufen, verwenden Sie das Cmdlet Get-Date. Geben Sie Get-Help Get-Dateein, um weitere Informationen zu erfahren.

Typ:DateTime
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Id

Der URI des Schlüsselschlüsselschlüssels. Stellen Sie sicher, dass es dem Format folgt: https://<vault-name>.vault.azure.net/secrets/<secret-name>/<version>

Typ:String
Aliase:SecretId
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-InputObject

Secret-Objekt

Typ:PSKeyVaultSecretIdentityItem
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Gibt den Namen eines geheimen Schlüssels an, der geändert werden soll. Dieses Cmdlet erstellt den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) eines geheimen Schlüssels basierend auf dem Namen, den dieser Parameter angibt, den Namen des Schlüsseltresors und Die aktuelle Umgebung.

Typ:String
Aliase:SecretName
Position:1
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-NotBefore

Gibt die Uhrzeit als DateTime- -Objekt an, vor dem der geheime Schlüssel nicht verwendet werden kann. Dieser Parameter verwendet UTC. Um ein DateTime--Objekt abzurufen, verwenden Sie das Cmdlet Get-Date.

Typ:DateTime
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-SecretValue

Gibt den Wert für den geheimen Schlüssel als SecureString- -Objekt an. Um ein SecureString--Objekt abzurufen, verwenden Sie das Cmdlet ConvertTo-SecureString. Geben Sie Get-Help ConvertTo-SecureStringein, um weitere Informationen zu erfahren.

Typ:SecureString
Position:2
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Tag

Schlüssel-Wert-Paare in Form einer Hashtabelle. Beispiel: @{key0="value0"; key1=$null; key2="value2"}

Typ:Hashtable
Aliase:Tags
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-VaultName

Gibt den Namen des Schlüsseltresors an, zu dem dieser geheime Schlüssel gehört. Dieses Cmdlet erstellt den FQDN eines Schlüsseltresors basierend auf dem Namen, den dieser Parameter angibt, und Die aktuelle Umgebung.

Typ:String
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

PSKeyVaultSecretIdentityItem

Ausgaben

PSKeyVaultSecret