【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。

相关推荐
DLYSB_2 小时前
存储运维实战:基于 Ceph Event 监听与 Python 适配器的分布式存储健康度物理声光响应架构
运维·ceph·python·报警灯
阿里云云原生3 小时前
可用性从 99.9% 跃升至 99.995%:畅捷通如何用 AI 重塑运维底座?
运维·网络·人工智能
阿童木写作4 小时前
Python实现Temu图片批量翻译自动化教程
运维·人工智能·python·自动化
iori97king5 小时前
库存不足自动通知:第一次使用自动化
运维·自动化
@insist1235 小时前
信息系统管理工程师-信息系统运维资源、技术与智能运维核心考点解析
运维·软考·信管·软件水平考试·信息系统管理工程师
木子欢儿5 小时前
Intel 架构的 MacBook Pro 运行 Linux 发热量高解决
linux·运维·服务器
海盗12347 小时前
微软技术周报 ——2026-08-03
后端·python·microsoft·c#·.netcore
KKKlucifer7 小时前
运营商全域安全运维支撑体系落地实践
运维·安全
EAIReport8 小时前
工业电气自动化数据治理破局:多Agent大模型赋能全景智能决策
大数据·运维·自动化
会编程的土豆8 小时前
Go 模板初识
linux·运维·服务器