Spec-Zone.ru › Chef 16

Развертывание без участия пользователя для macOS и Windows в Azure

[править на GitHub]

Примечание

Документация по управлению приложениями для Chef Desktop находится в активной разработке. Возвращайтесь, чтобы узнать о будущих усовершенствованиях и улучшениях.

Шаблон и инструменты Chef Desktop расширяют знакомые системы управления устройствами, предоставляя обширные возможности управления приложениями и конфигурациями, которые спроектированы для масштабирования с помощью автоматизации.

Chef Desktop предоставляет кулинарную книгу с настройками YAML, которая охватывает наиболее распространенные (и некоторые менее распространенные) потребности в конфигурации устройств. Конечно, мы продолжаем поддерживать и улучшать наши классические настройки кулинарной книги Ruby, когда вам нужно выйти за рамки обычного. Шаблон Chef Desktop настраивает вас на управление приложениями с помощью CDN, поэтому даже когда тысяча устройств в вашем парке означает управление десятками тысяч приложений, ваши пользователи Windows и macOS по-прежнему могут получать доступ к ним через единый каталог. Chef Desktop использует ведущие инструменты Chef Software, обеспечивая возможность отслеживания, отчеты о соответствии и журнал аудита как часть процесса.

Это руководство посвящено автоматизации шаблона Chef Desktop для управления вашими устройствами macOS и Windows.

Обзор конфигурации

В Chef Desktop используется треугольник рабочих задач. Первая сторона — сервер Chef Infra с Chef Automate, который хранит и применяет конфигурации к вашим узлам. Вторая сторона — узел разработчика с Chef Workstation, на котором вы создаете и определяете политики и настройки, которые распространяет сервер Chef Infra. Третья сторона треугольника — список узлов, к которым применяются различные политики и настройки.

Процесс автоматизации включает следующие шаги:

  1. Узел, например, ноутбук или настольный компьютер, при первом запуске регистрируется в Apple Business Manager (ABM) или Azure.
  2. ABM или Azure регистрируют устройство как управляемое и перенаправляют его в Microsoft Intune для управления.
  3. Microsoft Intune регистрирует и предоставляет устройство в период между выбором пользователем «Далее» на экране входа и открытием рабочего стола.

Это руководство поможет вам:

  • Создать свой экземпляр Azure
  • Создать пакет InstallApplications для запуска macOS
  • Создать и развернуть Munki для развертывания приложений на устройствах macOS
  • Написать скрипты PowerShell для запуска Windows
  • Создать и развернуть Gorilla для развертывания приложений на устройствах Windows

Предварительные условия

Это руководство предполагает, что вы выполнили предыдущие шаги:

  1. Установка компонентов Chef
  2. Среда разработки кулинарной книги Chef Desktop
  3. Шаблон разработки Chef Desktop

Необходимое программное обеспечение

Интеграция Chef Desktop с Microsoft Intune и программным обеспечением Windows Autopilot, а также с конкретным программным обеспечением для систем macOS и Windows.

Для решения в этом руководстве требуется:

Microsoft Azure
Если у вас еще нет учетной записи, зарегистрируйтесь на сайте https://azure.microsoft.com
Microsoft Intune
Microsoft Intune — это облачная служба, которую вы будете использовать для регистрации и отправки конфигурации на устройства.
Windows Autopilot
Windows Autopilot упрощает управление устройствами Windows со стороны ИТ-служб.

macOS

Учетная запись Apple Enterprise Developer
Эта программа позволяет автоматически назначать устройства macOS службе MDM, которая затем готовит устройства для вас. Программа Apple Developer Enterprise Program — это программа, которая поддерживает крупные организации в разработке и развертывании собственных приложений для внутреннего использования сотрудникам. Вы можете встретить упоминание о программе Apple Device Enrollment Program (DEP) в других местах, которая является предшественником ABM и используется взаимозаменяемо с ABM.
AutoPkg
AutoPkg — это фреймворк автоматизации для упаковки и распространения программного обеспечения macOS, ориентированный на задачи, которые можно выполнить вручную, чтобы подготовить стороннее программное обеспечение для массового развертывания на управляемых клиентах.
Munki
Munki — это проект с открытым исходным кодом от Walt Disney Animation Studios. Это набор инструментов для управления приложениями на компьютерах macOS.
MunkiAdmin
MunkiAdmin — это графический интерфейс пользователя (GUI) для управления репозиториями munki
Storage Explorer
Storage Explorer — это бесплатный инструмент от Microsoft для управления ресурсами облачного хранилища Azure.

Windows

Gorilla
Gorilla — это проект с открытым исходным кодом. Это набор инструментов для управления приложениями на компьютерах Windows.
Storage Explorer
Storage Explorer — это бесплатный инструмент от Microsoft для управления ресурсами облачного хранилища Azure.

Настройка Azure

Настройка Microsoft Intune и Active Directory

Сначала ознакомьтесь с настройкой Microsoft Intune

Потратьте некоторое время на изучение этого документа, чтобы настроить свои экземпляры Microsoft Intune и Azure Active Directory.

Регистрация устройств в Azure

Самый быстрый и лучший способ настройки устройства macOS — это не касаться его физически.

В этом случае вы войдете в Apple Business Manager и воспользуетесь приведенной выше статьей, чтобы настроить Azure как MDM, который получает ноутбуки и другие устройства, которые вы хотите управлять.

Варианты для Windows

Сначала ознакомьтесь с началом работы с Windows Autopilot

Для устройств Windows Azure выполняет роль как службы регистрации, так и MDM одновременно. Кроме того, текущие версии Windows 10 будут загружаться из Azure при получении правильных настроек с ноутбука.

Динамическое управление устройствами

Используйте динамические группы устройств для регистрации устройств macOS и Windows и автоматического назначения профилей и политик конфигурации. Динамические группы устройств необходимы для устройств macOS и устройств Windows в стиле киоска, поскольку всем устройствам в группах назначаются правильные политики.

Создать динамическую группу устройств Autopilot

Динамическое управление пользователями

Но что, если вы хотите иметь большую гибкость для управления пользователями вместо устройств? Этот подход создает группу пользователей, которая применяет те же политики к отдельным лицам. Таким образом, если пользователь входит в другую систему, его учетная запись по-прежнему будет управляться должным образом.

Создать динамическую группу пользователей

Варианты для OS X

Автоматическая регистрация OSX

В этой статье описаны действия по настройке Windows Autopilot и Microsoft Intune для обработки устройств macOS при их первом запуске.

Создание групп устройств

Вам нужно создать две группы устройств для macOS и две для Windows (в общей сложности четыре группы устройств). Вы будете использовать первую группу устройств для применения начального профиля регистрации. Вторая группа устройств предназначена для применения, обновления и удаления пакетов, скриптов и т. д. на устройствах.

Создание профилей регистрации/развертывания

Теперь, когда ваши системы перечислены в Azure, нам нужно поместить их в профиль регистрации или развертывания. Эта начальная настройка устройства поместит его под управление.

Сначала ознакомьтесь с началом работы с Microsoft Intune

Скрипты конфигурации

Для устройств Windows разработайте свои скрипты конфигурации PowerShell для создания и заполнения файла validation.pem и файла client.rb в каталоге c:\chef. Вы также захотите установить клиент Chef Infra.

Регистрация устройств на сервере Chef Infra

Инструмент knife командной строки предоставляет интерфейс для взаимодействия с сервером Chef Infra с локальной рабочей станции. Вы будете использовать две команды knife со своей рабочей станции разработчика на сервер Chef Infra. Первая команда создает узел на сервере Chef Infra, а вторая назначает политику Chef этому узлу.

# knife node policy set SERIAL_NUMBER_OR_FQDN 'NODE_GROUP' 'POLICYFILE'

knife node create S90T7HK2
Created node [S90T7HK2]
knife node policy set S90T7HK2 'Windows_Node_Policy_Group' 'ChefDesktop'
Successfully set the policy on node S90T7HK2

Перерегистрация устройств на сервере Chef Infra

Во время тестирования — и в любое другое время, когда вы меняете содержимое устройства — вам может потребоваться перерегистрировать его. Выполните следующие шаги для перерегистрации устройства:

# Chef Infra Server distinguishes between a Node object and a Client object
knife node delete S90T7HK2
Deleted node [S90T7HK2]
knife client delete S90T7HK2
Deleted client [S90T7HK2]
knife node create S90T7HK2
Created node [S90T7HK2]
knife node policy set S90T7HK2 'Windows_Node_Policy_Group' 'desktop-config'
Successfully set the policy on node S90T7HK2

Настройка управления приложениями

Одна из замечательных особенностей автоматизированной настройки управления — это возможность активно управлять приложениями, которые отображаются на рабочих столах пользователей. Для работы с приложениями macOS мы используем Munki. Для работы с приложениями Windows мы используем Gorilla. Наша первоначальная цель — распространить несколько необходимых приложений пользователям.

Два приложения будут обрабатывать как установку, так и удаление приложений. Кроме того, Munki для macOS предоставляет готовое приложение, которое может отображаться пользователям и предлагать им неподдерживаемые приложения. Для пользователей Windows мы будем публиковать неподдерживаемые приложения через частный Microsoft Store.

Создание CDN

Для начала следуйте этому документу, чтобы настроить сеть доставки содержимого (CDN) Azure. После настройки у вас будет пустой CDN. Используйте этот пустой CDN для размещения всего содержимого приложения, которое мы хотим развернуть для наших компьютеров Mac и устройств Windows. Нам нужно будет настроить немного разные структуры каталогов и файлов для каждого типа ОС.

Создание CDN Azure

Создание контейнеров в вашей учетной записи хранения

Теперь создайте два контейнера в вашей учетной записи хранения для хранения контента для наших пользователей. Для устройств macOS весь контент, который мы хотим им предоставить — либо «управляемый» (мы отправляем его им), либо «неуправляемый» (пользователи могут загрузить его по желанию) — хранится здесь. Для пользователей Windows только управляемый контент попадает в соответствующий контейнер, и мы будем использовать App Store, чтобы сделать доступными для них лицензионные приложения.

  1. Перейдите в вашу учетную запись хранения
  2. Перейдите к хранилищу BLOB-объектов > Контейнеры
  3. Создайте 2 контейнера, один из которых будет называться «Munki», а другой — «Gorilla»
  4. Установите для них уровень доступа «Контейнер»

Следующий шаг — создание базовой структуры каталогов в каждом контейнере, ожидаемой клиентами приложения. В контейнере Gorilla создайте папки, соответствующие этой структуре. Мы собираемся создать файлы, которые будут находиться в папках ниже. Сначала создайте только верхнеуровневые папки для обоих клиентов; дочерние папки указаны в примере ниже, чтобы дать вам представление о том, как структура файлов будет выглядеть со временем по мере добавления приложений.

[Gorilla web root]
├── manifests
│   ├── *.yaml
├── catalogs
│   ├── *.yaml
└── packages
    ├── Firefox
    ├── Chrome
    ├── *.nupkg
    ├── *.msi
    ├── *.exe
    └── *.ps1

Теперь для контейнера Munki создайте структуру папок, которая выглядит так:

[Munki web root]
├── catalogs
│   ├── *.yaml
├── manifests
│   ├── *.yaml
├── icons
│   ├── *.ico
├── pkgsinfo
│   ├── *.*
└── pkgs
    ├── *.pkg

macOS (Munki) Каталог и манифест

Потратьте некоторое время на обдумывание и планирование того, что вы в конечном итоге хотите поместить в свои манифесты и каталоги, к которым могут получить доступ ваши пользователи. Для простоты мы продемонстрируем установку Firefox и VS Code на клиентах, чтобы дать вам представление о том, как развертывать для каждого типа ОС.

Установка Munki

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

Начните с ознакомления с документацией Munki.

Далее, скачайте Munki на свой macOS и установите его.

Настройка локального общего доступа к файлам на вашем Mac

Мы собираемся настроить локальный общий доступ к файлам на вашем Mac. Мы будем использовать инструменты ниже, чтобы заполнить его необходимыми настройками и конфигурацией. Следуйте этой инструкции, чтобы настроить локальный репозиторий, мы будем использовать Server Explorer для синхронизации его с Azure — перейдите к разделу «Создание репозитория «сервера»

Для получения руководства следуйте демонстрации настройки Munki.

Настройка Munki

Запустите эту команду для настройки Munki. Путь к репозиторию должен совпадать с тем, который вы создали выше. Обратите внимание, что путь должен содержать 3 косые черты в нем file:///

munkiimport --configure

Теперь вы можете импортировать файлы pkg. При импорте первого пакета каталог для вас автоматически создается.

munkiimport - firefox
munkiimport - VSCode

Далее, выполните следующие autopkg команды, чтобы получить все инструменты Munki для использования узлами (ноутбуками).

autopkg repo-add recipes
autopkg run -k MUNKI_REPO=/Users/Shared/munki_repo munkitools4.munki

После этого запустите makecatalogs , чтобы обновить Munki.

makecatalogs

Наконец, запустите manifestutil , чтобы создать манифест и включить ваши приложения в управляемые установки. Если у вас возникнут проблемы с инструментом, вы можете переключиться на графический интерфейс MunkiAdmin. Графический интерфейс MunkiAdmin значительно упрощает просмотр конфигурационных файлов.

/usr/local/munki/manifestutil
Entering interactive mode... (type "help" for commands)
> new-manifest site_default
> add-catalog my_catalog --manifest site_default
Added testing to catalogs of manifest site_default.
> add-pkg Firefox --manifest site_default
Added Firefox to section managed_installs of manifest site_default.
> add-pkg VSCode --manifest site_default
Added VSCode to section managed_installs of manifest site_default.
> add-pkg munkitools_admin --manifest site_default
Added munkitools_admin to section managed_installs of manifest site_default.
...
> exit

Теперь вы можете использовать Storage Explorer, чтобы перенести все это в ваше хранилище Azure Blob Storage.

Пример каталога Munki

Ниже приведен фрагмент каталога Munki. Вы можете изменить детали при необходимости, но настоятельно рекомендуется использовать вышеуказанные инструменты, чтобы уменьшить вероятность ошибки.

<plist version="1.0">
    <array>
        <dict>
            <key>autoremove</key>
            <false/>
            <key>catalogs</key>
            <array>
              <string>mycatalog</string>
            </array>
            <key>display_name</key>
            <string>VSCode</string>
            <key>installed_size</key>
            <integer>1285143</integer>
            <key>installer_item_hash</key>
            <string>
              b9a5b90ff2b0bb733a9b719fe2afea5d5dc02875dc96b969a9fcf8b9de9214a6
            </string>
            <key>installer_item_location</key>
            <string>VSCode.pkg</string>
            <key>installer_item_size</key>
            <integer>513821</integer>
            <key>minimum_os_version</key>
            <string>10.5.0</string>
            <key>name</key>
            <string>VSCode</string>
            <key>receipts</key>
            <array>
                <dict>
                    <key>installed_size</key>
                    <integer>1285143</integer>
                    <key>packageid</key>
                    <string>com.microsoft.visual-studio</string>
                    <key>version</key>
                    <string>8.5.2</string>
                </dict>
            </array>
            <key>unattended_install</key>
            <true/>
            <key>uninstall_method</key>
            <string>removepackages</string>
            <key>uninstallable</key>
            <true/>
            <key>version</key>
            <string>1.45.1</string>
            </dict>

Пример манифеста Munki

Обратите внимание, что формат манифеста Munki аналогичен тому, что использует Gorilla:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>catalogs</key>
        <array>
                <string>my_catalog</string>
        </array>
        <key>included_manifests</key>
        <array>
        </array>
        <key>managed_installs</key>
        <array>
                <string>munkitools_app</string>
                <string>munkitools_app_usage</string>
                <string>munkitools_core</string>
                <string>munkitools_launchd</string>
                <string>Firefox</string>
                <string>VSCode</string>
        </array>
        <key>managed_uninstalls</key>
        <array>
        </array>
        <key>managed_updates</key>
        <array>
        </array>
        <key>optional_installs</key>
        <array>
        </array>
</dict>
</plist>

Вы также можете использовать AWS для вашей CDN.

После подготовки каталога и манифеста вы можете протестировать это на узле macOS, выполнив следующие команды в окне терминала. Выполните первую команду на своем клиенте macOS, чтобы проверить, что правильная конфигурация достигла этого узла, а затем выполните вторую команду, чтобы фактически установить управляемые приложения.

sudo /usr/local/munki/managedsoftwareupdate --show-config

sudo /usr/local/munki/managedsoftwareupdate

Windows (Gorilla) Каталог и манифест

Потратьте некоторое время на обдумывание и планирование того, что вы в конечном итоге хотите поместить в свои манифесты и каталоги, к которым могут получить доступ ваши пользователи. Для простоты мы продемонстрируем установку Firefox и VS Code на клиентах, чтобы дать вам представление о том, как развертывать для каждого типа ОС.

Как работает Gorilla

Сохраните файл config.yaml в директорию /files вашего кулинарного руководства Chef Desktop. Настройка ресурса приложения в файле рецепта Windows развертывает параметр config.yaml на ваших настольных компьютерах Windows 10. В следующий раз, когда Gorilla проверит вашу CDN, она загрузит манифест, проанализирует приложения и списки каталогов для загрузки, и, наконец, загрузит приложения, сначала загрузив каталоги, а затем попытавшись загрузить приложения из каталогов. Чтобы увидеть это в действии, используйте gorilla -d из командной строки, чтобы получить вывод отладки.

Документация Gorilla

Пример gorilla catalog.yaml

---Chocolatey:display_name:Chocolateycheck:file:- path:C:\ProgramData\chocolatey\choco.exeversion:0.10.15installer:hash:0C1282378641E03564844D04881209AA946D7D2475049BE32B3151BD68F2758Flocation:packages/chocolatey/chocolatey_installer-1.0.ps1type:ps1version:1.0ChocolateyCoreExtension:dependencies:- Chocolateydisplay_name:Chocolatey Core Extensioncheck:file:- path:C:\ProgramData\chocolatey\extensions\chocolatey-core\chocolatey-core.psm1hash:376E6EDA567DDDD6AA70CFC9EC5380CE0EB1383BE83C2FBDC87F6FC79252E4E8installer:hash:5ECEF3B776508CEBC4B52E9AC7F04D213C2045A6765F12E17545A5FBE2F41928location:packages/chocolatey/extensions/core/chocolatey-core.extension.1.3.5.1.nupkgtype:nupkgversion:1.3.5.1FireFox:display_name:Firefoxcheck:file:- path:C:\Program Files\Mozilla Firefox\firefox.exeversion:75.0installer:hash:FF029F6E59D9D92D3AC5F8E837C973B641B3400980624D3A830DCFE55D4C71FClocation:packages/firefox/Firefox Setup 75.0.exearguments:- /S- /INI=c:\gorilla\cache\install.initype:exeversion:75.0VSCode:display_name:VSCodecheck:file:- path:C:\Program Files\Microsoft VS Code\Code.exeversion:1.45.1installer:location:packages/vscode/VSCodeSetup-x64-1.45.1.exehash:E9E107CF53F8F06688C881E4616BD9A8553D012A657389399827E0EC2155633Carguments:- /VERYSILENT- /MERGETASKS=!runcodetype:exeuninstaller:location:packages/vscode/VSCodeSetup-x64-1.45.1.exehash:E9E107CF53F8F06688C881E4616BD9A8553D012A657389399827E0EC2155633Ctype:exeversion:1.45.1

Пример Gorilla Manifest.yaml

---name:my_manifestmanaged_installs:- Chocolatey- ChocolateyCoreExtension- VSCode- Firefoxmanaged_uninstalls:managed_updates:included_manifests:catalogs:- my_catalog

Пример файла Gorilla config.yaml

---url:https://<your_cdn_name>.blob.core.windows.net/gorilla/manifest:my_manifestcatalogs:- my_catalogapp_data_path:C:/gorilla/cache

Настройка приложений в частном магазине для Windows

Мы говорили о втором способе предоставления приложений пользователям в Windows. Этот метод включает в себя лицензирование приложений и предоставление их пользователям через ваш частный магазин Microsoft. Следуйте инструкциям здесь, чтобы это сработало для вас.

Настройка частного магазина в Azure

Окончательный список проверок

Вы почти готовы начать процесс. Убедитесь, что вы выполнили следующие шаги:

  • Вы настроили Apple Business Manager
  • Вы импортировали серийный номер по крайней мере одного из ваших устройств macOS
  • Вы настроили ваше MDM в Apple Business Manager для приема ваших устройств
  • Вы настроили и наконфигурировали MDM для приема устройств из Apple Business Manager
    • У вас есть все ваши сертификаты
    • Вы создали и загрузили пакет InstallApplications и импортировали его в MDM
  • Если вы собираетесь использовать Munki, подтвердите, правильно ли настроен бакет S3 для него.

Если все пойдет по плану, вы должны быть готовы к сбросу/перезапуску вашего первого узла, загрузке всех пакетов и/или скриптов, загрузке Chef Infra Client и выполнению первого запуска клиента.

  • Далее: Развертывание «нулевого контакта» с MicroMDM для macOS
  • Последний: Шаблон разработки Chef Desktop

© Chef Software, Inc.
Licensed under the Creative Commons Attribution 3.0 Unported License.
The Chef™ Mark and Chef Logo are either registered trademarks/service marks or trademarks/servicemarks of Chef, in the United States and other countries and are used with Chef Inc's permission.
We are not affiliated with, endorsed or sponsored by Chef Inc.
https://docs.chef.io/desktop/desktop_azure/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API