Crear unifiedRoleAssignment

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 unifiedRoleAssignment .

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

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 directorio (Microsoft Entra ID)

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

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.

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 No admitida.

Para un proveedor de Exchange Online

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

Solicitud HTTP

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

POST /roleManagement/directory/roleAssignments

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

POST /roleManagement/entitlementManagement/roleAssignments

Cree una asignación de roles para el proveedor de Exchange Online:

POST /roleManagement/exchange/roleAssignments

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 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 comprendidos únicamente 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 debe 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 comprenden varias aplicaciones, a diferencia de los ámbitos de aplicación, que solo se definen y comprenden mediante una aplicación de recursos.

Para el proveedor de directorio (Microsoft Entra ID), esta propiedad admite los siguientes formatos:
  • / para el ámbito de todo el inquilino
  • /administrativeUnits/{administrativeunit-ID} para definir el ámbito de una unidad administrativa
  • /{application-objectID} Para definir el ámbito de una aplicación de recursos
  • /attributeSets/{attributeSet-ID} Para definir el ámbito de un conjunto de atributos

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

    Para el proveedor de Exchange Online, esta propiedad admite los siguientes formatos:
  • / para el ámbito de todo el inquilino
  • /Users/{ObjectId of user} Para limitar el ámbito de la asignación de roles a un usuario específico
  • /AdministrativeUnits/{ObjectId of AU} Para limitar el ámbito de la asignación de roles a una unidad administrativa
  • /Groups/{ObjectId of group} para limitar el ámbito de la asociación de roles a los miembros directos de un grupo específico

    Se debe 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 es la asignación. Solo lectura. Admite $filter (eq, in).

    Respuesta

    Si se realiza 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. Observe el uso de 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/beta/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/beta/$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: Crear una asignación de roles con ámbito de unidad administrativa

    Solicitud

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

    POST https://graph.microsoft.com/beta/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/beta/$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: Crear una asignación de roles con ámbito de conjunto de atributos

    Solicitud

    En el ejemplo siguiente se asigna el rol de Administrador de asignación de atributos a una entidad de seguridad con un ámbito de conjunto de atributos denominado Ingeniería. Para obtener más información acerca de los atributos de seguridad personalizados de Microsoft Entra y el ámbito del conjunto de atributos, consulte Administrar el acceso a atributos de seguridad personalizados en Microsoft Entra ID.

    POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignments
    Content-type: application/json
    
    {
        "@odata.type": "#microsoft.graph.unifiedRoleAssignment",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

    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/roleAssignments/$entity",
        "id": "oz6hWDLGrkae4JwNQ81_PU-mYqx8m71OpqEQPdN1u",
        "roleDefinitionId": "58a13ea3-c632-46ae-9ee0-9c0d43cd7f3d",
        "principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
        "directoryScopeId": "/attributeSets/Engineering"
    }
    

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

    Solicitud

    En el ejemplo siguiente se muestra la solicitud.

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

    Ejemplo 5: Crear una asignación de roles para el proveedor de Exchange Online con ámbito de unidad administrativa

    Solicitud

    En el ejemplo siguiente se muestra la solicitud.

    POST https://graph.microsoft.com/beta/roleManagement/exchange/roleAssignments
    Content-type: application/json
    
    {
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }
    

    Respuesta

    En el ejemplo siguiente se muestra la respuesta.

    HTTP/1.1 201 Created
    Content-type: application/json
    
    {
        "@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/exchange/roleAssignments/$entity",
        "id": "c5dd3ab8-374f-42e9-b163-eb7c54b53755",
        "principalId": "/ServicePrincipals/0451dbb9-6336-42ea-b58f-5953dc053ece",
        "roleDefinitionId": "f66ab1ee-3cac-4d03-8a64-dadc56e563f8",
        "directoryScopeId": "/AdministrativeUnits/8b532c7a-4d3e-4e99-8ffa-2dfec92c62eb",
        "appScopeId": null
    }