你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Add-AzVmssSecret

将机密添加到 VMSS。

语法

Default (默认值)

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

说明

Add-AzVmssSecret cmdlet 将机密添加到虚拟机规模集(VMSS)。 机密必须存储在 Azure Key Vault 中。 有关 Key Vault 的详细信息,请参阅什么是 Azure Key Vault?https://free.blessedness.top/azure/key-vault/general/basic-concepts 有关 cmdlet 的详细信息,请参阅 Azure Key Vault CmdletSet-AzKeyVaultSecret cmdlet。

示例

示例 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 密钥库 虚拟机扩展或适用于 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 创建 Key Vault 证书配置,并将结果存储在名为$CertConfig的变量中。 第三个命令使用 New-AzVmssConfig cmdlet 创建 VMSS 配置对象,并将结果存储在名为$VMSS的变量中。 第四个命令使用密钥资源 ID 和存储在$Vault和$CertConfig变量中的保管库证书将机密添加到 VMSS。

参数

-Confirm

在运行 cmdlet 之前,提示你进行确认。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:cf

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-DefaultProfile

用于与 Azure 通信的凭据、帐户、租户和订阅。

参数属性

类型:IAzureContextContainer
默认值:None
支持通配符:False
不显示:False
别名:AzContext, AzureRmContext, AzureCredential

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

-SourceVaultId

指定 Key Vault 的资源 ID,其中包含可添加到虚拟机的证书。 此值还充当添加多个证书的密钥。 这意味着,从同一 Key Vault 添加多个证书时,可以为 SourceVaultId 参数使用相同的值。

参数属性

类型:String
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:1
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-VaultCertificate

指定包含证书 URL 和证书名称的 Vault 证书 对象。 可以使用 New-AzVmssVaultCertificateConfig cmdlet 创建此对象。

参数属性

类型:

VaultCertificate[]

默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:2
必需:False
来自管道的值:False
来自管道的值(按属性名称):True
来自剩余参数的值:False

-VirtualMachineScaleSet

指定 VMSS 对象。 可以使用 New-AzVmssConfig cmdlet 创建此对象。

参数属性

类型:PSVirtualMachineScaleSet
默认值:None
支持通配符:False
不显示:False

参数集

(All)
Position:0
必需:True
来自管道的值:True
来自管道的值(按属性名称):True
来自剩余参数的值:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。

参数属性

类型:SwitchParameter
默认值:None
支持通配符:False
不显示:False
别名:无线

参数集

(All)
Position:Named
必需:False
来自管道的值:False
来自管道的值(按属性名称):False
来自剩余参数的值:False

CommonParameters

此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters

输入

PSVirtualMachineScaleSet

String

VaultCertificate

输出

PSVirtualMachineScaleSet