Поделиться через


Передача учетных данных в обработчик Azure DSCExtension

В этой статье описывается расширение Desired State Configuration (DSC) для Azure. Обзор обработчика расширения DSC см. в статье Общие сведения об обработчике расширения Desired State Configuration в Azure.

Примечание.

Прежде чем включить расширение DSC, мы хотели бы знать, что более новая версия DSC теперь общедоступна, управляемая функцией конфигурации именованных компьютеров Azure Automange. Функция конфигурации компьютера объединяет функции обработчика расширений требуемой конфигурации состояния (DSC), служба автоматизации Azure конфигурации состояния и наиболее часто запрашиваемые функции из отзывов клиентов. Конфигурация компьютера также включает поддержку гибридных компьютеров с помощью серверов с поддержкой Arc.

Передача учетных данных

В рамках процесса настройки может потребоваться настройка учетных записей пользователей, доступ к службам или установка программы в пользовательском контексте. Чтобы выполнить эти действия, необходимо указать учетные данные.

DSC можно использовать для настройки параметризованных конфигураций. В параметризованной конфигурации учетные данные передаются в конфигурацию и надежно хранятся в MOF-файлах. Обработчик расширений Azure упрощает управление учетными данными, предоставляя автоматическое управление сертификатами.

Следующий скрипт конфигурации DSC создает учетную запись локального пользователя с указанным паролем.

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

Важно включить node localhost в конфигурацию. Обработчик расширений специально ищет инструкцию node localhost. Если эта инструкция отсутствует, следующие шаги не работают. Важно также добавить приведение типа [PsCredential], так как этот конкретный тип активирует в расширении шифрование учетных данных.

Для публикации этого скрипта в хранилище BLOB-объектов Azure:

Publish-AzVMDscConfiguration -ConfigurationPath .\user_configuration.ps1

Для установки расширения Azure DSC и указания учетных данных:

$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

Как обеспечивается безопасность учетных данных

При выполнении этого кода запрашиваются учетные данные. После предоставления учетных данных они недолго хранятся в памяти. При публикации с помощью командлета Set-AzVMDscExtension учетные данные передаются на виртуальную машину по протоколу HTTPS, где Azure сохраняет их в зашифрованном виде на диске с использованием локального сертификата виртуальной машины. Затем они быстро расшифровываются в памяти и повторно шифруются для передачи в DSC.

Этот процесс отличается от использования безопасных конфигураций без обработчика расширений. Среда Azure предоставляет способ безопасной передачи данных конфигурации с помощью сертификатов. При использовании обработчика расширений DSC нет необходимости указывать запись $CertificatePath либо $CertificateID/ $Thumbprint в ConfigurationData.

Следующие шаги