次の方法で共有


Add-AzVmssSecret

VMSS にシークレットを追加します。

構文

Add-AzVmssSecret
   [-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
   [[-SourceVaultId] <String>]
   [[-VaultCertificate] <VaultCertificate[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

説明

Add-AzVmssSecret コマンドレットは、仮想マシン スケール セット (VMSS) にシークレットを追加します。 シークレットは Azure Key Vault に格納する必要があります。 Key Vault に関する詳細については、「 Azure Key Vault とは (https://learn.microsoft.com/azure/key-vault/general/basic-concepts)」を参照してください。 コマンドレットの詳細については、「 Azure Key Vault コマンドレット または Set-AzKeyVaultSecret コマンドレット」を参照してください。

例 1: Azure Key Vault 仮想マシン拡張機能を使用して VMSS にシークレットを追加する

# Build settings
$settings = @{
    secretsManagementSettings = @{
        pollingIntervalInS       = "<pollingInterval>"
        certificateStoreName     = "<certStoreName>"
        certificateStoreLocation = "<certStoreLoc>"
        observedCertificates     = @("<observedCert1>", "<observedCert2>")
    } 
} | ConvertTo-Json
$extName = "KeyVaultForLinux"
$extPublisher = "Microsoft.Azure.KeyVault"
$extType = "KeyVaultForLinux"
# Add Extension to VMSS
$vmss = Get-AzVmss -ResourceGroupName <ResourceGroupName> -VMScaleSetName <VmssName>
Add-AzVmssExtension -VirtualMachineScaleSet $vmss  -Name $extName -Publisher $extPublisher -Type $extType -TypeHandlerVersion "2.0" -Setting $settings
# Start the deployment
Update-AzVmss -ResourceGroupName <ResourceGroupName> -VMScaleSetName <VmssName> -VirtualMachineScaleSet $vmss

仮想マシンに証明書をインストールするには、Linux 用の Azure Key Vault 仮想マシン拡張機能 または Windows 用の Azure Key Vault 仮想マシン拡張機能を使用することをお勧めします。

例 2: Add-AzVmssSecret を使用して VMSS にシークレットを追加する

$Vault = Get-AzKeyVault -VaultName "ContosoVault"
$CertConfig = New-AzVmssVaultCertificateConfig -CertificateUrl "http://keyVaultName.vault.contoso.net/secrets/secretName/secretVersion" -CertificateStore "Certificates"
$VMSS = New-AzVmssConfig
Add-AzVmssSecret -VirtualMachineScaleSet $VMSS -SourceVaultId $Vault.ResourceId -VaultCertificate $CertConfig

この例では、VMSS にシークレットを追加します。 最初のコマンドでは、Get-AzKeyVault コマンドレットを使用して ContosoVault という名前のコンテナーからコンテナー シークレットを取得し、結果を $Vault という名前の変数に格納します。 2 番目のコマンドでは、 New-AzVmssVaultCertificateConfig コマンドレットを使用して、証明書という名前の証明書ストアから指定された証明書 URL を使用して Key Vault 証明書構成を作成し、結果を $CertConfig という名前の変数に格納します。 3 番目のコマンドでは、 New-AzVmssConfig コマンドレットを使用して VMSS 構成オブジェクトを作成し、結果を $VMSS という名前の変数に格納します。 4 番目のコマンドは、キー リソース ID と、$Vaultおよび$CertConfig変数に格納されているコンテナー証明書を使用して、コンテナー シークレットを使用して VMSS にシークレットを追加します。

パラメーター

-Confirm

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

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

-DefaultProfile

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

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

-SourceVaultId

仮想マシンに追加できる証明書を含む Key Vault のリソース ID を指定します。 この値は、複数の証明書を追加するためのキーとしても機能します。 つまり、同じ Key Vault から複数の証明書を追加するときに、 SourceVaultId パラメーターに同じ値を使用できます。

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

-VaultCertificate

証明書の URL と証明書名を含む Vault Certificate オブジェクトを指定します。 New-AzVmssVaultCertificateConfig コマンドレットを使用して、このオブジェクトを作成できます。

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

-VirtualMachineScaleSet

VMSS オブジェクトを指定します。 New-AzVmssConfig コマンドレットを使用して、このオブジェクトを作成できます。

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

-WhatIf

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

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

入力

PSVirtualMachineScaleSet

String

VaultCertificate[]

出力

PSVirtualMachineScaleSet