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

创建自定义目录角色时,MS Graph中TemplateId的含义及获取方法

自定义Azure AD目录角色的TemplateId说明与获取方法

问题背景

需要创建包含以下权限的自定义目录角色:

microsoft.directory/users/create
microsoft.directory/users/delete
microsoft.directory/groups/create
microsoft.directory/groups/delete
microsoft.directory/applications/create
microsoft.directory/applications/delete
microsoft.directory/serviceprincipals/create
microsoft.directory/serviceprincipals/delete

已确定通过MS Graph自动化创建的方式:发送POST请求至https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions,请求体如下:

{
   "description": "Can manage basic aspects of application registrations.",
   "displayName": "Application Support Administrator",
   "isEnabled": true,
   "templateId": "<GUID>",
   "rolePermissions": [
       {
           "allowedResourceActions": [
               "microsoft.directory/users/create",
               "microsoft.directory/users/delete",
               "microsoft.directory/groups/create",
               "microsoft.directory/groups/delete",
               "microsoft.directory/applications/create",
               "microsoft.directory/applications/delete",
               "microsoft.directory/serviceprincipals/create",
               "microsoft.directory/serviceprincipals/delete"
           ]
       }
   ]
}

疑问:TemplateId是什么?如何获取它的值?

解答

什么是TemplateId

templateId是自定义目录角色的唯一标识符,用于区分不同的自定义角色模板,它不是微软系统预定义的ID,需要你自行生成一个唯一的GUID来填充。

如何生成TemplateId

你可以通过以下任意方式生成符合要求的GUID:

  • Windows系统工具:打开guidgen.exe(直接在运行窗口输入即可调用),选择格式后生成唯一GUID。
  • PowerShell命令:执行[guid]::NewGuid().ToString(),控制台会输出一个新的GUID。
  • 代码生成:在C#、Python等语言中调用对应生成GUID的方法,比如C#的Guid.NewGuid().ToString(),Python的uuid.uuid4().hex。
  • 离线工具:使用本地的GUID生成工具生成,确保生成的GUID全局唯一即可。

注意:只要生成的GUID是唯一的,就可以作为templateId使用,无需从微软的任何接口获取该值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 15:25:20