Compartir a través de


Crear roleAssignmentScheduleRequests

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 unifiedRoleAssignmentScheduleRequest . Esta operación permite a los administradores y usuarios agregar, quitar, ampliar o renovar asignaciones. Para ejecutar esta solicitud, el usuario que realiza la llamada debe tener aplicada la autenticación multifactor (MFA) y ejecutar la consulta en una sesión en la que se le haya desafió para MFA. Consulte Habilitación de la autenticación multifactor por usuario Microsoft Entra para proteger los eventos de inicio de sesión.

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

Permissions

Elija el permiso o los permisos marcados como con privilegios mínimos para esta API. Use un permiso o permisos con privilegios superiores solo si la aplicación lo requiere. 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.

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

Importante

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 un permiso de rol admitido. Se admiten los siguientes roles con privilegios mínimos para esta operación.

  • Para operaciones de lectura: Lector global, Operador de seguridad, Lector de seguridad, Administrador de seguridad o Administrador de roles con privilegios
  • Para operaciones de escritura: Administrador de roles con privilegios

Solicitud HTTP

POST /roleManagement/directory/roleAssignmentScheduleRequests

Encabezados de solicitud

Nombre Descripción
Authorization {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización.
Content-Type application/json. Obligatorio.

Cuerpo de la solicitud

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

En la tabla siguiente se enumeran las propiedades necesarias al crear unifiedRoleAssignmentScheduleRequest.

Propiedad Tipo Descripción
id Cadena Identificador único de unifiedRoleAssignmentScheduleRequest. Clave, no admite valores NULL, solo lectura.
acción Cadena Representa el tipo de la operación en la asignación de roles. Los valores posibles son:
  • AdminAssign: para que los administradores asignen roles a usuarios o grupos.
  • AdminRemove: para que los administradores quiten usuarios o grupos de roles.
  • AdminUpdate: para que los administradores cambien las asignaciones de roles existentes.
  • AdminExtend: para que los administradores amplíen las asignaciones que expiran.
  • AdminRenew: para que los administradores renueve las asignaciones expiradas.
  • SelfActivate: para que los usuarios activen sus asignaciones.
  • SelfDeactivate: para que los usuarios desactiven sus asignaciones activas.
  • SelfExtend: para que los usuarios soliciten ampliar sus asignaciones que expiran.
  • SelfRenew: para que los usuarios soliciten renovar sus asignaciones expiradas.
principalId Cadena 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.
directoryScopeId Cadena 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. Use / para el ámbito de todo el inquilino. Use appScopeId para limitar el ámbito solo a una aplicación.
appScopeId Cadena 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 esta aplicación. Use / para ámbitos de aplicación de todo el inquilino. Use directoryScopeId para limitar el ámbito a determinados objetos de directorio, por ejemplo, unidades administrativas.
isValidationOnly Booleano Especifica si la llamada es una validación o una llamada real. Establezca esta propiedad solo si desea comprobar si una activación está sujeta a reglas adicionales como MFA antes de enviar realmente la solicitud.
targetScheduleId Cadena Identificador del objeto de programación adjunto a la asignación.
justificación Cadena Mensaje proporcionado por usuarios y administradores al crear la solicitud sobre por qué se necesita.
scheduleInfo requestSchedule Objeto de programación de la solicitud de asignación de roles.
ticketInfo ticketInfo Objeto ticketInfo adjunto a la solicitud de asignación de roles que incluye detalles del número de vale y del sistema de vales.

Respuesta

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

Cuando no se desafió al usuario que realiza la llamada para la autenticación multifactor durante su sesión de inicio de sesión, se produce un error en una solicitud con la acción SelfActivate y devuelve un 400 Bad request código de respuesta.

Ejemplos

Ejemplo 1: Administración asignar un rol de directorio a una entidad de seguridad

Solicitud

En la solicitud siguiente, el administrador crea una solicitud para asignar un rol identificado por fdd7a751-b60b-444a-984c-02652fe8fa1c a una entidad de seguridad identificada por id07706ff1-46c7-4847-ae33-3003830675a1. El ámbito de su rol es todos los objetos de directorio del inquilino y la asignación es permanente, es decir, no expira.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
  "action": "AdminAssign",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "scheduleInfo": {
    "startDateTime": "2021-07-01T00:00:00Z",
    "expiration": {
      "type": "NoExpiration"
    }
  }
}

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/roleAssignmentScheduleRequests/$entity",
  "id": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "status": "Provisioned",
  "createdDateTime": "2021-07-27T09:18:40.2029365Z",
  "completedDateTime": "2021-07-27T09:18:42.7811184Z",
  "approvalId": null,
  "customData": null,
  "action": "AdminAssign",
  "principalId": "07706ff1-46c7-4847-ae33-3003830675a1",
  "roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
  "directoryScopeId": "/",
  "appScopeId": null,
  "isValidationOnly": false,
  "targetScheduleId": "b5a22921-656a-4429-9c4e-59a5f576614d",
  "justification": "Assign User Admin to IT Helpdesk (User) group",
  "createdBy": {
    "application": null,
    "device": null,
    "user": {
      "displayName": null,
      "id": "fc9a2c2b-1ddc-486d-a211-5fe8ca77fa1f"
    }
  },
  "scheduleInfo": {
    "startDateTime": "2021-07-27T09:18:42.7811184Z",
    "recurrence": null,
    "expiration": {
      "type": "noExpiration",
      "endDateTime": null,
      "duration": null
    }
  },
  "ticketInfo": {
    "ticketNumber": null,
    "ticketSystem": null
  }
}

Ejemplo 2: El usuario activa su rol apto

Solicitud

En la siguiente solicitud, un usuario identificado por principalIdc6ad1942-4afa-47f8-8d48-afb5d8d69d2f activa su propio rol apto identificado por 9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3. El ámbito de su rol es todos los objetos de directorio del inquilino y la asignación es de cinco horas. Para ejecutar esta solicitud, el usuario que realiza la llamada debe tener aplicada la autenticación multifactor (MFA) y ejecutar la consulta en una sesión en la que se le haya desafió para MFA.

POST https://graph.microsoft.com/beta/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json

{
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "justification": "Need to update app roles for selected apps.",
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00.000Z",
        "expiration": {
            "type": "AfterDuration",
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}

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/roleAssignmentScheduleRequests/$entity",
    "id": "163daf73-8746-4996-87de-ab71dc624bf9",
    "status": "Granted",
    "createdDateTime": "2021-08-17T17:39:36.7040696Z",
    "completedDateTime": "2021-08-17T17:40:00Z",
    "approvalId": null,
    "customData": null,
    "action": "SelfActivate",
    "principalId": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f",
    "roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
    "directoryScopeId": "/",
    "appScopeId": null,
    "isValidationOnly": false,
    "targetScheduleId": "163daf73-8746-4996-87de-ab71dc624bf9",
    "justification": "Need to update app roles for selected apps.",
    "createdBy": {
        "application": null,
        "device": null,
        "user": {
            "displayName": null,
            "id": "c6ad1942-4afa-47f8-8d48-afb5d8d69d2f"
        }
    },
    "scheduleInfo": {
        "startDateTime": "2021-08-17T17:40:00Z",
        "recurrence": null,
        "expiration": {
            "type": "afterDuration",
            "endDateTime": null,
            "duration": "PT5H"
        }
    },
    "ticketInfo": {
        "ticketNumber": "CONTOSO:Normal-67890",
        "ticketSystem": "MS Project"
    }
}