Compartir a través de


Creación de unifiedRoleAssignment

Espacio de nombres: microsoft.graph

Cree un nuevo objeto unifiedRoleAssignment .

Esta API está disponible en las siguientes implementaciones nacionales de nube.

Servicio global Gobierno de EE. UU. L4 Us Government L5 (DOD) China operada por 21Vianet

Permisos

Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.

Para el proveedor de directorios (Id. de Microsoft Entra)

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) RoleManagement.ReadWrite.Directory
Delegado (cuenta personal de Microsoft) No admitida.
Aplicación RoleManagement.ReadWrite.Directory

En escenarios delegados con cuentas profesionales o educativas, al usuario que ha iniciado sesión se le debe asignar un rol de Microsoft Entra compatible o un rol personalizado con el permiso de microsoft.directory/roleAssignments/allProperties/allTasks rol. Privileged Role Administrator es el rol con privilegios mínimos admitido para esta operación.

Para el proveedor de administración de derechos

Tipo de permiso Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa) EntitlementManagement.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida.
Aplicación EntitlementManagement.ReadWrite.All

Solicitud HTTP

Cree una asignación de roles para el proveedor de directorios:

POST /roleManagement/directory/roleAssignments

Cree una asignación de roles para el proveedor de administración de derechos:

POST /roleManagement/entitlementManagement/roleAssignments

Encabezados de solicitud

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

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione una representación JSON de un objeto unifiedRoleAssignment .

Puede especificar las siguientes propiedades al crear un unifiedRoleAssignment.

Propiedad Tipo Descripción
appScopeId Cadena Obligatorio. Identificador del ámbito específico de la aplicación cuando el ámbito de asignación es específico de la aplicación. El ámbito de una asignación determina el conjunto de recursos a los que se ha concedido acceso a la entidad de seguridad. Los ámbitos de aplicación son ámbitos definidos y entendidos solo por una aplicación de recursos.

Para el proveedor de administración de derechos, use esta propiedad para especificar un catálogo, por ejemplo /AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997.

Se deben especificar appScopeId o directoryScopeId .
directoryScopeId Cadena Obligatorio. Identificador del objeto de directorio que representa el ámbito de la asignación. El ámbito de una asignación determina el conjunto de recursos a los que se ha concedido acceso a la entidad de seguridad. Los ámbitos de directorio son ámbitos compartidos almacenados en el directorio que entienden varias aplicaciones, a diferencia de los ámbitos de aplicación definidos y entendidos solo por una aplicación de recursos.

Para el proveedor de directorios (Microsoft Entra ID), esta propiedad admite los siguientes formatos:
  • / para el ámbito de todo el inquilino
  • /administrativeUnits/{administrativeunit-ID} para limitar a una unidad administrativa
  • /{application-objectID} para limitar a una aplicación de recursos

    Para el proveedor de administración de derechos, / para el ámbito de todo el inquilino. Para establecer el ámbito de un catálogo de paquetes de acceso, use la propiedad appScopeId .

    Se deben especificar appScopeId o directoryScopeId .
  • principalId Cadena Obligatorio. Identificador de la entidad de seguridad a la que se concede la asignación.
    roleDefinitionId Cadena Identificador de unifiedRoleDefinition para el que se realiza la asignación. Solo lectura. Admite $filter (eq, in).

    Respuesta

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

    Ejemplos

    Ejemplo 1: Creación de una asignación de roles con ámbito de inquilino

    Solicitud

    En el ejemplo siguiente se muestra la solicitud. Tenga en cuenta el uso del roleTemplateId para roleDefinitionId. roleDefinitionId puede ser el identificador de plantilla de todo el servicio o el roleDefinitionId específico del directorio.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    { 
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    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/v1.0/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "YUb1sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHVi2I-1",
        "roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/"
    }
    

    Ejemplo 2: Creación de una asignación de roles con ámbito de unidad administrativa

    Solicitud

    En el ejemplo siguiente se asigna el rol Administrador de usuarios a una entidad de seguridad con ámbito de unidad administrativa.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    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/v1.0/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "BH21sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHIWb7-1",
        "roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
    }
    

    Ejemplo 3: Creación de una asignación de roles con ámbito de aplicación

    Solicitud

    En el ejemplo siguiente se asigna a una entidad de seguridad el rol Administrador de aplicaciones en el ámbito de la aplicación. El identificador de objeto del registro de la aplicación es 661e1310-bd76-4795-89a7-8f3c8f855bfc.

    POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "principalId": "6b937a9d-c731-465b-a844-2d5b5368c161",
        "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
        "directoryScopeId": "/661e1310-bd76-4795-89a7-8f3c8f855bfc"
    }
    

    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/v1.0/$metadata#roleManagement/directory/roleAssignments/$entity",
        "id": "kl2Jm9Msx0SdAqasLV6lw516k2sxx1tGqEQtW1NowWEQEx5mdr2VR4mnjzyPhVv8-1",
        "principalId": "6b937a9d-c731-465b-a844-2d5b5368c161",
        "directoryScopeId": "/661e1310-bd76-4795-89a7-8f3c8f855bfc",
        "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"
    }
    

    Ejemplo 4: Creación de una asignación de roles con ámbito de catálogo de paquetes de acceso

    Solicitud

    En el ejemplo siguiente se muestra la solicitud.

    POST https://graph.microsoft.com/v1.0/roleManagement/entitlementManagement/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }
    

    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/v1.0/$metadata#roleManagement/entitlementManagement/roleAssignments/$entity",
        "id": "f3092518-7874-462e-93e9-0cd6c11ffc52",
        "principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
        "roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
        "appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
    }