【IT 实战】使用 Tenant Configuration Management API 完成微软租户备份自动化

背景

在企业级 Azure/Microsoft Entra ID 运维中,我们难免会使用 Terraform 和 M365 DSC 脚本等途径实现安全基准一致性和备份,今年微软推出了一个工作在 Graph 的、集备份和 Drift 监视于一体的 API 方案(Tenant Configuration Management,简称 TCM),允许 IT 运维通过自动化方式在云端实现目标

重点是可以备份 Exchange Online 和 Teams 的配置,有效解决了 Terraform 目前 provider 无法接管 Exchange 的痛点。

但因为官方文档步骤分布较为零散,并不是一站式的、直接的指引,故笔者开一个文章总结,希望能帮到读者。

前置条件

微软没有明确表示订阅限制,所以哪怕你用的是最便宜的 Microsoft 365 F1 也可受益。

另外也请确保你的账号能够执行 Service Principal 创建和 Grant admin consent。

创建 Service Principal

详细步骤请见 https://learn.microsoft.com/en-us/graph/utcm-authentication-setup#set-up-the-tcm-service-principal

给 Service Principal 授权

原文只举例了部分 Graph permission 的授权,而且是通过 Graph Explorer 或 PowerShell。对于 Exchange 授权,只是链接到了非常笼统的指南

但经过一番折腾,笔者发现了一个更友好的方式。

先访问 Entra Admin Center,找到 Tenant Governance

在这里,你可以添加你需要的 Graph 权限、Exchange 权限以及 Teams Reader role。

自动化角色的权限配置

根据你的需求,选择 Delegated 或者 Application。

API call 流程示意

下图流程适合你想打 Snapshot,把配置结果上传到 Git 进行版本控制。

Create snapshot,得到 job id,然后轮询 job 状态,直到返回 status 为 succeeded,取出 json body 里的 resourceLocation 字段,最后发送 GET 请求到 resourceLocation 去拿 snapshot 结果 json 上传到 Git。

相关推荐
磊 子1 小时前
守护进程(精灵进程)
linux·运维·服务器
Suhan421 小时前
新版本Docker Desktop 自定义安装路径和下载镜像地址路径修改(附must be owned by an elevated account问题解决)
运维·docker·容器·eureka
拓朗工控1 小时前
工控机上电开机:工业自动化的脉搏启动瞬间
运维·自动化·工控机
小白考证进阶中1 小时前
微软office365怎么安装?(保姆级流程)
microsoft·微软office·mos认证·#微软办公软件国际认证·微软office365·微软office办公软件安装·微软office办公软件
|_⊙1 小时前
Linux 进程地址空间
linux·运维·服务器
RisunJan1 小时前
Linux命令-nm(列出目标文件(可执行文件、对象文件、库文件)中的符号)
linux·运维
杨云龙UP2 小时前
Oracle / ODA环境TRACE、alert日志定位与ADRCI清理 SOP_20260423
linux·运维·服务器·数据库·oracle
梦想的旅途22 小时前
自动化执行器:如何通过 RPA 逻辑实现高可靠的 API 调度?
microsoft·机器人·自动化·企业微信
@土豆2 小时前
Jenkins CI_CD流水线案例
运维·ci/cd·jenkins