Bagikan melalui


Mengirimkan kredensial ke handler Azure DSCExtension

Nota

Ekstensi DSC akan dihentikan pada 31 Maret 2028. Silakan transisi ke Azure Machine Configuration pada tanggal tersebut. Untuk informasi selengkapnya, lihat pengumuman posting blog. Layanan Azure Machine Configuration menggabungkan fitur tertentu dari Ekstensi DSC, Konfigurasi Status Azure Automation, dan fitur yang umum diminta dari umpan balik pelanggan. Azure Machine Configuration juga menyertakan dukungan komputer hibrid melalui server yang didukung Arc.

Artikel ini membahas ekstensi Desired State Configuration (DSC) untuk Azure. Untuk gambaran umum handler ekstensi DSC, lihat Pengantar handler ekstensi Konfigurasi Status yang Diinginkan Azure.

Nota

New! Coba bantuan VM untuk Diagnostik Yang Lebih CepatKami menyarankan agar Anda menjalankan VM assist untuk Windows atau VM assist untuk Linux. Alat diagnostik berbasis skrip ini membantu Anda mengidentifikasi masalah umum yang memengaruhi Agen Tamu Azure VM dan kesehatan VM secara keseluruhan.

Memasukkan kredensial

Sebagai bagian dari proses konfigurasi, Anda mungkin perlu menyiapkan akun pengguna, mengakses layanan, atau menginstal program dalam konteks pengguna. Untuk melakukan hal-hal ini, Anda perlu memberikan kredensial.

Anda dapat menggunakan DSC untuk menyiapkan konfigurasi berparameter. Dalam konfigurasi berparameter, kredensial diteruskan ke konfigurasi dan disimpan dengan aman dalam file .mof. Handler ekstensi Azure menyederhanakan manajemen kredensial dengan menyediakan manajemen sertifikat otomatis.

Skrip konfigurasi DSC berikut membuat akun pengguna lokal dengan kata sandi yang ditentukan:

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
        }
    }
}

Penting untuk menyertakan node localhost sebagai bagian dari konfigurasi. Handler ekstensi secara khusus mencari pernyataan node localhost. Jika pernyataan ini hilang, langkah-langkah berikut tidak berfungsi. Penting juga untuk menyertakan typecast [PsCredential]. Jenis spesifik ini memicu ekstensi untuk mengenkripsi kredensial.

Untuk menerbitkan skrip ini ke penyimpanan Azure Blob:

Publish-AzVMDscConfiguration -ConfigurationPath .\user_configuration.ps1

Untuk mengatur ekstensi Azure DSC dan memberikan kredensial:

$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

Bagaimana kredensial diamankan

Menjalankan kode ini meminta kredensial. Setelah kredensial disediakan, kredensial disimpan secara singkat dalam memori. Ketika kredensial diterbitkan dengan menggunakan cmdlet Set-AzVMDscExtension , kredensial dikirimkan melalui HTTPS ke VM. Di VM, Azure menyimpan kredensial yang dienkripsi pada disk dengan menggunakan sertifikat VM lokal. Kredensial didekripsi secara singkat dalam memori, dan kemudian dienkripsi ulang untuk meneruskannya ke DSC.

Proses ini berbeda dari menggunakan konfigurasi aman tanpa handler ekstensi. Lingkungan Azure memberi Anda cara untuk mengirimkan data konfigurasi dengan aman melalui sertifikat. Saat Anda menggunakan handler ekstensi DSC, Anda tidak perlu menyediakan entri $CertificatePath atau $CertificateID/ $Thumbprint di ConfigurationData.

Langkah selanjutnya