顧客のユーザー ロールを設定する
顧客アカウント内には、一連のディレクトリ ロールがあります。 これらのロールにユーザー アカウントを割り当てることができます。
前提条件
パートナー センターの認証に関するページで説明している資格情報。 このシナリオでは、アプリとユーザーの資格情報を使用した認証のみがサポートされます。
顧客 ID です (
customer-tenant-id
)。 顧客の ID がわからない場合は、[顧客] ワークスペースを選択し、顧客の一覧から顧客を選択し、[アカウント] を選択して、パートナー センターで検索できます。 顧客の [アカウント] ページで、[顧客アカウント情報] セクションで Microsoft ID を探します。 Microsoft ID は、顧客 ID (customer-tenant-id
) と同じです。
GDAP ロール
次の GDAP ロールで必要になります。
- 特権ロール管理者
C#
顧客ユーザーにディレクトリ ロールを割り当てるには、関連するユーザーの詳細を含む新しい UserMember を作成します。 次に、指定した顧客 ID で IAggregatePartner.Customers.ById メソッドを呼び出して、顧客を識別します。 そこから、ディレクトリ ロール ID と共に DirectoryRoles.ById メソッドを使用して、ロールを指定します。 次に、UserMembers コレクションにアクセスし、Create メソッドを使用して、そのロールに割り当てられているユーザー メンバーのコレクションに新しいユーザー メンバーを追加します。
// 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);
サンプル: コンソール テスト アプリ。 プロジェクト: パートナー センター SDK サンプル クラス: AddUserMemberToDirectoryRole.cs
REST 要求
要求の構文
認証方法 | 要求 URI |
---|---|
POST | {baseURL}/v1/customers/{customer-tenant-id}/directoryroles/{role-ID}/usermembers HTTP/1.1 |
URI パラメーター
次の URI パラメーターを使用し、正しい顧客とロールを特定します。 ロールを割り当てるユーザーを識別するには、要求本文で識別情報を指定します。
名前 | 種類 | 必須 | 説明 |
---|---|---|---|
customer-tenant-id | guid | Y | この値は、リセラーがリセラーに 属する特定の顧客の結果をフィルター処理できるようにする、GUID 形式の customer-tenant-id です。 |
role-id | guid | Y | 値は、ユーザーに 割り当てるロールを識別する GUID 形式のロール ID です。 |
要求ヘッダー
詳細については、「パートナー センター REST ヘッダー」を参照してください。
要求本文
次の表では、要求本文で必要なプロパティについて説明します。
名前 | 種類 | 必須 | 説明 |
---|---|---|---|
Id | string | Y | ロールに追加するユーザーの ID。 |
DisplayName | string | Y | ユーザーのフレンドリ表示名。 |
UserPrincipalName | string | Y | ユーザー プリンシパル名。 |
属性 | object | Y | "ObjectType":"UserMember" が含まれています |
要求の例
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: aaaa0000-bb11-2222-33cc-444444dddddd
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"
}
}
REST 応答
このメソッドは、ユーザーにロールが正常に割り当てられたときに、ロール ID がアタッチされたユーザー アカウントを返します。
応答の成功とエラーのコード
各応答には、成功または失敗を示す HTTP ステータス コードと、追加のデバッグ情報が付属しています。 このコード、エラーの種類、追加のパラメーターを読み取るには、ネットワーク トレース ツールを使用します。 完全な一覧については、パートナー センターの REST エラーコードに関する記事を参照してください。
応答の例
HTTP/1.1 201 Created
Content-Length: 231
Content-Type: application/json; charset=utf-8
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
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"
}
}