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

相关推荐
Avan_菜菜5 小时前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB1 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode3 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220703 天前
如何搭建本地yum源(上)
运维
大树886 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠6 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质6 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工6 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信
酣大智6 天前
ARP代理--工作原理
运维·网络·arp·arp代理
shushangyun_6 天前
2026年快消品B2B系统推荐:支持终端门店订货、促销政策自动化的工具?
java·运维·网络·数据库·人工智能·spring·自动化