Compartilhar via


Add-AzVmssSecret

Adiciona um segredo a um VMSS.

Sintaxe

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

Description

O cmdlet Add-AzVmssSecret adiciona um segredo ao VMSS (Conjunto de Dimensionamento de Máquinas Virtuais). O segredo deve ser armazenado em um Azure Key Vault. Para obter mais informações relacionadas ao Key Vault, consulte O que é o Azure Key Vault? (https://learn.microsoft.com/azure/key-vault/general/basic-concepts). Para obter mais informações sobre os cmdlets, consulte Cmdlets do Azure Key Vault ou o cmdlet Set-AzKeyVaultSecret.

Exemplos

Exemplo 1: Adicionar um segredo ao VMSS usando a extensão de máquina virtual do 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

Para instalar certificados em uma máquina virtual, é recomendável usar a extensão de máquina virtual do Azure Key Vault para Linux ou a extensão de máquina virtual do Azure Key Vault para Windows.

Exemplo 2: Adicionar um segredo ao VMSS usando 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

Este exemplo adiciona um segredo ao VMSS. O primeiro comando usa o cmdlet Get-AzKeyVault para obter um segredo do cofre chamado ContosoVault e armazena o resultado na variável chamada $Vault. O segundo comando usa o cmdlet New-AzVmssVaultCertificateConfig para criar uma configuração de certificado do Key Vault usando a URL de certificado especificada do repositório de certificados chamado Certificados e armazena os resultados na variável chamada $CertConfig. O terceiro comando usa o cmdlet New-AzVmssConfig para criar um objeto de configuração VMSS e armazena o resultado na variável chamada $VMSS. O quarto comando adiciona um segredo ao VMSS usando o segredo do cofre usando a ID do recurso de chave e o certificado do cofre armazenado nas variáveis $Vault e $CertConfig.

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-DefaultProfile

As credenciais, a conta, o locatário e a assinatura usados para comunicação com o Azure.

Tipo:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

-SourceVaultId

Especifica a ID do recurso do Key Vault que contém os certificados que você pode adicionar à máquina virtual. Esse valor também atua como a chave para adicionar vários certificados. Isso significa que você pode usar o mesmo valor para o parâmetro SourceVaultId ao adicionar vários certificados do mesmo Key Vault.

Tipo:String
Cargo:1
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-VaultCertificate

Especifica o objeto de certificado do Vault que contém a URL e o nome do certificado. Você pode usar o cmdlet New-AzVmssVaultCertificateConfig para criar esse objeto.

Tipo:VaultCertificate[]
Cargo:2
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-VirtualMachineScaleSet

Especifica o objeto VMSS. Você pode usar o cmdlet New-AzVmssConfig para criar esse objeto.

Tipo:PSVirtualMachineScaleSet
Cargo:0
Valor padrão:None
Obrigatório:True
Aceitar a entrada de pipeline:True
Aceitar caracteres curinga:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Tipo:SwitchParameter
Aliases:wi
Cargo:Named
Valor padrão:None
Obrigatório:False
Aceitar a entrada de pipeline:False
Aceitar caracteres curinga:False

Entradas

PSVirtualMachineScaleSet

String

VaultCertificate[]

Saídas

PSVirtualMachineScaleSet