你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 Microsoft365DSC 和 Azure DevOps 管理 Microsoft 365 租户配置

Azure DevOps
Azure Key Vault
Azure Windows 虚拟机
Microsoft 365

本文介绍一种解决方案,用于跟踪服务管理员所做的更改,并将审批过程添加到Microsoft 365 租户的部署。 它可以帮助你防止Microsoft 365 租户的未跟踪更改,并防止多个Microsoft 365 租户之间的配置偏差。

体系结构

显示自动更改 Microsoft 365 租户配置的体系结构的图片。

下载此体系结构的 Visio 文件

工作流

  1. 管理员 1 在 Microsoft 365 配置文件的 Admin 1 分支中添加、更新或删除条目。
  2. 管理员 1 提交并同步对管理员 1 的分支存储库的更改。
  3. 管理员 1 创建拉取请求 (PR),以便合并对主存储库的更改。
  4. 生成管道在 PR 上运行。
  5. 管理员查看代码并合并 PR。
  6. 合并的 PR 触发管道来编译托管对象格式 (MOF) 文件。 管道调用 Azure 密钥库来检索 MOF 文件中使用的凭据。
  7. 多阶段管道中的 Azure PowerShell 任务使用已编译的 MOF 文件通过 Microsoft365DSC 部署配置更改。
  8. 管理员验证暂存Microsoft 365 租户中的更改。
  9. 管理员从生产 Microsoft 365 租户的 Azure DevOps 中的批准过程中获得通知。 管理员批准或拒绝更改。

组件

  • Azure Pipelines 是一项 Azure DevOps 服务,用于持续集成和持续交付(CI/CD)。 使用 Azure Pipelines 测试和生成代码并将其寄送到任何目标。 还可以使用 Azure Pipelines 来实现质量入口,以帮助确保以受控且一致的方式部署更改。
  • 密钥库改进了令牌、密码、证书、API 密钥和其他机密的存储安全性。 还能以严格受控的方式来访问这些机密。 使用密钥库存储用于将配置更改部署到 Microsoft 365 租户的服务主体和证书。
  • Microsoft365DSC 通过 PowerShell Desired Stage Configuration(DSC)为Microsoft 365 租户的部署、配置和监视提供自动化。 使用 Microsoft365DSC 通过 Azure Pipelines 将配置更改部署到 Microsoft 365 租户。
  • Windows PowerShell DSC 是 PowerShell 中的管理平台。 通过此管理平台,可以使用配置即代码模型管理你的开发基础架构。 此模型是 Microsoft365DSC 使用的基础技术。

备选方法

你可以使用 Azure 自动化中的 DSC 将配置存储在中央位置,并添加符合所需状态的报告。

此体系结构使用密钥保管库存储 Azure 应用服务证书或用于向 Microsoft 365 租户进行身份验证的用户凭据。 密钥保管库提供可伸缩性。 作为替代方案,你可以使用管道变量来降低解决方案的复杂性。 通过使用适用于 Windows 和 DSC 的 Azure 虚拟机(VM),可以应用和监视使用 Microsoft365DSC 的 365 租户Microsoft配置。 当 Azure Windows VM 使用 Microsoft 365DSC 检测到配置偏移时,可以使用 Azure 操作组 向 Microsoft 365 管理员发送电子邮件。 此外,Azure 操作组还可以运行 Webhook 来触发 Azure Runbook ,以生成 Microsoft 365 租户中的配置偏移报告

方案详细信息

许多公司正在采用 DevOps 实践,并希望将这些实践应用于其 Microsoft 365 租户。 如果没有对 Microsoft 365 采用 DevOps,可能会遇到一些常见问题:

  • 配置错误
  • 跟踪配置更改时遇到的挑战
  • 租户修改没有审批过程

你可以使用本文中描述的解决方案,通过 Azure DevOpsMicrosoft365DSC 自动更改 Microsoft 365 租户配置。 Microsoft365DSC 是 PowerShell DSC 模块。 可以使用它以真正的 DevOps 样式配置和管理Microsoft 365 个租户,即配置为代码。

可能的用例

此解决方案可帮助你通过使用 DevOps 工具和做法,以受控和自动化的方式管理 Microsoft 365 租户配置:

  • 开发、测试、验收和生产环境。
  • 多个客户租户,例如在托管服务提供商方案中。

注意事项

这些注意事项实施 Azure 架构良好的框架的支柱原则,即一套可用于改善工作负荷质量的指导原则。 有关详细信息,请参阅 Microsoft Azure 架构良好的框架

大多数开始使用 PowerShell DSC 的人都发现,学会它需要一段时间。 如果你对 PowerShell 有深入的了解并具有创建脚本的经验,这将很有帮助。

安全性

安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅可靠性设计审查检查表

大多数 Microsoft365DSC 资源都支持通过用户名和密码进行身份验证。 不建议使用这种类型的身份验证,因为Microsoft最佳做法建议多重身份验证。 如果Microsoft 365 个资源支持它们,则应用程序凭据是首选方法。 Microsoft 365 中的 SharePoint、Microsoft Entra ID 和其他资源支持应用程序凭据。

如果在 Azure DevOps 上构建 Microsoft365DSC 解决方案,还可以利用 Azure Pipelines 的安全性和审批过程来保护部署到生产租户。

成本优化

成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅成本优化设计评审核对清单

有关 Azure DevOps 定价信息,请参阅 Azure DevOps 定价。 如果将密钥库合并到解决方案中,请参阅密钥库定价

还可以使用 Azure 定价计算器来估算成本。

卓越运营

卓越运营涵盖了部署应用程序并使其在生产环境中保持运行的运营流程。 有关详细信息,请参阅设计卓越运营的审查清单

一些运营团队将 Azure DevOps 视为开发人员的工具。 但是这些团队可以从使用 Azure DevOps 中受益。 运营团队可以执行以下操作:

  • 将他们的脚本存储在存储库中并添加源代码控制和版本控制。
  • 自动部署脚本。
  • 使用版块跟踪任务和项目。

使用配置即代码模型不是一次性任务。 这既是你自己工作方式的转变,而且对于所有团队成员来说,也是种根本变化。 不再手动进行更改。 相反,一切都在脚本中实现并自动部署。 所有团队成员都需要具备做出这种改变的技能。

性能效率

性能效率是指工作负荷能够以高效的方式扩展以满足用户对它的需求。 有关详细信息,请参阅性能效率设计评审核对清单

在处理多个环境、多个工作负荷或多个团队时,可以使用此解决方案。 可以配置验证过程,以便专家需要批准每个工作负荷。 还可以扩展解决方案,以部署到多个租户的方案,包括开发、测试、验收和生产方案,或针对多个组织。

部署此方案

Microsoft 365 DSC 白皮书, 使用 Microsoft365DSC 和 Azure DevOps 以真正的 DevOps 风格管理 Microsoft 365,提供了部署此方案的详细步骤。

供稿人

本文由 Microsoft 维护。 最初由以下贡献者撰写。

主要作者:

后续步骤

使用 CI/CD 时 Azure 中的端到端治理