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」を入力します。 2 番目のコマンドは、Contoso という名前のキー コンテナー内の ITSecret という名前のシークレットの値を変更します。 シークレット値は、$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」を入力します。 次のコマンドでは、有効期限、タグ、コンテキスト型のカスタム属性を定義し、属性を変数に格納します。 最後のコマンドは、以前に変数として指定した値を使用して、Contoso という名前のキー コンテナー内の ITSecret という名前のシークレットの値を変更します。

例 3: モジュール Microsoft.PowerShell.SecretManagement の Set-Secret コマンドを使用して Azure Key Vault にシークレットを作成する

# 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

この例では、モジュール Microsoft.PowerShell.SecretManagementのコマンド Set-Secretによってtest-kv Azure Key Vault のsecureSecretという名前のシークレットを設定します。

パラメーター

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

型:SwitchParameter
Aliases:cf
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ContentType

シークレットのコンテンツ タイプを指定します。 既存のコンテンツ タイプを削除するには、空の文字列を指定します。

型:String
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DefaultProfile

Azure との通信に使用される資格情報、アカウント、テナント、サブスクリプション

型:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Disable

このコマンドレットがシークレットを無効にすることを示します。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Expires

このコマンドレットが更新するシークレットの有効期限を DateTime オブジェクトとして指定します。 このパラメーターは世界協定時刻 (UTC) を使用します。 DateTime オブジェクトを取得するには、Get-Date コマンドレットを使用します。 詳細を表示するには「Get-Help Get-Date」を入力します。

型:Nullable<T>[DateTime]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-InputObject

シークレット オブジェクト

型:PSKeyVaultSecretIdentityItem
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:True
ワイルドカード文字を受け取る:False

-Name

変更するシークレットの名前を指定します。 このコマンドレットは、このパラメーターが指定する名前、キー コンテナーの名前、および現在の環境に基づいて、シークレットの完全修飾ドメイン名 (FQDN) を構築します。

型:String
Aliases:SecretName
配置:1
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-NotBefore

シークレットを使用できない時刻を DateTime オブジェクトとして指定します。 このパラメーターは UTC を使用します。 DateTime オブジェクトを取得するには、Get-Date コマンドレットを使用します。

型:Nullable<T>[DateTime]
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-SecretValue

シークレットの値を SecureString オブジェクトとして指定します。 SecureString オブジェクトを取得するには、ConvertTo-SecureString コマンドレットを使用します。 詳細を表示するには「Get-Help ConvertTo-SecureString」を入力します。

型:SecureString
配置:2
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Tag

ハッシュ テーブルの形式のキーと値のペア。 例: @{key0="value0";key1=$null;key2="value2"}

型:Hashtable
Aliases:Tags
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-VaultName

このシークレットが属するキー コンテナーの名前を指定します。 このコマンドレットは、このパラメーターが指定する名前と現在の環境に基づいて、キー コンテナーの FQDN を構築します。

型:String
配置:0
規定値:None
必須:True
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 このコマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

PSKeyVaultSecretIdentityItem

出力

PSKeyVaultSecret