Crear roleDefinitions

Espacio de nombres: microsoft.graph

Importante

Las API de la versión /beta de Microsoft Graph están sujetas a cambios. No se admite el uso de estas API en aplicaciones de producción. Para determinar si una API está disponible en la versión 1.0, use el selector de Versión.

Cree un nuevo objeto unifiedRoleDefinition para un proveedor de RBAC. Esta característica requiere una licencia de Microsoft Entra ID P1 o P2.

Actualmente se admiten los siguientes proveedores de RBAC:

  • PC en la nube.
  • administración de dispositivos (Intune)
  • Defender (Microsoft Defender XDR)
  • directorio (Microsoft Entra ID)

Esta API está disponible en las siguientes implementaciones en la nube nacional.

Servicio global Administración pública de EE. UU. Gobierno de EE. UU. L5 (DOD) China operado por 21Vianet
✅ ✅ ✅ ✅

Permissions

En las tablas siguientes se muestran los permisos con privilegios mínimos necesarios para llamar a esta API en cada tipo de recurso admitido. Siga las prácticas recomendadas para solicitar permisos con privilegios mínimos. Para obtener más información sobre los permisos delegados y de aplicación, consulte Tipos de permisos. Para obtener más información sobre estos permisos, consulte la referencia de permisos.

Para un proveedor de PC en la nube

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) DeviceManagementRBAC.ReadWrite.All CloudPC.ReadWrite.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.CloudPC, RoleManagement.ReadWrite.Directory
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación DeviceManagementRBAC.ReadWrite.All CloudPC.ReadWrite.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.CloudPC, RoleManagement.ReadWrite.Directory

Para un proveedor de administración de dispositivos (Intune)

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) RoleManagement.ReadWrite.Defender No disponible.
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación RoleManagement.ReadWrite.Defender No disponible.

Para un proveedor de Defender

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) RoleManagement.ReadWrite.Directory Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación RoleManagement.ReadWrite.Directory Directory.ReadWrite.All

Para un proveedor de directorio (Microsoft Entra ID)

Tipo de permiso Permisos con privilegios mínimos Permisos con privilegios más altos
Delegado (cuenta profesional o educativa) DeviceManagementRBAC.ReadWrite.All CloudPC.ReadWrite.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.CloudPC, RoleManagement.ReadWrite.Directory
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación DeviceManagementRBAC.ReadWrite.All CloudPC.ReadWrite.All, Directory.ReadWrite.All, RoleManagement.ReadWrite.CloudPC, RoleManagement.ReadWrite.Directory

Importante

Para el acceso delegado con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe tener asignado un rol compatible de Microsoft Entra o un rol personalizado que conceda los permisos necesarios para esta operación. El administrador de roles con privilegios es el rol con privilegios mínimos admitido para esta operación.

Solicitud HTTP

Para crear una definición de roles para un proveedor de administración de dispositivos:

POST /roleManagement/deviceManagement/roleDefinitions

Para crear una definición de roles para un proveedor de Defender:

POST /roleManagement/defender/roleDefinitions

Para crear una definición de roles para un proveedor de directorio:

POST /roleManagement/directory/roleDefinitions

Para crear una definición de roles para un proveedor de PC en la nube:

POST /roleManagement/cloudPc/roleDefinitions

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre autenticación y autorización.

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON del objeto unifiedRoleDefinition .

En la tabla siguiente se muestran las propiedades necesarias para crear un roleDefinition.

Parámetro Tipo Descripción
displayName string El nombre para mostrar de la definición de rol.
isEnabled Boolean Marca que indica si el rol está habilitado para la asignación. Si es falso, el rol no está disponible para su asignación.
rolePermissions Recopilación de unifiedRolePermission Lista de permisos incluidos en el rol.

Respuesta

Si se realiza correctamente, este método devuelve 201 Created código de respuesta y un nuevo objeto unifiedRoleDefinition en el cuerpo de la respuesta.

Ejemplo 1: Creación de un rol personalizado para un proveedor de directorios

Solicitud

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"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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": []
}

Ejemplo 2: Creación de un rol personalizado para un proveedor de PC en la nube

Solicitud

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"
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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":["/"]
}

Ejemplo 3: Crear un rol personalizado para un proveedor de Defender

Solicitud

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

{
  "description": "Role 1 description",
  "displayName": "Role 1",
  "rolePermissions":
    [
        {
            "allowedResourceActions": 
            [
                "microsoft.xdr/securityposture/read"
            ]
        }
    ]
}

Respuesta

En el ejemplo siguiente se muestra la respuesta.

Nota: Se puede acortar el objeto de respuesta que se muestra aquí para mejorar la legibilidad.

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

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/defender/roleDefinitions/$entity",
    "id": "d5eec5e0-6992-4c6b-b430-0f833f1a815b",
    "description": "Role 1 description",
    "displayName": "Role 1",
    "rolePermissions": [
        {
            "allowedResourceActions": [
                "microsoft.xdr/securityposture/read"
            ]
        }
    ]
}