user: assignLicense

Espacio de nombres: microsoft.graph

Agregue o quite licencias para que el usuario habilite o deshabilite el uso de ofertas en la nube de Microsoft a las que la empresa tiene licencias. Por ejemplo, una organización puede tener una suscripción Microsoft 365 Enterprise E3 con 100 licencias y esta solicitud asigna una de esas licencias a un usuario específico. También puede habilitar y deshabilitar planes específicos asociados a una suscripción. El método de licencias de usuario directo es una alternativa a las licencias basadas en grupos.

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) LicenseAssignment.ReadWrite.All Directory.ReadWrite.All, User.ReadWrite.All
Delegado (cuenta personal de Microsoft) No admitida. No admitida.
Aplicación LicenseAssignment.ReadWrite.All Directory.ReadWrite.All, User.ReadWrite.All

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 el permiso de microsoft.directory/users/assignLicense rol. Se admiten los siguientes roles con privilegios mínimos para esta operación:

  • Escritores de directorios
  • Administrador de licencias
  • Administrador de usuarios

Solicitud HTTP

POST /users/{id | userPrincipalName}/assignLicense

Encabezados de solicitud

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

Cuerpo de la solicitud

En el cuerpo de la solicitud, proporcione un objeto JSON con los siguientes parámetros.

Parámetro Tipo Descripción
addLicenses Colección assignedLicense Colección de objetos assignedLicense que especifican las licencias que se van a agregar. Puede deshabilitar servicePlans asociado a una licencia estableciendo la propiedad disabledPlans en un objeto assignedLicense .
removeLicenses Colección Guid Colección de skuIds que identifican las licencias que se van a quitar. Obligatorio. Puede ser una colección vacía.

Respuesta

Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK y el objeto user en el cuerpo de la respuesta.

Ejemplos

Ejemplo 1: Asignación de licencias al usuario que ha iniciado sesión

Solicitud

POST https://graph.microsoft.com/v1.0/me/assignLicense
Content-type: application/json

{
    "addLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
    "removeLicenses": []
}

Respuesta

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

HTTP/1.1 200 OK
Content-type: application/json

{
  "accountEnabled": true,
  "assignedLicenses": [
        {
            "disabledPlans": [
                "8a256a2b-b617-496d-b51b-e76466e88db0"
            ],
            "skuId": "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
        },
        {
            "disabledPlans": [],
            "skuId": "f30db892-07e9-47e9-837c-80727f46fd3d"
        }
    ],
  "city": "Nairobi",
  "companyName": "Contoso"
}

Ejemplo 2: Eliminación de licencias del usuario que ha iniciado sesión

Solicitud

POST https://graph.microsoft.com/v1.0/me/assignLicense
Content-type: application/json

{
    "addLicenses": [],
    "removeLicenses": [
        "f30db892-07e9-47e9-837c-80727f46fd3d",
        "84a661c4-e949-4bd2-a560-ed7766fcaf2b"
    ]
}

Respuesta

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

HTTP/1.1 200 OK
Content-type: application/json

{
  "accountEnabled": true,
  "assignedLicenses": [],
  "city": "Nairobi",
  "companyName": "Contoso"
}