更新 unifiedRoleDefinition
命名空间:microsoft.graph
更新 unifiedRoleDefinition 对象 的属性。 无法更新内置角色。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
RoleManagement.ReadWrite.Directory |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
RoleManagement.ReadWrite.Directory |
HTTP 请求
PATCH /roleManagement/directory/roleDefinitions/{id}
| 名称 |
说明 |
| Authorization |
持有者 {token} |
| Content-Type |
application/json. Required. |
请求正文
在请求正文中,提供应更新的相关字段的值。 请求正文中不包括的现有属性将保留其以前的值,或根据对其他属性值的更改重新计算。 为获得最佳性能,请勿包含尚未更改的现有值。
下表显示更新 unifiedRoleDefinition时所需的属性。
| 属性 |
类型 |
说明 |
| 说明 |
String |
角色定义的说明。 isBuiltIn 为 时为只读 true 。 |
| displayName |
String |
角色显示名称的角色定义。 isBuiltIn 为 时为只读 true 。 必需。 |
| isEnabled |
Boolean |
指示角色是否已启用分配的标志。 如果 false 为 ,则角色不可用于分配。 isBuiltIn 为 true 时为只读。 |
| resourceScopes |
String collection |
角色定义适用的作用域和权限列表。 当前仅 / 受支持。 isBuiltIn 为 true 时为只读。 请勿使用。此属性将很快弃用。将作用域附加到角色分配。 |
| rolePermissions |
unifiedRolePermission 集合 |
角色中包含的权限列表。 isBuiltIn 为 时为只读 true 。 必需。 |
| templateId |
String |
可在 isBuiltIn 为 时设置的自定义模板标识符 false 。 如果一个标识符在不同目录之间需要相同,则通常使用此标识符。 isBuiltIn 为 时为只读 true 。 |
| version |
String |
指示角色定义的版本。 isBuiltIn 为 时为只读 true 。 |
响应
如果成功,此方法返回 204 No Content 响应代码。它不在响应正文中返回任何内容。
示例
请求
下面展示了示例请求。
PATCH https://graph.microsoft.com/v1.0/roleManagement/directory/roleDefinitions/0d55728d-3e24-4309-9b1b-5ac09921475a
Content-type: application/json
{
"description": "Update basic properties of application registrations",
"displayName": "Application Registration Support Administrator",
"rolePermissions":
[
{
"allowedResourceActions":
[
"microsoft.directory/applications/basic/read"
]
}
]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var unifiedRoleDefinition = new UnifiedRoleDefinition
{
Description = "Update basic properties of application registrations",
DisplayName = "Application Registration Support Administrator",
RolePermissions = new List<UnifiedRolePermission>()
{
new UnifiedRolePermission
{
AllowedResourceActions = new List<String>()
{
"microsoft.directory/applications/basic/read"
}
}
}
};
await graphClient.RoleManagement.Directory.RoleDefinitions["{unifiedRoleDefinition-id}"]
.Request()
.UpdateAsync(unifiedRoleDefinition);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
const options = {
authProvider,
};
const client = Client.init(options);
const unifiedRoleDefinition = {
description: 'Update basic properties of application registrations',
displayName: 'Application Registration Support Administrator',
rolePermissions:
[
{
allowedResourceActions:
[
'microsoft.directory/applications/basic/read'
]
}
]
};
await client.api('/roleManagement/directory/roleDefinitions/0d55728d-3e24-4309-9b1b-5ac09921475a')
.update(unifiedRoleDefinition);
有关如何将 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/roleDefinitions/0d55728d-3e24-4309-9b1b-5ac09921475a"]]];
[urlRequest setHTTPMethod:@"PATCH"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphUnifiedRoleDefinition *unifiedRoleDefinition = [[MSGraphUnifiedRoleDefinition alloc] init];
[unifiedRoleDefinition setDescription:@"Update basic properties of application registrations"];
[unifiedRoleDefinition setDisplayName:@"Application Registration Support Administrator"];
NSMutableArray *rolePermissionsList = [[NSMutableArray alloc] init];
MSGraphUnifiedRolePermission *rolePermissions = [[MSGraphUnifiedRolePermission alloc] init];
NSMutableArray *allowedResourceActionsList = [[NSMutableArray alloc] init];
[allowedResourceActionsList addObject: @"microsoft.directory/applications/basic/read"];
[rolePermissions setAllowedResourceActions:allowedResourceActionsList];
[rolePermissionsList addObject: rolePermissions];
[unifiedRoleDefinition setRolePermissions:rolePermissionsList];
NSError *error;
NSData *unifiedRoleDefinitionData = [unifiedRoleDefinition getSerializedDataWithError:&error];
[urlRequest setHTTPBody:unifiedRoleDefinitionData];
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();
UnifiedRoleDefinition unifiedRoleDefinition = new UnifiedRoleDefinition();
unifiedRoleDefinition.description = "Update basic properties of application registrations";
unifiedRoleDefinition.displayName = "Application Registration Support Administrator";
LinkedList<UnifiedRolePermission> rolePermissionsList = new LinkedList<UnifiedRolePermission>();
UnifiedRolePermission rolePermissions = new UnifiedRolePermission();
LinkedList<String> allowedResourceActionsList = new LinkedList<String>();
allowedResourceActionsList.add("microsoft.directory/applications/basic/read");
rolePermissions.allowedResourceActions = allowedResourceActionsList;
rolePermissionsList.add(rolePermissions);
unifiedRoleDefinition.rolePermissions = rolePermissionsList;
graphClient.roleManagement().directory().roleDefinitions("0d55728d-3e24-4309-9b1b-5ac09921475a")
.buildRequest()
.patch(unifiedRoleDefinition);
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewUnifiedRoleDefinition()
description := "Update basic properties of application registrations"
requestBody.SetDescription(&description)
displayName := "Application Registration Support Administrator"
requestBody.SetDisplayName(&displayName)
requestBody.SetRolePermissions( []UnifiedRolePermission {
msgraphsdk.NewUnifiedRolePermission(),
SetAdditionalData(map[string]interface{}{
"allowedResourceActions": []String {
"microsoft.directory/applications/basic/read",
}
}
}
unifiedRoleDefinitionId := "unifiedRoleDefinition-id"
graphClient.RoleManagement().Directory().RoleDefinitionsById(&unifiedRoleDefinitionId).Patch(requestBody)
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
Import-Module Microsoft.Graph.DeviceManagement.Enrolment
$params = @{
Description = "Update basic properties of application registrations"
DisplayName = "Application Registration Support Administrator"
RolePermissions = @(
@{
AllowedResourceActions = @(
"microsoft.directory/applications/basic/read"
)
}
)
}
Update-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId $unifiedRoleDefinitionId -BodyParameter $params
有关如何将 SDK 添加 到项目并 创建 authProvider 实例的 详细信息,请参阅 SDK 文档。
响应
下面展示了示例响应。
HTTP/1.1 204 OK
Content-type: application/json