Add-AzVmssSecret
语法
Default (默认值)
Add-AzVmssSecret
[-VirtualMachineScaleSet] <PSVirtualMachineScaleSet>
[[-SourceVaultId] <String>]
[[-VaultCertificate] <VaultCertificate[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
说明
示例
示例 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 密钥库 虚拟机扩展或适用于 Windows 的 Azure 密钥库 虚拟机扩展。
示例 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 之前,提示你进行确认。
参数属性
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-DefaultProfile
用于与 Azure 通信的凭据、帐户、租户和订阅。
参数属性
参数集
(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 创建此对象。
参数属性
参数集
(All)
| Position: | 2 |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-VirtualMachineScaleSet
指定 VMSS 对象。
可以使用 New-AzVmssConfig cmdlet 创建此对象。
参数属性
参数集
(All)
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | True |
| 来自剩余参数的值: | False |
-WhatIf
显示 cmdlet 运行时会发生什么情况。 命令脚本未运行。
参数属性
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输出