创建 roleDefinitions

命名空间:microsoft.graph

创建新的自定义 unifiedRoleDefinition 对象。 此功能需要Microsoft Entra ID P1 或 P2 许可证。

此 API 可用于以下国家级云部署

全局服务 美国政府 L4 美国政府 L5 (DOD) 由世纪互联运营的中国

权限

为此 API 选择标记为最低特权的权限。 只有在应用需要它时,才使用更高的特权权限。 有关委派权限和应用程序权限的详细信息,请参阅权限类型。 要了解有关这些权限的详细信息,请参阅 权限参考

权限类型 最低特权权限 更高特权权限
委派(工作或学校帐户) RoleManagement.ReadWrite.Directory Directory.ReadWrite.All
委派(个人 Microsoft 帐户) 不支持。 不支持。
应用程序 RoleManagement.ReadWrite.Directory Directory.ReadWrite.All

重要

在具有工作或学校帐户的委托方案中,必须为登录用户分配受支持的Microsoft Entra角色或具有支持的角色权限的自定义角色。 特权角色管理员 是此操作支持的最低特权角色。

HTTP 请求

POST /roleManagement/directory/roleDefinitions

请求标头

名称 说明
Authorization 持有者 {token}。 必填。 详细了解 身份验证和授权
Content-Type application/json. 必需。

请求正文

在请求正文中,提供 unifiedRoleDefinition 对象的 JSON 表示形式。

下表显示了创建 roleDefinition 时所需的属性。

参数 类型 说明
displayName string 角色定义的显示名称。
isEnabled Boolean 指示是否为分配启用了角色的标志。 如果 false为 ,则角色不可用于分配。
rolePermissions unifiedRolePermission 集合 角色中包含的权限列表。

响应

如果成功,此方法在 201 Created 响应正文中返回响应代码和新的 unifiedRoleDefinition 对象。

示例

请求

下面是创建自定义角色的示例。

POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions
Content-type: application/json

{
  "description": "Update basic properties of application registrations",
  "displayName": "Application Registration Support Administrator",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "microsoft.directory/applications/basic/read"
            ]
        }
    ],
    "isEnabled" : true
}

响应

以下示例显示了相应的响应。

注意:为了提高可读性,可能缩短了此处显示的响应对象。

HTTP/1.1 201 Created
Content-type: application/json

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleDefinitions/$entity",
    "id": "d5eec5e0-6992-4c6b-b430-0f833f1a815a",
    "description": "Update basic properties of application registrations",
    "displayName": "Application Registration Support Administrator",
    "isBuiltIn": false,
    "isEnabled": true,
    "templateId": "d5eec5e0-6992-4c6b-b430-0f833f1a815a",
    "version": null,
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "microsoft.directory/applications/standard/read",
                "microsoft.directory/applications/basic/update"
            ],
            "condition": null
        }
    ]
}