Udostępnij przez


Przekazywanie poświadczeń do handlera rozszerzenia Azure DSCExtension

Uwaga / Notatka

Rozszerzenie DSC zostanie wycofane 31 marca 2028 r. Przejdź do usługi Azure Machine Configuration do tej daty. Więcej informacji można znaleźć w ogłoszeniu na blogu. Usługa Azure Machine Configuration łączy niektóre funkcje rozszerzenia DSC, usługi Azure Automation State Configuration i często żądane funkcje opinii klientów. Usługa Azure Machine Configuration obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.

W tym artykule opisano rozszerzenie Desired State Configuration (DSC) dla platformy Azure. Aby zapoznać się z omówieniem procedury obsługi rozszerzenia DSC, zobacz Wprowadzenie do procedury obsługi rozszerzenia Azure Desired State Configuration.

Uwaga / Notatka

Wypróbuj pomoc maszyny wirtualnej, aby uzyskać szybszą diagnostykę. Zalecamy uruchomienie asysty maszyny wirtualnej dla systemu Windows lub asystenta maszyny wirtualnej dla systemu Linux. Te narzędzia diagnostyczne oparte na skryptach ułatwiają identyfikowanie typowych problemów, które mają wpływ na agenta gościa maszyny wirtualnej platformy Azure i ogólną kondycję maszyny wirtualnej.

Jeśli występują problemy z wydajnością maszyn wirtualnych, przed skontaktowaniem się z pomocą techniczną uruchom te narzędzia.

Przekaż poświadczenia

W ramach procesu konfiguracji może być konieczne skonfigurowanie kont użytkowników, usług dostępu lub zainstalowanie programu w kontekście użytkownika. Aby wykonać te czynności, należy podać poświadczenia.

Za pomocą rozszerzenia DSC można skonfigurować sparametryzowane konfiguracje. W sparametryzowanej konfiguracji poświadczenia są przekazywane do konfiguracji i bezpiecznie przechowywane w plikach mof. Procedura obsługi rozszerzeń platformy Azure upraszcza zarządzanie poświadczeniami, zapewniając automatyczne zarządzanie certyfikatami.

Następujący skrypt konfiguracji DSC tworzy konto użytkownika lokalnego z określonym hasłem:

configuration Main
{
    param(
        [Parameter(Mandatory=$true)]
        [ValidateNotNullorEmpty()]
        [PSCredential]
        $Credential
    )
    Node localhost {
        User LocalUserAccount
        {
            Username = $Credential.UserName
            Password = $Credential
            Disabled = $false
            Ensure = "Present"
            FullName = "Local User Account"
            Description = "Local User Account"
            PasswordNeverExpires = $true
        }
    }
}

Ważne jest, aby uwzględnić node localhost w ramach konfiguracji. Procedura obsługi rozszerzeń szuka konkretnie instrukcji węzeł localhost. Jeśli brakuje tej instrukcji, poniższe kroki nie działają. Ważne jest, aby uwzględnić również rzutowanie typu [PsCredential]. Ten typ wyzwala rozszerzenie do zaszyfrowania poświadczenia.

Aby opublikować ten skrypt w usłudze Azure Blob Storage:

Publish-AzVMDscConfiguration -ConfigurationPath .\user_configuration.ps1

Aby ustawić rozszerzenie DSC platformy Azure i podać poświadczenia:

$configurationName = 'Main'
$configurationArguments = @{ Credential = Get-Credential }
$configurationArchive = 'user_configuration.ps1.zip'
$vm = Get-AzVM -Name 'example-1'

$vm = Set-AzVMDscExtension -VMName $vm -ConfigurationArchive $configurationArchive -ConfigurationName $configurationName -ConfigurationArgument @configurationArguments

$vm | Update-AzVM

Jak poświadczenia są zabezpieczone

Uruchomienie tego kodu powoduje wyświetlenie monitu o podanie poświadczeń. Po podaniu poświadczenia jest ono krótko przechowywane w pamięci. Po opublikowaniu poświadczeń przy użyciu polecenia cmdlet Set-AzVMDscExtension poświadczenie jest przesyłane za pośrednictwem protokołu HTTPS do maszyny wirtualnej. Na maszynie wirtualnej platforma Azure przechowuje poświadczenia zaszyfrowane na dysku przy użyciu lokalnego certyfikatu maszyny wirtualnej. Poświadczenie jest na krótko odszyfrowane w pamięci, a następnie ponownie zaszyfrowane, aby przekazać je do DSC.

Ten proces różni się od używania bezpiecznych konfiguracji bez procedury obsługi rozszerzeń. Środowisko platformy Azure umożliwia bezpieczne przesyłanie danych konfiguracji za pośrednictwem certyfikatów. W przypadku korzystania z programu obsługi rozszerzenia DSC nie musisz podawać $CertificatePath ani wpisu $CertificateID/ $Thumbprint w ConfigurationData.

Dalsze kroki