Enumerar servicePrincipal transitivo memberOf
Espacio de nombres: microsoft.graph
Obtener la lista de los grupos y roles de directorio a los que pertenece este servicePrincipal. Esta operación es transitiva e incluirá todos los grupos de los que esta entidad de servicio es un miembro anidado.
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) | Application.Read.All | Application.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
Delegado (cuenta personal de Microsoft) | No admitida. | No admitida. |
Aplicación | Application.Read.All | Application.ReadWrite.All, Directory.Read.All, Directory.ReadWrite.All |
Importante
Cuando una aplicación consulta una relación que devuelve una colección de tipos directoryObject , si no tiene permiso para leer un tipo de recurso determinado, se devuelven miembros de ese tipo pero con información limitada. Por ejemplo, solo se devuelve la propiedad @odata.type para el tipo de objeto y el identificador , mientras que otras propiedades se indican como null
. Con este comportamiento, las aplicaciones pueden solicitar los permisos con privilegios mínimos que necesitan, en lugar de depender del conjunto de directorios.*Permisos. Para información, consulte Información limitada devuelta para objetos de miembros inaccesibles.
Solicitud HTTP
Puede dirigirse a la entidad de servicio mediante su id . o appId. id y appId se conocen como id. de objeto y id. de aplicación (cliente), respectivamente, en los registros de aplicaciones en el Centro de administración Microsoft Entra.
GET /servicePrincipals/{id}/transitiveMemberOf
GET /servicePrincipals(appId='{appId}')/transitiveMemberOf
Parámetros de consulta opcionales
Este método es compatible con los parámetros de consulta de OData para ayudar a personalizar la respuesta, incluyendo $select
, $search
, y $count
. La conversión de OData también está habilitada. Por ejemplo, puede realizar la conversión para obtener solo los roles de directorio de los que el usuario es miembro. Puede usar $search
en las propiedades displayName y Description. Los tamaños de página predeterminado y máximo son 100 y 999 objetos, respectivamente.
Encabezados de solicitud
Nombre | Descripción |
---|---|
Authorization | {token} de portador. Obligatorio. Obtenga más información sobre la autenticación y la autorización. |
ConsistencyLevel | eventual. Este encabezado y $count son requeridos al usar los parámetros de consulta $search , $filter , $orderby u OData. Usa un índice que podría no estar actualizado con los cambios recientes realizados en el objeto. |
Cuerpo de la solicitud
No proporcione un cuerpo de solicitud para este método.
Respuesta
Si se ejecuta correctamente, este método devuelve un código de respuesta 200 OK
y una colección de objetos directoryObject en el cuerpo de la respuesta.
Ejemplos
Ejemplo 1: Obtener los grupos y roles de directorio de los que esa entidad de servicio es miembro transitivo
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/servicePrincipals/00063ffc-54e9-405d-b8f3-56124728e051/transitiveMemberOf
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 200 OK
Content-type: application/json
{
"value": [
{
"@odata.type": "#microsoft.graph.group",
"id": "id-value",
"createdDateTime": null,
"description": "All users at the company",
"displayName": "All Users",
"groupTypes": [],
"mailEnabled": false,
"securityEnabled": true,
}
]
}
Ejemplo 2: Obtener solo un recuento de toda la pertenencia transitiva
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/transitiveMemberOf/$count
ConsistencyLevel: eventual
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: text/plain
294
Ejemplo 3: Usar la conversión de OData para obtener solo un recuento de la pertenencia transitiva en grupos
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/transitiveMemberOf/microsoft.graph.group/$count
ConsistencyLevel: eventual
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 200 OK
Content-type: text/plain
294
Ejemplo 4: Usar $search y la conversión de OData para obtener pertenencias a grupos con nombres para mostrar que contengan las letras 'Video', incluido un recuento de los objetos devueltos
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$search="displayName:Video"&$select=displayName,id
ConsistencyLevel: eventual
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 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#groups(displayName,id)",
"@odata.count":7,
"value":[
{
"displayName":"Contoso Videos",
"id":"11111111-2222-3333-4444-555555555555"
}
]
}
Ejemplo 5: Usar $filter y $top para obtener un grupo con un nombre para mostrar que comience por 'A', incluido un recuento de los objetos devueltos
Solicitud
En el ejemplo siguiente se muestra la solicitud.
GET https://graph.microsoft.com/v1.0/servicePrincipals/{id}/transitiveMemberOf/microsoft.graph.group?$count=true&$orderby=displayName&$filter=startswith(displayName, 'a')
ConsistencyLevel: eventual
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 200 OK
Content-type: application/json
{
"@odata.context":"https://graph.microsoft.com/v1.0/$metadata#groups",
"@odata.count":76,
"value":[
{
"displayName":"AAD Contoso Users",
"mail":"AADContoso_Users@contoso.com",
"mailEnabled":true,
"mailNickname":"AADContoso_Users",
"securityEnabled":true
}
]
}