Поделиться через


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. Добавление секрета в VMSS с помощью расширения виртуальной машины Azure Key Vault

# 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

Чтобы установить сертификаты на виртуальной машине, рекомендуется использовать расширение виртуальной машины Azure Key Vault для Linux или расширение виртуальной машины Azure Key Vault для Windows.

Пример 2. Добавление секрета в VMSS с помощью Add-AzVmssSecret

$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. Вторая команда использует командлет New-AzVmssVaultCertificateConfig для создания конфигурации сертификата Key Vault с помощью указанного URL-адреса сертификата из хранилища сертификатов с именем Certificates и сохраняет результаты в переменной с именем $CertConfig. Третья команда использует командлет New-AzVmssConfig для создания объекта конфигурации VMSS и хранения результата в переменной с именем $VMSS. Четвертая команда добавляет секрет в VMSS с помощью секрета хранилища с помощью идентификатора ресурса ключа и сертификата хранилища, хранящегося в $Vault и переменных $CertConfig.

Параметры

-Confirm

Запрос подтверждения перед выполнением командлета.

Тип:SwitchParameter
Aliases:cf
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для обмена данными с Azure.

Тип:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceVaultId

Указывает идентификатор ресурса Хранилища ключей, содержащий сертификаты, которые можно добавить на виртуальную машину. Это значение также выступает в качестве ключа для добавления нескольких сертификатов. Это означает, что при добавлении нескольких сертификатов из одного хранилища ключей можно использовать одно и то же значение для параметра SourceVaultId .

Тип:String
Position:1
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-VaultCertificate

Указывает объект сертификата Хранилища, содержащий URL-адрес сертификата и имя сертификата. Для создания этого объекта можно использовать командлет New-AzVmssVaultCertificateConfig .

Тип:VaultCertificate[]
Position:2
значение по умолчанию:None
Обязательно:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

Указывает объект VMSS. Для создания этого объекта можно использовать командлет New-AzVmssConfig .

Тип:PSVirtualMachineScaleSet
Position:0
значение по умолчанию:None
Обязательно:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при запуске командлета. Командлет не выполняется.

Тип:SwitchParameter
Aliases:wi
Position:Named
значение по умолчанию:None
Обязательно:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

PSVirtualMachineScaleSet

String

VaultCertificate[]

Выходные данные

PSVirtualMachineScaleSet