创建 unifiedRoleAssignment
命名空间:microsoft.graph
创建新的 unifiedRoleAssignment 对象。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
对于目录 (Azure AD) 提供程序
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
RoleManagement.ReadWrite.Directory |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
RoleManagement.ReadWrite.Directory |
对于权利管理提供程序
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
EntitlementManagement.ReadWrite.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
EntitlementManagement.ReadWrite.All |
HTTP 请求
为目录提供程序创建角色分配:
POST /roleManagement/directory/roleAssignments
为权利管理提供程序创建角色分配:
POST /roleManagement/entitlementManagement/roleAssignments
| 名称 |
说明 |
| Authorization |
持有者 {token} |
请求正文
在请求正文中,提供 unifiedRoleAssignment 对象的 JSON 表示形式。 请求必须具有在 Azure Active Directory (Azure AD 中定义的范围) 由 directoryScopeId 指定,或者 由 appScopeId 指定的特定于应用程序的范围。 Azure AD 范围的示例包括租户 () / 、管理单元或应用程序。 有关 appScope 的详细信息,请参阅 appScope。
下表显示了创建 unifiedRoleAssignment 对象时所需的属性。
| 参数 |
类型 |
说明 |
| roleDefinitionId |
String |
分配所用于的角色定义的标识符。 |
| principalId |
字符串 |
向其授予分配的主体的标识符。 |
| directoryScopeId |
String |
表示分配范围的目录对象的标识符。 需要此属性或 appScopeId 。 分配的范围确定已授予主体访问权限的资源集。 目录范围是存储在多个应用程序理解的目录中的共享范围。 用于 / 租户范围。 使用 appScopeId 将范围限制为仅限应用程序。 |
| appScopeId |
字符串 |
分配范围特定于应用时特定于应用的范围的标识符。 需要此属性或 directoryScopeId 。 应用范围是仅由此应用程序定义和理解的范围。 用于 / 租户范围的应用范围。 使用 directoryScopeId 将范围限制为特定目录对象,例如管理单元。 |
响应
如果成功,此方法在响应正文中返回 201 Created 响应代码和新的 unifiedRoleAssignment 对象。
示例
示例 1:创建具有租户范围的角色分配
请求
下面展示了示例请求。 请注意,roleTemplateId 用于 roleDefinitionId。 roleDefinitionId 可以是服务范围的模板 ID,也可以是特定于目录的角色DefinitionId。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"directoryScopeId": "/"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var unifiedRoleAssignment = new UnifiedRoleAssignment
{
RoleDefinitionId = "c2cf284d-6c41-4e6b-afac-4b80928c9034",
PrincipalId = "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
DirectoryScopeId = "/"
};
await graphClient.RoleManagement.Directory.RoleAssignments
.Request()
.AddAsync(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const unifiedRoleAssignment = {
'@odata.type': '#microsoft.graph.unifiedRoleAssignment',
roleDefinitionId: 'c2cf284d-6c41-4e6b-afac-4b80928c9034',
principalId: 'f8ca5a85-489a-49a0-b555-0a6d81e56f0d',
directoryScopeId: '/'
};
await client.api('/roleManagement/directory/roleAssignments')
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/roleManagement/directory/roleAssignments"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphUnifiedRoleAssignment *unifiedRoleAssignment = [[MSGraphUnifiedRoleAssignment alloc] init];
[unifiedRoleAssignment setRoleDefinitionId:@"c2cf284d-6c41-4e6b-afac-4b80928c9034"];
[unifiedRoleAssignment setPrincipalId:@"f8ca5a85-489a-49a0-b555-0a6d81e56f0d"];
[unifiedRoleAssignment setDirectoryScopeId:@"/"];
NSError *error;
NSData *unifiedRoleAssignmentData = [unifiedRoleAssignment getSerializedDataWithError:&error];
[urlRequest setHTTPBody:unifiedRoleAssignmentData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
UnifiedRoleAssignment unifiedRoleAssignment = new UnifiedRoleAssignment();
unifiedRoleAssignment.roleDefinitionId = "c2cf284d-6c41-4e6b-afac-4b80928c9034";
unifiedRoleAssignment.principalId = "f8ca5a85-489a-49a0-b555-0a6d81e56f0d";
unifiedRoleAssignment.directoryScopeId = "/";
graphClient.roleManagement().directory().roleAssignments()
.buildRequest()
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewUnifiedRoleAssignment()
roleDefinitionId := "c2cf284d-6c41-4e6b-afac-4b80928c9034"
requestBody.SetRoleDefinitionId(&roleDefinitionId)
principalId := "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
requestBody.SetPrincipalId(&principalId)
directoryScopeId := "/"
requestBody.SetDirectoryScopeId(&directoryScopeId)
requestBody.SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
}
result, err := graphClient.RoleManagement().Directory().RoleAssignments().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.DeviceManagement.Enrolment
$params = @{
"@odata.type" = "#microsoft.graph.unifiedRoleAssignment"
RoleDefinitionId = "c2cf284d-6c41-4e6b-afac-4b80928c9034"
PrincipalId = "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
DirectoryScopeId = "/"
}
New-MgRoleManagementDirectoryRoleAssignment -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignments/$entity",
"id": "YUb1sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHVi2I-1",
"roleDefinitionId": "c2cf284d-6c41-4e6b-afac-4b80928c9034",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"directoryScopeId": "/"
}
示例 2:创建具有管理单元范围的角色分配
请求
以下示例将用户管理员角色分配给具有管理单元范围的主体。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var unifiedRoleAssignment = new UnifiedRoleAssignment
{
RoleDefinitionId = "fe930be7-5e62-47db-91af-98c3a49a38b1",
PrincipalId = "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
DirectoryScopeId = "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
};
await graphClient.RoleManagement.Directory.RoleAssignments
.Request()
.AddAsync(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const unifiedRoleAssignment = {
'@odata.type': '#microsoft.graph.unifiedRoleAssignment',
roleDefinitionId: 'fe930be7-5e62-47db-91af-98c3a49a38b1',
principalId: 'f8ca5a85-489a-49a0-b555-0a6d81e56f0d',
directoryScopeId: '/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a'
};
await client.api('/roleManagement/directory/roleAssignments')
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/roleManagement/directory/roleAssignments"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphUnifiedRoleAssignment *unifiedRoleAssignment = [[MSGraphUnifiedRoleAssignment alloc] init];
[unifiedRoleAssignment setRoleDefinitionId:@"fe930be7-5e62-47db-91af-98c3a49a38b1"];
[unifiedRoleAssignment setPrincipalId:@"f8ca5a85-489a-49a0-b555-0a6d81e56f0d"];
[unifiedRoleAssignment setDirectoryScopeId:@"/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"];
NSError *error;
NSData *unifiedRoleAssignmentData = [unifiedRoleAssignment getSerializedDataWithError:&error];
[urlRequest setHTTPBody:unifiedRoleAssignmentData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
UnifiedRoleAssignment unifiedRoleAssignment = new UnifiedRoleAssignment();
unifiedRoleAssignment.roleDefinitionId = "fe930be7-5e62-47db-91af-98c3a49a38b1";
unifiedRoleAssignment.principalId = "f8ca5a85-489a-49a0-b555-0a6d81e56f0d";
unifiedRoleAssignment.directoryScopeId = "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a";
graphClient.roleManagement().directory().roleAssignments()
.buildRequest()
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewUnifiedRoleAssignment()
roleDefinitionId := "fe930be7-5e62-47db-91af-98c3a49a38b1"
requestBody.SetRoleDefinitionId(&roleDefinitionId)
principalId := "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
requestBody.SetPrincipalId(&principalId)
directoryScopeId := "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
requestBody.SetDirectoryScopeId(&directoryScopeId)
requestBody.SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
}
result, err := graphClient.RoleManagement().Directory().RoleAssignments().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.DeviceManagement.Enrolment
$params = @{
"@odata.type" = "#microsoft.graph.unifiedRoleAssignment"
RoleDefinitionId = "fe930be7-5e62-47db-91af-98c3a49a38b1"
PrincipalId = "f8ca5a85-489a-49a0-b555-0a6d81e56f0d"
DirectoryScopeId = "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
}
New-MgRoleManagementDirectoryRoleAssignment -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/directory/roleAssignments/$entity",
"id": "BH21sHQtUEyvox7IA_Eu_mm3jqnUe4lEhvatluHIWb7-1",
"roleDefinitionId": "fe930be7-5e62-47db-91af-98c3a49a38b1",
"principalId": "f8ca5a85-489a-49a0-b555-0a6d81e56f0d",
"directoryScopeId": "/administrativeUnits/5d107bba-d8e2-4e13-b6ae-884be90e5d1a"
}
示例 3:创建具有应用程序范围的角色分配
请求
以下示例为主体分配应用程序范围内的应用程序管理员角色。 应用程序注册的对象 ID 为 661e1310-bd76-4795-89a7-8f3c8f855bfc。
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignments
Content-type: application/json
{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
"principalId": "6b937a9d-c731-465b-a844-2d5b5368c161",
"roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
"directoryScopeId": "/661e1310-bd76-4795-89a7-8f3c8f855bfc"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var unifiedRoleAssignment = new UnifiedRoleAssignment
{
PrincipalId = "6b937a9d-c731-465b-a844-2d5b5368c161",
RoleDefinitionId = "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
DirectoryScopeId = "/661e1310-bd76-4795-89a7-8f3c8f855bfc"
};
await graphClient.RoleManagement.Directory.RoleAssignments
.Request()
.AddAsync(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const unifiedRoleAssignment = {
'@odata.type': '#microsoft.graph.unifiedRoleAssignment',
principalId: '6b937a9d-c731-465b-a844-2d5b5368c161',
roleDefinitionId: '9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3',
directoryScopeId: '/661e1310-bd76-4795-89a7-8f3c8f855bfc'
};
await client.api('/roleManagement/directory/roleAssignments')
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/roleManagement/directory/roleAssignments"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphUnifiedRoleAssignment *unifiedRoleAssignment = [[MSGraphUnifiedRoleAssignment alloc] init];
[unifiedRoleAssignment setPrincipalId:@"6b937a9d-c731-465b-a844-2d5b5368c161"];
[unifiedRoleAssignment setRoleDefinitionId:@"9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"];
[unifiedRoleAssignment setDirectoryScopeId:@"/661e1310-bd76-4795-89a7-8f3c8f855bfc"];
NSError *error;
NSData *unifiedRoleAssignmentData = [unifiedRoleAssignment getSerializedDataWithError:&error];
[urlRequest setHTTPBody:unifiedRoleAssignmentData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
UnifiedRoleAssignment unifiedRoleAssignment = new UnifiedRoleAssignment();
unifiedRoleAssignment.principalId = "6b937a9d-c731-465b-a844-2d5b5368c161";
unifiedRoleAssignment.roleDefinitionId = "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3";
unifiedRoleAssignment.directoryScopeId = "/661e1310-bd76-4795-89a7-8f3c8f855bfc";
graphClient.roleManagement().directory().roleAssignments()
.buildRequest()
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewUnifiedRoleAssignment()
principalId := "6b937a9d-c731-465b-a844-2d5b5368c161"
requestBody.SetPrincipalId(&principalId)
roleDefinitionId := "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"
requestBody.SetRoleDefinitionId(&roleDefinitionId)
directoryScopeId := "/661e1310-bd76-4795-89a7-8f3c8f855bfc"
requestBody.SetDirectoryScopeId(&directoryScopeId)
requestBody.SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.unifiedRoleAssignment",
}
result, err := graphClient.RoleManagement().Directory().RoleAssignments().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.DeviceManagement.Enrolment
$params = @{
"@odata.type" = "#microsoft.graph.unifiedRoleAssignment"
PrincipalId = "6b937a9d-c731-465b-a844-2d5b5368c161"
RoleDefinitionId = "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"
DirectoryScopeId = "/661e1310-bd76-4795-89a7-8f3c8f855bfc"
}
New-MgRoleManagementDirectoryRoleAssignment -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#roleManagement/directory/roleAssignments/$entity",
"@odata.id": "https://graph.microsoft.com/v2/22350cac-d84b-466b-8c2c-f9326746709a/roleAssignments/kl2Jm9Msx0SdAqasLV6lw516k2sxx1tGqEQtW1NowWEQEx5mdr2VR4mnjzyPhVv8-1",
"id": "kl2Jm9Msx0SdAqasLV6lw516k2sxx1tGqEQtW1NowWEQEx5mdr2VR4mnjzyPhVv8-1",
"principalId": "6b937a9d-c731-465b-a844-2d5b5368c161",
"principalOrganizationId": "22350cac-d84b-466b-8c2c-f9326746709a",
"resourceScope": "/661e1310-bd76-4795-89a7-8f3c8f855bfc",
"directoryScopeId": "/661e1310-bd76-4795-89a7-8f3c8f855bfc",
"roleDefinitionId": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"
}
示例 4:创建具有访问包目录范围的角色分配
请求
下面展示了示例请求。
POST https://graph.microsoft.com/v1.0/roleManagement/entitlementManagement/roleAssignments
Content-type: application/json
{
"principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
"roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
"appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var unifiedRoleAssignment = new UnifiedRoleAssignment
{
PrincipalId = "679a9213-c497-48a4-830a-8d3d25d94ddc",
RoleDefinitionId = "ae79f266-94d4-4dab-b730-feca7e132178",
AppScopeId = "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
};
await graphClient.RoleManagement.EntitlementManagement.RoleAssignments
.Request()
.AddAsync(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const unifiedRoleAssignment = {
principalId: '679a9213-c497-48a4-830a-8d3d25d94ddc',
roleDefinitionId: 'ae79f266-94d4-4dab-b730-feca7e132178',
appScopeId: '/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997'
};
await client.api('/roleManagement/entitlementManagement/roleAssignments')
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/roleManagement/entitlementManagement/roleAssignments"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphUnifiedRoleAssignment *unifiedRoleAssignment = [[MSGraphUnifiedRoleAssignment alloc] init];
[unifiedRoleAssignment setPrincipalId:@"679a9213-c497-48a4-830a-8d3d25d94ddc"];
[unifiedRoleAssignment setRoleDefinitionId:@"ae79f266-94d4-4dab-b730-feca7e132178"];
[unifiedRoleAssignment setAppScopeId:@"/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"];
NSError *error;
NSData *unifiedRoleAssignmentData = [unifiedRoleAssignment getSerializedDataWithError:&error];
[urlRequest setHTTPBody:unifiedRoleAssignmentData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
UnifiedRoleAssignment unifiedRoleAssignment = new UnifiedRoleAssignment();
unifiedRoleAssignment.principalId = "679a9213-c497-48a4-830a-8d3d25d94ddc";
unifiedRoleAssignment.roleDefinitionId = "ae79f266-94d4-4dab-b730-feca7e132178";
unifiedRoleAssignment.appScopeId = "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997";
graphClient.roleManagement().entitlementManagement().roleAssignments()
.buildRequest()
.post(unifiedRoleAssignment);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewUnifiedRoleAssignment()
principalId := "679a9213-c497-48a4-830a-8d3d25d94ddc"
requestBody.SetPrincipalId(&principalId)
roleDefinitionId := "ae79f266-94d4-4dab-b730-feca7e132178"
requestBody.SetRoleDefinitionId(&roleDefinitionId)
appScopeId := "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
requestBody.SetAppScopeId(&appScopeId)
result, err := graphClient.RoleManagement().EntitlementManagement().RoleAssignments().Post(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.DeviceManagement.Enrolment
$params = @{
PrincipalId = "679a9213-c497-48a4-830a-8d3d25d94ddc"
RoleDefinitionId = "ae79f266-94d4-4dab-b730-feca7e132178"
AppScopeId = "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
}
New-MgRoleManagementEntitlementManagementRoleAssignment -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#roleManagement/entitlementManagement/roleAssignments/$entity",
"id": "f3092518-7874-462e-93e9-0cd6c11ffc52",
"principalId": "679a9213-c497-48a4-830a-8d3d25d94ddc",
"roleDefinitionId": "ae79f266-94d4-4dab-b730-feca7e132178",
"appScopeId": "/AccessPackageCatalog/beedadfe-01d5-4025-910b-84abb9369997"
}