Описанное здесь решение отслеживает изменения, внесенные администраторами служб, и добавляет процесс утверждения к развертываниям в клиентах Microsoft 365. Это поможет предотвратить неуправляемые изменения в клиентах Microsoft 365. Он также помогает предотвратить дрейф конфигурации между несколькими клиентами Microsoft 365.
Архитектура
Скачайте файл Visio для этой архитектуры.
Рабочий процесс
- Администратор 1 добавляет, обновляет или удаляет запись в Администратор 1 вилке файла конфигурации Microsoft 365.
- Администратор 1 фиксирует и синхронизирует изменения в вилку репозитория Администратор 1.
- Администратор 1 создает запрос на вытягивание (PR), чтобы объединить изменения в основной репозиторий.
- Конвейер сборки выполняется на pr.
- Администратор просматривает код и объединяет pr.
- Объединенный pr активирует конвейер для компиляции файлов формата управляемых объектов (MOF). Конвейер вызывает Azure Key Vault для получения учетных данных, используемых в MOFS.
- Задача Azure PowerShell в многоэтапном конвейере использует скомпилированные MOF-файлы для развертывания изменений конфигурации с помощью Microsoft365DSC.
- Администратор проверяет изменения в поэтапном клиенте Microsoft 365.
- Администратор получает уведомление из процесса утверждения в 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 для оценки затрат.
Соавторы
Эта статья поддерживается корпорацией Майкрософт. Первоначально он был написан следующими участник.
Автор субъекта:
- Дерек Смай | Старший инженер клиента
Следующие шаги
- Управление Microsoft 365 в стиле DevOps с помощью Microsoft365DSC и Azure DevOps
- Исходный код Microsoft365DSC
- Канал YouTube Microsoft365DSC
- Сайт Microsoft365DSC
- Средство генератора экспорта Microsoft365DSC