Dela via


Add-AzVmssSecret

Lägger till en hemlighet i en VMSS.

Syntax

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

Description

Cmdleten Add-AzVmssSecret lägger till en hemlighet i VMSS (Virtual Machine Scale Set). Hemligheten måste lagras i ett Azure Key Vault. Mer information om Key Vault finns i Vad är Azure Key Vault? (https://learn.microsoft.com/azure/key-vault/general/basic-concepts). Mer information om cmdletarna finns i Azure Key Vault-cmdletar eller cmdleten Set-AzKeyVaultSecret .

Exempel

Exempel 1: Lägg till en hemlighet i VMSS med hjälp av tillägget för virtuella Azure Key Vault-datorer

# 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

Om du vill installera certifikat på en virtuell dator rekommenderar vi att du använder tillägget för virtuella Azure Key Vault-datorer för Linux eller tillägget för virtuella Azure Key Vault-datorer för Windows.

Exempel 2: Lägg till en hemlighet i VMSS med hjälp av 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

Det här exemplet lägger till en hemlighet i VMSS. Det första kommandot använder cmdleten Get-AzKeyVault för att hämta en valvhemlighet från valvet med namnet ContosoVault och lagrar resultatet i variabeln med namnet $Vault. Det andra kommandot använder cmdleten New-AzVmssVaultCertificateConfig för att skapa en Key Vault-certifikatkonfiguration med den angivna certifikat-URL:en från certifikatarkivet med namnet Certifikat och lagrar resultatet i variabeln med namnet $CertConfig. Det tredje kommandot använder cmdleten New-AzVmssConfig för att skapa ett VMSS-konfigurationsobjekt och lagrar resultatet i variabeln med namnet $VMSS. Det fjärde kommandot lägger till en hemlighet i VMSS med hjälp av valvhemligheten med hjälp av nyckelresurs-ID:t och valvcertifikatet som lagras i variablerna $Vault och $CertConfig.

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure.

Typ:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-SourceVaultId

Anger resurs-ID för nyckelvalvet som innehåller de certifikat som du kan lägga till på den virtuella datorn. Det här värdet fungerar också som nyckel för att lägga till flera certifikat. Det innebär att du kan använda samma värde för parametern SourceVaultId när du lägger till flera certifikat från samma Key Vault.

Typ:String
Position:1
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-VaultCertificate

Anger det valvcertifikatobjekt som innehåller certifikat-URL:en och certifikatnamnet. Du kan använda cmdleten New-AzVmssVaultCertificateConfig för att skapa det här objektet.

Typ:VaultCertificate[]
Position:2
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-VirtualMachineScaleSet

Anger VMSS-objektet. Du kan använda cmdleten New-AzVmssConfig för att skapa det här objektet.

Typ:PSVirtualMachineScaleSet
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

PSVirtualMachineScaleSet

String

VaultCertificate[]

Utdata

PSVirtualMachineScaleSet