创建自定义目录角色时,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
相关产品推荐
相关产品推荐

