Get user roles for a customer (Obtener los roles de usuario de un cliente)

Obtenga una lista de todos los roles o permisos asociados a una cuenta de usuario. Las variaciones incluyen obtener una lista de todos los permisos en todas las cuentas de usuario de un cliente y obtener una lista de usuarios que tienen un rol determinado.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación solo con credenciales de aplicación y usuario.

  • Un id. de cliente (customer-tenant-id). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

Roles de GDAP

Necesitará al menos uno de los siguientes roles de GDAP:

  • Lector del directorio
  • Lector global
  • Administrador de usuarios
  • Administrador de roles con privilegios
  • Escritores de directorios

C#

Para recuperar todos los roles de directorio de un cliente especificado, primero recupere el identificador de cliente especificado. A continuación, use la colección IAggregatePartner.Customers y llame al método ById(). A continuación, llame a la propiedad DirectoryRoles, seguida del método Get() o GetAsync().

// string selectedCustomerId;
// IAggregatePartner partnerOperations;

var directoryRoles = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.Get();

Ejemplo: Aplicación de prueba de consola. Project: Partner Center SDK Samples Class: GetCustomerDirectoryRoles.cs

Para recuperar una lista de usuarios de clientes que tienen un rol determinado, primero recupere el identificador de cliente y el identificador de rol de directorio especificados. A continuación, use la colección IAggregatePartner.Customers y llame al método ById(). A continuación, llame a la propiedad DirectoryRoles y, a continuación, al método ById(), a la propiedad UserMembers, seguido del método Get() o GetAsync().

// string selectedCustomerId;
// IAggregatePartner partnerOperations;
// string selectedDirectoryRoleId;

var userMembers = partnerOperations.Customers.ById(selectedCustomerId).DirectoryRoles.ById(selectedDirectoryRoleId).UserMembers.Get();

Ejemplo: Aplicación de prueba de consola. Project: PartnerSDK.FeatureSamples (Clase): GetCustomerDirectoryRoleUserMembers.cs

Solicitud REST

Sintaxis de la solicitud

Method URI de solicitud
GET {baseURL}/v1/customers/{customer-tenant-id}/users/{user-id}/directoryroles HTTP/1.1
GET {baseURL}/v1/customers/{customer-tenant-id}/directoryroles HTTP/1.1
GET {baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers

Parámetro de URI

Use el siguiente parámetro de consulta para identificar el cliente correcto.

Nombre Tipo Obligatorio Descripción
customer-tenant-id guid Y El valor es un GUID con formato customer-tenant-id que permite al revendedor filtrar los resultados de un cliente determinado que pertenece al revendedor.
user-id guid N El valor es un identificador de usuario con formato GUID que pertenece a una sola cuenta de usuario.
role-id guid N El valor es un identificador de rol con formato GUID que pertenece a un tipo de rol. Puede obtener estos identificadores si consulta todos los roles de directorio de un cliente a través de todas las cuentas de usuario. (El segundo escenario anterior).

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

Ejemplo de solicitud

GET https://api.partnercenter.microsoft.com/v1/customers/<customer-tenant-id>/users/<user-id>/directoryroles HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
MS-CorrelationId: 8a53b025-d5be-4d98-ab20-229d1813de76

Respuesta REST

Si se ejecuta correctamente, este método devuelve una lista de los roles asociados a la cuenta de usuario especificada.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener la lista completa, consulte Códigos de error.

Ejemplo de respuesta

HTTP/1.1 200 OK
Content-Length: 31942
Content-Type: application/json
MS-CorrelationId: 8a53b025-d5be-4d98-ab20-229d1813de76
MS-RequestId: b1317092-f087-471e-a637-f66523b2b94c
Date: June 24 2016 22:00:25 PST

{
      "totalCount": 2,
      "items": [
        {
          "name": "Helpdesk Administrator",
          "id": "729827e3-9c14-49f7-bb1b-9608f156bbb8",
          "attributes": { "objectType": "DirectoryRole" }
        },
        {
          "name": "User Account Administrator",
          "id": "fe930be7-5e62-47db-91af-98c3a49a38b1",
          "attributes": { "objectType": "DirectoryRole" }
        }
      ],
      "attributes": { "objectType": "Collection" }
}