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

相关推荐
无奈笑天下10 小时前
银河麒麟上nproc命令教程详解
linux·运维·服务器
威嵌神州14 小时前
嵌入式排故实录:高并发下串口数据“超时丢包”的根因剖析与架构优化
运维·服务器·嵌入式硬件·缓存
Decay__15 小时前
SQLServer 索引与 SQL 优化 —— 聚集索引、非聚集索引、覆盖索引、碎片维护与执行计划
运维·数据库·sql·mysql·架构
java_logo15 小时前
Docker 部署 DeepSeek Harness(moelin):轻松搭建带登录的本地 AI Agent 平台
运维·docker·容器·ai agent·deepseek·harness·轩辕镜像
打工仔折腾 AI21 小时前
Changedetection.io 网页变动监控:Docker 部署、通知配置与公网暴露实践
运维·人工智能·后端·python·docker·容器·性能优化
无奈笑天下21 小时前
银河麒麟上lsblk命令教程详解
linux·运维·服务器·数据库
fengkai454521 小时前
Prometheus+K8s弹性伸缩综合项目
运维·kubernetes·k8s·prometheus·hpa·vpa
分布式存储与RustFS1 天前
镜像仓库的层别只堆本地盘:用 RustFS 给 Harbor 当 S3 后端
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
Splashtop高性能远程控制软件1 天前
微软2026年11月补丁星期二解析:1094个 CVE、Outlook 零日 CVE-2026-124194 与修复优先级
microsoft·网络安全·outlook·补丁管理·漏洞管理
雪落漂泊1 天前
Liunux进程(七):程序控制篇(中)
linux·运维·windows