Add-AzVmssSecret

將秘密新增至 VMSS。

Syntax

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

Description

Add-AzVmssSecret Cmdlet 會將秘密新增至虛擬機擴展集 (VMSS)。 秘密必須儲存在 Azure 金鑰保存庫 中。 如需 金鑰保存庫 的詳細資訊,請參閱什麼是 Azure 金鑰保存庫?https://learn.microsoft.com/azure/key-vault/general/basic-concepts)。 如需 Cmdlet 的詳細資訊,請參閱 Azure 金鑰保存庫 CmdletSet-AzKeyVaultSecret Cmdlet。

範例

範例 1:使用 Azure 金鑰保存庫 虛擬機擴充功能將秘密新增至 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 金鑰保存庫 虛擬機擴充功能或適用於 WindowsAzure 金鑰保存庫 虛擬機擴充功能。

範例 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 Cmdlet 從名為 ContosoVault 的保存庫取得保存庫密碼,並將結果儲存在名為 $Vault 的變數中。 第二個命令會使用 New-AzVmssVaultCertificateConfig Cmdlet,從名為 Certificates 的證書存儲使用指定的憑證 URL 建立 金鑰保存庫 憑證組態,並將結果儲存在名為 $CertConfig 的變數中。 第三個命令會 使用 New-AzVmssConfig Cmdlet 來建立 VMSS 組態物件,並將結果儲存在名為 $VMSS 的變數中。 第四個命令會使用密鑰資源標識符和儲存在$Vault和$CertConfig變數中的保存庫憑證,使用保存庫秘密新增至 VMSS。

參數

-Confirm

執行 Cmdlet 之前先提示您確認。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶。

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceVaultId

指定 金鑰保存庫 的資源識別碼,其中包含您可以新增至虛擬機的憑證。 此值也會做為新增多個憑證的金鑰。 這表示當您從相同的 金鑰保存庫 新增多個憑證時,可以使用SourceVaultId參數的相同值

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VaultCertificate

指定保存庫 憑證 物件,其中包含憑證 URL 和憑證名稱。 您可以使用 New-AzVmssVaultCertificateConfig Cmdlet 來建立此物件。

Type:VaultCertificate[]
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

指定 VMSS 物件。 您可以使用 New-AzVmssConfig Cmdlet 來建立此物件。

Type:PSVirtualMachineScaleSet
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

顯示執行 Cmdlet 後會發生的情況。 未執行 Cmdlet。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

輸入

PSVirtualMachineScaleSet

String

VaultCertificate[]

輸出

PSVirtualMachineScaleSet