Share via


Add-AzVmssSecret

Fügt einem VMSS einen geheimen Schlüssel hinzu.

Syntax

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

Beschreibung

Das Add-AzVmssSecret-Cmdlet fügt dem Vm Scale Set (VMSS) einen geheimen Schlüssel hinzu. Der geheime Schlüssel muss in einem Azure Key Vault gespeichert werden. Weitere Informationen zu Key Vault finden Sie unter Was ist Azure Key Vault? (https://learn.microsoft.com/azure/key-vault/general/basic-concepts). Weitere Informationen zu den Cmdlets finden Sie unter Azure Key Vault Cmdlets oder das Cmdlet Set-AzKeyVaultSecret .

Beispiele

Beispiel 1: Hinzufügen eines geheimen Schlüssels zum VMSS mithilfe der Azure Key Vault-Erweiterung für virtuelle Computer

# 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

Um Zertifikate auf einem virtuellen Computer zu installieren, empfiehlt es sich, die Erweiterung des virtuellen Azure Key Vault-Computers für Linux oder die Virtuelle Azure Key Vault-Computererweiterung für Windows zu verwenden.

Beispiel 2: Hinzufügen eines geheimen Schlüssels zum VMSS mithilfe von 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

In diesem Beispiel wird der VMSS ein Geheimnis hinzugefügt. Der erste Befehl verwendet das Cmdlet Get-AzKeyVault, um einen Tresorschlüssel aus dem Tresor namens ContosoVault abzurufen und das Ergebnis in der Variablen namens $Vault zu speichern. Der zweite Befehl verwendet das Cmdlet New-AzVmssVaultCertificateConfig , um eine Key Vault-Zertifikatkonfiguration mithilfe der angegebenen Zertifikat-URL aus dem Zertifikatspeicher namens "Zertifikate" zu erstellen und die Ergebnisse in der Variablen namens $CertConfig zu speichern. Der dritte Befehl verwendet das Cmdlet New-AzVmssConfig zum Erstellen eines VMSS-Konfigurationsobjekts und speichert das Ergebnis in der Variablen namens $VMSS. Mit dem vierten Befehl wird dem VMSS mithilfe der Schlüsselressourcen-ID und des Tresorzertifikats, das in den variablen $Vault und $CertConfig gespeichert ist, ein Geheimnis hinzugefügt.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SourceVaultId

Gibt die Ressourcen-ID des Key Vault an, die die Zertifikate enthält, die Sie dem virtuellen Computer hinzufügen können. Dieser Wert fungiert auch als Schlüssel zum Hinzufügen mehrerer Zertifikate. Dies bedeutet, dass Sie denselben Wert für den SourceVaultId-Parameter verwenden können, wenn Sie mehrere Zertifikate aus demselben Key Vault hinzufügen.

Type:String
Position:1
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VaultCertificate

Gibt das Vault-Zertifikatobjekt an, das die Zertifikat-URL und den Zertifikatnamen enthält. Sie können das Cmdlet New-AzVmssVaultCertificateConfig verwenden, um dieses Objekt zu erstellen.

Type:VaultCertificate[]
Position:2
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-VirtualMachineScaleSet

Gibt das VMSS-Objekt an. Sie können das Cmdlet New-AzVmssConfig verwenden, um dieses Objekt zu erstellen.

Type:PSVirtualMachineScaleSet
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

PSVirtualMachineScaleSet

String

VaultCertificate[]

Ausgaben

PSVirtualMachineScaleSet