Meneruskan kredensial ke handler Azure DSCExtension

Artikel ini membahas ekstensi Konfigurasi Status yang Diinginkan (DSC) untuk Azure. Untuk gambaran umum penangan ekstensi DSC, lihat Pengenalan penangan ekstensi Konfigurasi Status yang Diinginkan Azure.

Catatan

Sebelum Anda mengaktifkan ekstensi DSC, kami ingin Anda mengetahui bahwa versi DSC yang lebih baru sekarang tersedia secara umum, dikelola oleh fitur Azure Automange bernama konfigurasi komputer. Fitur konfigurasi mesin menggabungkan fitur handler ekstensi Desired State Configuration (DSC), Azure Automation State Configuration, dan fitur yang paling umum diminta dari umpan balik pelanggan. Konfigurasi komputer juga mencakup dukungan komputer hibrid melalui server yang diaktifkan Arc.

Meneruskan 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 terparameter. Dalam konfigurasi terparameter, kredensial diteruskan ke konfigurasi dan disimpan dengan aman dalam file .mof. Penangan ekstensi Azure menyederhanakan manajemen kredensial dengan menyediakan manajemen sertifikat otomatis.

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

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. Penangan ekstensi secara khusus mencari pernyataan node localhost. Jika pernyataan ini hilang, langkah-langkah berikut tidak berfungsi. Penting juga untuk menyertakan typecast [PsCredential] . Tipe 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, itu 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 dengan menggunakan konfigurasi aman tanpa penangan ekstensi. Lingkungan Azure memberi Anda cara untuk mengirimkan data konfigurasi dengan aman melalui sertifikat. Saat Anda menggunakan handler ekstensi DSC, Anda tidak perlu memberikan $CertificatePath atau entri $CertificateID/ $Thumbprint di ConfigurationData.

Langkah berikutnya