Set user roles for a customer (Configurar los roles de usuario de un cliente)Set user roles for a customer

Se aplica aApplies To

  • Centro de partnersPartner Center

Dentro de una cuenta de cliente, hay un conjunto de roles de directorio.Within a customer account, there's a set of directory roles. Puede asignar cuentas de usuario a esos roles.You can assign user accounts to those roles.

Requisitos previosPrerequisites

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners.Credentials as described in Partner Center authentication. Este escenario admite la autenticación solo con credenciales de aplicación y usuario.This scenario supports authentication with App+User credentials only.

  • Un id. de cliente (customer-tenant-id).A customer ID (customer-tenant-id). Si no conoces el identificador del cliente, puedes buscarlo en el panel del Centro de partners.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Selecciona CSP en el menú del Centro de partners, seguido de Clientes.Select CSP from the Partner Center menu, followed by Customers. En la lista de clientes, selecciona el cliente y, a continuación, elige Cuenta.Select the customer from the customer list, then select Account. En la página Cuenta del cliente, busca el Id. de Microsoft en la sección Información de la cuenta del cliente.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. El identificador de Microsoft es el mismo que el de cliente (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

C#C#

Para asignar un rol de directorio a un usuario de cliente, cree un nuevo [UserMember/dotnet/API/Microsoft.Store.partnercenter.Models.roles.usermember) con los detalles de usuario pertinentes.To assign a directory role to a customer user, create a new [UserMember/dotnet/api/microsoft.store.partnercenter.models.roles.usermember) with the relevant user details. A continuación, llame al método [colección iaggregatepartner. customers. ById/dotnet/API/Microsoft.Store.partnercenter.customers.icustomercollection.byid) con el identificador de cliente especificado para identificar al cliente.Then, call the [IAggregatePartner.Customers.ById/dotnet/api/microsoft.store.partnercenter.customers.icustomercollection.byid) method with the specified customer ID to identify the customer. Desde allí, use el método [DirectoryRoles. ById/dotnet/API/Microsoft.Store.partnercenter.customerdirectoryroles.idirectoryrolecollection.byid) con el identificador de rol de directorio para especificar el rol.From there, use the [DirectoryRoles.ById/dotnet/api/microsoft.store.partnercenter.customerdirectoryroles.idirectoryrolecollection.byid) method with the directory role ID to specify the role. A continuación, acceda a la colección UserMembers y use el método [Create/dotnet/API/Microsoft.Store.partnercenter.customerdirectoryroles.iusermembercollection.Create) para agregar el nuevo miembro de usuario a la colección de miembros de usuario asignados a ese rol.Then, access the UserMembers collection, and use the [Create/dotnet/api/microsoft.store.partnercenter.customerdirectoryroles.iusermembercollection.create) method to add the new user member to the collection of user members assigned to that role.

// UserMember createdUser;
// IAggregatePartner partnerOperations;
// Customer selectedCustomer;
// IDirectoryRole selectedRole;

// Create the new user member.
UserMember userMemberToAdd = new UserMember()
{
    UserPrincipalName = createdUser.UserPrincipalName,
    DisplayName = createdUser.DisplayName,
    Id = createdUser.Id
};

// Add the new user member to the role.
var userMemberAdded = partnerOperations.Customers.ById(selectedCustomer.Id).DirectoryRoles.ById(selectedRole.Id).UserMembers.Create(userMemberToAdd);

Ejemplo: aplicación de prueba de consola.Sample: Console test app. Proyecto: SDK del centro de Partners ( clase): AddUserMemberToDirectoryRole.CSProject: Partner Center SDK Samples Class: AddUserMemberToDirectoryRole.cs

Solicitud RESTREST request

Sintaxis de la solicitudRequest syntax

MétodoMethod URI de la solicitudRequest URI
POSTPOST {baseurl}/v1/customers/{customer-tenant-ID}/directoryroles/{role-ID}/usermembers http/1.1{baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers HTTP/1.1

Parámetro de URIURI parameter

Para identificar el cliente y el rol correctos, use los parámetros URI siguientes.Use the following URI parameters to identify the correct customer and role. Para identificar al usuario al que desea asignar el rol, proporcione la información de identificación en el cuerpo de la solicitud.To identify the user to whom to assign the role, supply the identifying information in the request body.

NombreName TipoType ObligatorioRequired DescripciónDescription
customer-tenant-idcustomer-tenant-id guidguid YY El valor es un identificador de inquilino de cliente con formato de GUID que permite que el revendedor filtre los resultados de un determinado cliente que pertenece al distribuidor.The value is a GUID formatted customer-tenant-id that allows the reseller to filter the results for a given customer that belongs to the reseller.
identificador de rolrole-id guidguid YY El valor es un identificador de rol con formato GUID que identifica el rol que se va a asignar al usuario.The value is a GUID formatted role-id that identifies the role to assign to the user.

Encabezados de solicitudRequest headers

Para obtener más información, consulta Encabezados REST del Centro de partners.For more information, see Partner Center REST headers.

Cuerpo de la solicitudRequest body

En esta tabla se describen las propiedades necesarias en el cuerpo de la solicitud.This table describes the required properties in the request body.

NombreName TipoType ObligatorioRequired DescripciónDescription
IdId stringstring YY Identificador del usuario que se va a agregar al rol.The Id of the user to add to the role.
DisplayNameDisplayName stringstring YY Nombre descriptivo para mostrar del usuario.The friendly display name of the user.
UserPrincipalNameUserPrincipalName stringstring YY El nombre de la entidad de seguridad de usuario.The name of the user principal.
AtributosAttributes objectobject YY Contiene "ObjectType": "UserMember"Contains "ObjectType":"UserMember"

Ejemplo de solicitudRequest example

POST https://api.partnercenter.microsoft.com/v1/customers/4d3cf487-70f4-4e1e-9ff1-b2bfce8d9f04/directoryroles/f023fd81-a637-4b56-95fd-791ac0226033/usermembers HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: a56cb2e5-a156-4f68-9155-57ffe2b93d18
MS-CorrelationId: 90bda268-7929-4ad6-be01-89c5af5fc504
X-Locale: en-US
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 180
Expect: 100-continue

{
    "Id": "a9ef48bb-8758-4590-a312-d4a47bfaded4",
    "DisplayName": "Daniel Tsai",
    "UserPrincipalName": "Daniel@dtdemocspcustomer005.onmicrosoft.com",
    "Attributes": {
        "ObjectType": "UserMember"
    }
}

Respuesta RESTREST response

Este método devuelve la cuenta de usuario con el identificador de rol asociado cuando se asigna correctamente el rol al usuario.This method returns the user account with the role id attached when the user is successfully assigned the role.

Códigos de error y de respuesta correctosResponse success and error codes

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.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales.Use a network trace tool to read this code, error type, and additional parameters. Para obtener la lista completa, consulta Códigos de error de REST del Centro de partners.For the full list, see Partner Center REST error codes.

Ejemplo de respuestaResponse example

HTTP/1.1 201 Created
Content-Length: 231
Content-Type: application/json; charset=utf-8
MS-CorrelationId: 90bda268-7929-4ad6-be01-89c5af5fc504
MS-RequestId: a56cb2e5-a156-4f68-9155-57ffe2b93d18
MS-CV: aia94+gnrEeQqkGr.0
MS-ServerId: 101112202
Date: Tue, 20 Dec 2016 23:36:55 GMT

{
    "displayName": "Daniel Tsai",
    "userPrincipalName": "Daniel@dtdemocspcustomer005.onmicrosoft.com",
    "roleId": "f023fd81-a637-4b56-95fd-791ac0226033",
    "id": "a9ef48bb-8758-4590-a312-d4a47bfaded4",
    "attributes": {
        "objectType": "UserMember"
    }
}