Trabajar con usuarios en 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.

Puede usar Microsoft Graph para crear experiencias de aplicación atractivas basadas en usuarios y sus relaciones con otros objetos. Por ejemplo, sus relaciones con otros usuarios y grupos, pertenencias a grupos y los recursos a los que acceden, como sus correos electrónicos, calendarios, archivos y roles administrativos.

Puede acceder a los usuarios a través de Microsoft Graph de dos formas:

  • Por su identificador o userPrincipalName, /users/{id} o /users/{userPrincipalName}
  • Mediante el alias /me del usuario que ha iniciado sesión, que es el mismo que /users/{signed-in user's id}

Operaciones de API comunes

Ruta de acceso Descripción
/me Obtenga los detalles del usuario que ha iniciado sesión.
/users Enumera los usuarios de la organización.
/users/{id} Obtiene un usuario específico por identificador.
/users/{id}/photo/$value Obtiene la foto de perfil del usuario.
/users/{id}/manager Obtiene el administrador del usuario.
/users/{id}/messages Enumera los mensajes de correo electrónico del usuario en su bandeja de entrada principal.
/users/{id}/events Enumera los eventos próximos del usuario en su calendario.
/users/{id}/drive Obtiene el almacén de archivos del OneDrive del usuario.
/users/{id}/memberOf Enumera los grupos de los que el usuario es miembro.
/users/{id}/joinedTeams Enumera los equipos de Microsoft Teams de los que el usuario es miembro.

Autorización y privilegios

Microsoft Graph admite el uso de permisos delegados y de aplicación para administrar las operaciones de usuario. Para obtener más información, consulte Permisos delegados frente a permisos de aplicación y la documentación de referencia de API correspondiente para los permisos necesarios para cada operación.

El usuario que ha iniciado sesión puede realizar algunas operaciones de usuario con sus propios detalles. Para estas operaciones, el usuario puede conceder a la aplicación los permisos de Microsoft Graph para acceder a sus propios detalles. Los permisos User.ReadBasic.All, User.Read y User.ReadWrite son estos permisos.

Otras operaciones, incluida la administración de detalles para otros usuarios, requieren privilegios administrativos que se conceden a través de otros permisos de Microsoft Graph y roles de Microsoft Entra. Además, algunas operaciones se consideran confidenciales y solo los administradores limitados pueden realizarlas. Para obtener más información, consulte Las secciones Quién puede restablecer contraseñas y Quién puede actualizar atributos confidenciales .

Permisos de usuario predeterminados en Microsoft Entra ID

Hay dos tipos de usuarios en Microsoft Entra ID: miembros e invitados. Inicialmente, los usuarios miembros se crean de forma nativa en el inquilino. Los usuarios invitados se unen al inquilino mediante el canje de su invitación y acceden al inquilino como invitados de colaboración de negocio a negocio (B2B).

El conjunto de permisos predeterminados depende de si el usuario es un miembro o un usuario invitado. Para obtener más información sobre lo que pueden hacer los usuarios miembros y los usuarios invitados, consulte ¿Cuáles son los permisos de usuario predeterminados en Microsoft Entra ID?.

Permisos de usuario predeterminados en inquilinos de clientes

También hay permisos predeterminados para los clientes en Microsoft Entra ID para los clientes. En la tabla siguiente se indican las operaciones de API que permiten a los clientes administrar su propio perfil.

El identificador de usuario o userPrincipalName siempre es el del usuario que ha iniciado sesión.

Operación de usuario Operación de API Permisos necesarios
Leer perfil GET /me o GET /users/{id or userPrincipalName} User.Read
Actualizar perfil PATCH /me o PATCH /users/{id or userPrincipalName}

Las propiedades siguientes son actualizables: city, country, displayName, givenName, jobTitle, postalCode, state, streetAddress, surname y preferredLanguage
User.ReadWrite
Cambiar contraseña POST /me/changePassword Directory.AccessAsUser.All

Quién puede restablecer contraseñas

En la tabla siguiente, las columnas muestran los roles que pueden restablecer contraseñas e invalidar los tokens de actualización. Las filas enumeran los roles para los que se puede restablecer su contraseña. Por ejemplo, un administrador de contraseñas puede restablecer la contraseña para lectores de directorio, invitador de invitado, administrador de contraseñas y usuarios sin rol de administrador. Si a un usuario se le asigna cualquier otro rol, el administrador de contraseñas no puede restablecer su contraseña.

La tabla siguiente es para los roles asignados en el ámbito de un inquilino. Para los roles asignados en el ámbito de una unidad administrativa, se aplican más restricciones.

Rol que se puede restablecer la contraseña Administración de contraseña Administración del departamento de soporte técnico Autenticación Administración Administración de usuario Privileged Auth Administración Administrador global
Autenticación Administración      
Lectores de directorio
Administrador global         ✅*
Grupos Administración      
Invitador
Administración del departamento de soporte técnico    
Lector del Centro de mensajes  
Administración de contraseña
Privileged Auth Administración        
Rol con privilegios Administración        
Lector de informes  
Usuario
(sin rol de administrador)
Usuario
(sin rol de administrador, pero miembro o propietario de un grupo asignable por roles)
       
Usuario con un rol en el ámbito de una unidad administrativa de administración restringida        
Administración de usuario      
Resumen de uso de Lector de informes  
Todos los roles personalizados

La capacidad de restablecer una contraseña incluye la capacidad de actualizar las siguientes propiedades confidenciales necesarias para el autoservicio de restablecimiento de contraseña:

  • businessPhones
  • mobilePhone
  • otherMails

Quién puede realizar acciones confidenciales

Algunos administradores pueden realizar las siguientes acciones confidenciales para algunos usuarios. Todos los usuarios pueden leer las propiedades confidenciales.

Acción confidencial Nombre de propiedad confidencial
Deshabilitar o habilitar usuarios accountEnabled
Actualización del teléfono empresarial businessPhones
Actualización del teléfono móvil mobilePhone
Actualización del identificador inmutable local onPremisesImmutableId
Actualizar otros correos electrónicos otherMails
Actualizar perfil de contraseña passwordProfile
Actualización del nombre principal de usuario userPrincipalName
Suprimir o restaurar usuarios No aplicable

En la tabla siguiente, las columnas enumeran los roles que pueden realizar acciones confidenciales. Las filas enumeran los roles en los que se puede realizar la acción confidencial.

La tabla siguiente es para los roles asignados en el ámbito de un inquilino. Para los roles asignados en el ámbito de una unidad administrativa, se aplican más restricciones.

Rol en el que se puede realizar una acción confidencial Autenticación Administración Administración de usuario Privileged Auth Administración Administrador global
Autenticación Administración  
Lectores de directorio
Administrador global    
Grupos Administración  
Invitador
Administración del departamento de soporte técnico  
Lector del Centro de mensajes
Administración de contraseña
Privileged Auth Administración    
Rol con privilegios Administración    
Lector de informes
Usuario
(sin rol de administrador)
Usuario
(sin rol de administrador, pero miembro o propietario de un grupo asignable por roles)
   
Usuario con un rol en el ámbito de una unidad administrativa de administración restringida    
Administración de usuario  
Resumen de uso de Lector de informes
Todos los roles personalizados

Limitaciones de búsqueda de usuarios y grupos para usuarios invitados en las organizaciones

Las funciones de búsqueda de grupos y usuarios permiten que la aplicación busque cualquier usuario o grupo en un directorio de la organización mediante la realización de consultas en el conjunto de recursos /users o /groups (por ejemplo, https://graph.microsoft.com/v1.0/users). Tanto los administradores como los usuarios que son miembros tienen esta funcionalidad; sin embargo, los usuarios invitados no.

Si el usuario que ha iniciado sesión es un usuario invitado, en función de los permisos que se hayan concedido a una aplicación, puede leer el perfil de un usuario o grupo específico (por ejemplo, https://graph.microsoft.com/v1.0/users/241f22af-f634-44c0-9a15-c8cd2cea5531), pero no puede realizar consultas en el conjunto de recursos /users o /groups que devuelvan potencialmente más de un solo recurso.

Con los permisos adecuados, la aplicación puede leer los perfiles de usuarios o grupos que obtiene al seguir los vínculos de las propiedades de navegación, como /users/{id}/directReports o /groups/{id}/members.

Propiedades no devueltas de forma predeterminada

Algunas propiedades del objeto de usuario no se devuelven de forma predeterminada y deben especificarse en un $select parámetro de consulta. Por ejemplo, cumpleaños y aptitudes. Consulte la tabla de propiedades de la entidad de usuario para identificar las propiedades que se devuelven solo cuando se .$select

Propiedades almacenadas fuera del almacén de datos principal

Aunque los datos de recursos de usuario se almacenan principalmente en Microsoft Entra ID, algunas de sus propiedades, como las aptitudes, se almacenan en SharePoint Online. En la mayoría de los casos, no puede especificar estas propiedades en el mismo cuerpo de la solicitud Create o Update que otras propiedades de usuario.

Las propiedades almacenadas fuera del almacén de datos principal tampoco se admiten como parte del seguimiento de cambios. Por lo tanto, un cambio en cualquiera de estas propiedades no da lugar a que un objeto aparezca en la respuesta de consulta delta.