You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自定义Azure AD租户用户管理RESTful API应用注册配置咨询

配置Azure AD应用注册以保护你的用户管理REST API

我来帮你一步步梳理这个配置流程,刚好适配你要做的用户/组管理API场景——既要让API安全受Azure AD保护,又只允许指定管理员访问:

1. 先注册你的REST API应用

  • 登录Azure门户,找到Azure Active Directory → 进入「应用注册」页面,点击「新建注册」
  • 给你的API起个名字(比如“UserManagementAPI”),账户类型选仅此组织目录中的账户(毕竟你的API只服务于自己的租户)
  • 注册完成后,把页面上的应用程序(客户端)ID和目录(租户)ID记下来,后面配置要用

2. 给API定义专属角色(用来限制访问)

为了精准控制谁能访问API,我们可以给API创建一个专属角色,只把这个角色分配给你指定的管理员:

  • 在你的API应用注册页面,找到「应用角色」→ 点击「创建应用角色」
  • 填写角色信息:
    • 显示名称:比如“UserManagementAdmin”(直观好懂)
    • 允许的成员类型:选“Users/Groups”(因为我们要分配给用户)
    • 值:比如“UserManagement.Admin”(这个值会出现在用户的访问令牌里,你的API要靠它判断权限)
    • 描述:随便写点啥,比如“有权限调用用户管理API的管理员”
  • 保存就行

3. 把角色分配给指定的管理员用户

  • 回到Azure AD的「企业应用」页面,搜索你刚才注册的API应用(应用注册和企业应用是绑定的,搜名字就能找到)
  • 进入「用户和组」→ 点击「添加用户/组」
  • 选中你要授权的管理员用户,然后把刚才创建的“UserManagementAdmin”角色分配给他们,最后保存

4. 给API配置Graph权限(让它能操作Azure AD用户/组)

你的API要调用Microsoft Graph来完成创建用户、分配组这些操作,所以得给它加相应权限:

  • 在API应用注册页面,进入「API权限」→ 点击「添加权限」→ 选“Microsoft Graph”
  • 因为你的API是后端服务,推荐用应用权限(不需要依赖用户上下文,API自己拥有独立权限),选这几个必要的:
    • User.ReadWrite.All:用来创建、删除用户,重置密码
    • Group.ReadWrite.All:用来给用户分配/移除组
  • 注意:这些权限需要管理员同意,添加完后记得点「授予管理员同意」按钮(得用租户管理员账号操作)

5. 在你的API里验证用户令牌

你的API得先验证请求里的Azure AD令牌,确保调用者是有权限的管理员:

  • 令牌获取:管理员用户需要用OAuth2的授权码流程获取访问你API的令牌,请求的scope要设为api://<你的API客户端ID>/.default
  • 令牌验证:在API代码里,先验证令牌的签名、租户ID、过期时间这些有效性,然后检查令牌里的roles声明有没有包含你之前定义的“UserManagement.Admin”值
  • 举个伪代码例子(Python):
    def validate_access_token(token):
        # 验证令牌的签名和基本有效性
        decoded_token = jwt.decode(
            token,
            verify=True,
            audience="<你的API客户端ID>",
            issuer="https://login.microsoftonline.com/<你的租户ID>/v2.0"
        )
        # 检查是否拥有指定角色
        if "UserManagement.Admin" not in decoded_token.get("roles", []):
            raise PermissionError("你没有访问这个API的权限")
        return decoded_token
    

额外安全小贴士

  • 开条件访问:可以给你的API应用加个条件访问策略,比如要求管理员必须用MFA才能访问API,安全性更高
  • 限制令牌受众:确保你的API只接受针对自己客户端ID的令牌,避免其他应用的令牌被误用
  • 定期查权限:隔段时间看看API的权限分配和用户角色,清理掉多余的授权,避免权限泄露

内容的提问来源于stack exchange,提问作者Web User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 08:35:48