Управление конфигурацией клиента Microsoft 365 с помощью Microsoft365DSC и Azure DevOps

Azure DevOps
Azure Key Vault
Виртуальные машины Windows в Azure
Microsoft 365

В этой статье описывается решение, которое отслеживает изменения, внесенные администраторами служб, и добавляет процесс утверждения в развертывания в клиенты Microsoft 365. Это поможет предотвратить неуправляемые изменения в клиентах Microsoft 365 и предотвратить смещение конфигурации между несколькими клиентами Microsoft 365.

Архитектура

Схема, демонстрирующая архитектуру для автоматизации изменений конфигураций клиента Microsoft 365.

Скачайте файл Visio для этой архитектуры.

Рабочий процесс

  1. Администратор 1 добавляет, обновляет или удаляет запись в форке администратора 1 файла конфигурации Microsoft 365.
  2. Администратор 1 фиксирует и синхронизирует изменения в вилку репозитория администратора 1.
  3. Администратор 1 создает запрос на вытягивание (PR), чтобы объединить изменения в основной репозиторий.
  4. Конвейер сборки выполняется на pr.
  5. Администраторы просматривают код и объединяют pr.
  6. Объединенный pr активирует конвейер для компиляции файлов формата управляемых объектов (MOF). Конвейер вызывает Azure Key Vault для получения учетных данных, используемых в MOF-файлах.
  7. Задача Azure PowerShell в многоэтапном конвейере использует скомпилированные MOF-файлы для развертывания изменений конфигурации с помощью Microsoft365DSC.
  8. Администраторы проверяют изменения в поэтапном клиенте Microsoft 365.
  9. Администраторы получают уведомления из процесса утверждения в Azure DevOps для рабочего клиента Microsoft 365. Администраторы утверждают или отклоняют изменения.

Компоненты

  • Azure Pipelines — это служба Azure DevOps для непрерывной интеграции и непрерывной доставки (CI/CD). Используйте Azure Pipelines для тестирования и сборки кода и отправки его в любой целевой объект. Вы также можете использовать Azure Pipelines для реализации шлюзов качества, чтобы обеспечить развертывание изменений в управляемом и согласованном режиме.
  • Key Vault улучшает безопасность хранилища для маркеров, паролей, сертификатов, ключей API и других секретов. Он также обеспечивает строго контролируемый доступ к этим секретам. Используйте Key Vault для хранения субъектов-служб и сертификатов, используемых для развертывания изменений конфигурации в клиентах Microsoft 365.
  • Microsoft365DSC обеспечивает автоматизацию развертывания, настройки и мониторинга клиентов Microsoft 365 с помощью PowerShell Desired Stage Configuration (DSC). Используйте Microsoft365DSC для развертывания изменений конфигурации в клиентах Microsoft 365 с помощью Azure Pipelines.
  • Windows PowerShell DSC — это платформа управления в PowerShell. Ее можно использовать для управления инфраструктурой разработки с помощью модели конфигурации как кода. Эта модель является базовой технологией, используемой Microsoft365DSC.

Альтернативные варианты

DSC можно использовать в служба автоматизации Azure для хранения конфигураций в центральном расположении и добавления отчетов о соответствии требуемому состоянию.

Эта архитектура использует Key Vault для хранения сертификатов службы приложение Azure или учетных данных пользователя, используемых для проверки подлинности в клиенте Microsoft 365. Key Vault обеспечивает масштабируемость. В качестве альтернативы можно использовать переменные конвейера для уменьшения сложности решения. Используя виртуальную машину Azure для Windows и DSC, вы можете применить и отслеживать конфигурацию к клиентам Microsoft 365, использующим Microsoft365DSC. Группы действий Azure можно использовать для отправки электронной почты администраторам Microsoft 365, когда виртуальная машина Windows Azure обнаруживает смещение конфигурации с помощью Microsoft 365DSC. Кроме того, группа действий Azure может запустить веб-перехватчик для активации модуля Runbook Azure для создания отчета о перемещении конфигурации в клиентах Microsoft 365.

Подробности сценария

Многие компании принимают методики DevOps и хотят применить эти методики к своим клиентам Microsoft 365. Если вы не используете DevOps для Microsoft 365, могут возникнуть некоторые распространенные проблемы:

  • Неправильные настройки
  • Проблемы с изменениями конфигурации отслеживания
  • Процесс утверждения для изменений клиента не выполняется

Решение, описанное в этой статье, можно использовать для автоматизации изменений конфигураций клиентов Microsoft 365 с помощью Azure DevOps и Microsoft365DSC. Microsoft365DSC — это модуль PowerShell DSC . Его можно использовать для настройки клиентов Microsoft 365 и управления ими в истинном стиле DevOps, который является конфигурацией в виде кода.

Потенциальные варианты использования

Это решение поможет вам управлять конфигурацией клиента Microsoft 365 в управляемом и автоматизированном режиме с помощью средств и методик DevOps в разных странах:

  • Разработка, тестирование, принятие и рабочие среды.
  • Несколько клиентов, например в сценарии с управляемым поставщиком услуг.

Рекомендации

Эти рекомендации реализуют основные принципы платформы Azure Well-Architected Framework, которая является набором руководящих принципов, которые можно использовать для улучшения качества рабочей нагрузки. Дополнительные сведения см. в статье Microsoft Azure Well-Architected Framework.

Большинство пользователей, начиная с PowerShell DSC, находят, что требуется некоторое время для изучения. Это помогает, если у вас есть твердое понимание PowerShell и опыт создания скриптов.

Безопасность

Безопасность обеспечивает гарантии от преднамеренного нападения и злоупотребления ценными данными и системами. Дополнительные сведения см. в контрольном списке проверки конструктора для безопасности.

Большинство ресурсов Microsoft365DSC поддерживают проверку подлинности с помощью имени пользователя и пароля. Мы не рекомендуем использовать этот тип проверки подлинности, так как рекомендации Майкрософт рекомендуют многофакторную проверку подлинности. Если ресурсы Microsoft 365 поддерживают их, учетные данные приложения являются предпочтительным методом. SharePoint в Microsoft 365, идентификатор Microsoft Entra и другие ресурсы поддерживают учетные данные приложения.

Если вы создаете решение Microsoft365DSC в Azure DevOps, вы также можете воспользоваться безопасностью в Azure Pipelines и процесс утверждения для защиты развертывания в рабочем клиенте.

Оптимизация затрат

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

Сведения о ценах На Azure DevOps см. в разделе "Цены на Azure DevOps". Если вы включили Key Vault в решение, ознакомьтесь с ценами на Key Vault.

Вы также можете использовать калькулятор цен Azure для оценки затрат.

Эффективность работы

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

Некоторые группы операций считают Azure DevOps инструментом для разработчиков. Но эти команды могут воспользоваться azure DevOps. Команды операций могут:

  • Сохраните свои скрипты в репозитории и добавьте управление версиями и управление версиями.
  • Автоматизация развертываний скриптов.
  • Используйте доски для отслеживания задач и проектов.

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

Уровень производительности

Эффективность производительности — это возможность масштабирования рабочей нагрузки в соответствии с требованиями, заданными пользователями. Дополнительные сведения см . в контрольном списке проверки конструктора для повышения эффективности.

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

Развертывание этого сценария

Технический документ Microsoft 365 DSC, управление Microsoft 365 в стиле DevOps с помощью Microsoft365DSC и Azure DevOps предоставляет подробные шаги по развертыванию этого сценария.

Соавторы

Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участниками.

Автор субъекта:

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

центра решений и архитектуры Microsoft 365