创建 roleDefinitions

命名空间:microsoft.graph

重要

Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。

为 RBAC 提供程序创建新的 unifiedRoleDefinition 对象。

目前支持以下 RBAC 提供程序:

  • 云电脑
  • 设备管理 (Intune)
  • 目录 (Azure AD)

权限

根据 RBAC 提供程序和权限类型 (委派或应用程序) 需要,请从下表中选择调用此 API 所需的最低特权权限。 若要了解详细信息,包括在选择更多特权权限之前 要小心 ,请参阅 权限

对于云电脑提供商

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

对于设备管理 (Intune) 提供程序

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

对于目录 (Azure AD) 提供程序

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

HTTP 请求

若要为设备管理提供程序创建角色定义,请执行以下操作:

POST /roleManagement/deviceManagement/roleDefinitions

若要为目录提供程序创建角色定义,请执行以下操作:

POST /roleManagement/directory/roleDefinitions

若要为云电脑提供商创建角色定义,请执行以下操作:

POST /roleManagement/cloudPc/roleDefinitions

请求标头

名称 说明
Authorization 持有者 {token}

请求正文

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

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

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

响应

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

示例 1:为目录提供程序创建自定义角色

请求

POST https://graph.microsoft.com/beta/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/beta/$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
        }
    ],
    "inheritsPermissionsFrom": []
}

示例 2:为云电脑提供商创建自定义角色

请求

POST https://graph.microsoft.com/beta/roleManagement/cloudPc/roleDefinitions
Content-type: application/json

{
  "description": "An example custom role",
  "displayName": "ExampleCustomRole",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "Microsoft.CloudPC/CloudPCs/Read"
            ]
        }
    ],
    "condition" : "null"
}

响应

下面展示了示例响应。

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

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/cloudPc/roleDefinitions/$entity",
    "id": "b7f5ddc1-b7dc-4d37-abce-b9d6fc15ffff",
    "description": "An example custom role",
    "displayName": "ExampleCustomRole",
    "isBuiltIn": false,
    "isEnabled": true,
    "templateId": "b7f5ddc1-b7dc-4d37-abce-b9d6fc15ffff",
    "version": null,
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "Microsoft.CloudPC/CloudPCs/Read"
            ],
            "condition": null
        }
    ],
    "resourceScopes":["/"]
}