Поделиться через


Set-AzKeyVaultSecret

Создает или обновляет секрет в хранилище ключей.

Синтаксис

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

Описание

Командлет Set-AzKeyVaultSecret создает или обновляет секрет в хранилище ключей в Azure Key Vault. Если секрет не существует, этот командлет создает его. Если секрет уже существует, этот командлет создает новую версию этого секрета.

Примеры

Пример 1. Изменение значения секрета с помощью атрибутов по умолчанию

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

Первая команда преобразует строку в безопасную строку с помощью командлета ConvertTo-SecureString , а затем сохраняет эту строку в переменной $Secret. Для получения дополнительных сведений введите Get-Help ConvertTo-SecureString. Вторая команда изменяет значение секрета с именем ITSecret в хранилище ключей с именем Contoso. Значение секрета становится значением, хранящимся в $Secret.

Пример 2. Изменение значения секрета с помощью настраиваемых атрибутов

$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

Первая команда преобразует строку в безопасную строку с помощью командлета ConvertTo-SecureString , а затем сохраняет эту строку в переменной $Secret. Для получения дополнительных сведений введите Get-Help ConvertTo-SecureString. Следующие команды определяют настраиваемые атрибуты для даты окончания срока действия, тегов и типа контекста, а также хранят атрибуты в переменных. Последняя команда изменяет значения секрета с именем ITSecret в хранилище ключей с именем Contoso, используя значения, указанные ранее в качестве переменных.

Пример 3. Создание секрета в хранилище ключей Azure с помощью команды Set-Secret в модуле 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

В этом примере задается секрет с именем secureSecret в хранилище test-kv ключей Azure по команде Set-Secret в модуле Microsoft.PowerShell.SecretManagement.

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-ContentType

Указывает тип контента секрета. Чтобы удалить существующий тип контента, укажите пустую строку.

Тип:String
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure

Тип:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Disable

Указывает, что этот командлет отключает секрет.

Тип:SwitchParameter
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Expires

Указывает время окончания срока действия в качестве объекта DateTime для секрета, обновляемого этим командлетом. Этот параметр использует универсальное время (UTC). Чтобы получить объект DateTime , используйте командлет Get-Date . Для получения дополнительных сведений введите Get-Help Get-Date.

Тип:Nullable<T>[DateTime]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-InputObject

Секретный объект

Тип:PSKeyVaultSecretIdentityItem
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:True
Принять подстановочные знаки:False

-Name

Указывает имя секрета для изменения. Этот командлет создает полное доменное имя секрета на основе имени, указанного этим параметром, имени хранилища ключей и текущей среды.

Тип:String
Aliases:SecretName
Position:1
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-NotBefore

Указывает время в качестве объекта DateTime , перед которым не удается использовать секрет. Этот параметр использует UTC. Чтобы получить объект DateTime , используйте командлет Get-Date .

Тип:Nullable<T>[DateTime]
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-SecretValue

Указывает значение секрета в качестве объекта SecureString . Чтобы получить объект SecureString , используйте командлет ConvertTo-SecureString . Для получения дополнительных сведений введите Get-Help ConvertTo-SecureString.

Тип:SecureString
Position:2
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-Tag

Пары "ключ-значение" в виде хэш-таблицы. Например: @{key0="value0"; key1=$null; key2="value2"}

Тип:Hashtable
Aliases:Tags
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-VaultName

Указывает имя хранилища ключей, к которому принадлежит этот секрет. Этот командлет создает полное доменное имя хранилища ключей на основе имени, указанного этим параметром, и текущей среды.

Тип:String
Position:0
Default value:None
Обязательно:True
Принять входные данные конвейера:False
Принять подстановочные знаки:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Обязательно:False
Принять входные данные конвейера:False
Принять подстановочные знаки:False

Входные данные

PSKeyVaultSecretIdentityItem

Выходные данные

PSKeyVaultSecret