Управление конфигурацией клиента 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 для получения учетных данных, используемых в MOFS.
  7. Задача Azure PowerShell в многоэтапном конвейере использует скомпилированные MOF-файлы для развертывания изменений конфигурации с помощью Microsoft365DSC.
  8. Администратор проверяет изменения в поэтапном клиенте Microsoft 365.
  9. Администратор получает уведомление из процесса утверждения в Azure DevOps для рабочего клиента Microsoft 365. Администратор утверждают или отклоняют изменения.

Компоненты

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

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

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

Эта архитектура использует Key Vault для хранения сертификатов службы приложение Azure или учетных данных пользователя, используемых для проверки подлинности в клиенте Microsoft 365. Key Vault обеспечивает масштабируемость. В качестве альтернативы можно использовать переменные конвейера для уменьшения сложности решения.

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

Многие компании принимают методики 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 и опыт создания скриптов.

Операции

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

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

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

Масштабируемость

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

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

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

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

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

DevOps

Это решение можно запустить в Azure DevOps Server. Вы можете создать аналогичное решение в GitHub с помощью GitHub Actions.

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

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

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

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

Соавторы

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

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

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