更新 privilegedRoleSettings
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
更新给定角色设置的角色设置。 将返回 privilegedRoleSettings 对象。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
注意: 请求者必须具有特权角色管理员角色才能更新角色设置。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
PrivilegedAccess.ReadWrite.AzureAD |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
不支持。 |
HTTP 请求
PUT /privilegedRoles/{id}/settings
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
请求正文
在请求正文中,提供 privilegedRoleSettings 对象的 JSON 表示形式。
下表列出了更新角色设置时可以提供的属性。
| 属性 |
类型 |
说明 |
| elevationDuration |
duration |
激活角色时的持续时间。 必需。 |
| id |
string |
角色设置的唯一标识符。 只读。 必填。 |
| isMfaOnElevationConfigurable |
boolean |
如果 mfaOnElevation 是可配置的,则为 true。 如果 mfaOnElevation 不可配置,则为 false。 必填。 |
| lastGlobalAdmin |
Boolean |
仅供内部使用。 |
| maxElavationDuration |
duration |
已激活角色的最长持续时间。 必填。 |
| mfaOnElevation |
Boolean |
如果 需要 MFA 来激活角色,则为 true。 如果不需要 MFA 来激活角色,则为 false。 必填。 |
| minElevationDuration |
duration |
已激活角色的最短持续时间。 必填。 |
| notificationToUserOnElevation |
Boolean |
如果 在激活角色时向最终用户发送通知,则为 true。 如果 激活角色时不发送通知,则为 false。 必填。 |
| ticketingInfoOnElevation |
Boolean |
如果 激活角色时需要票证信息,则为 true。 如果 激活角色时不需要票证信息,则为 false。 必填。 |
| approvalOnElevation |
Boolean |
如果 激活角色时需要审批,则为 true。 如果激活角色时不需要审批,则为 false。 必填。 |
| approverIds |
字符串集合 |
如果激活需要审批,则为审批 ID 列表。 |
响应
如果成功,此方法返回 204 No Content 响应代码。
请注意,租户需要注册到 PIM。 否则,将返回 HTTP 403 禁止的状态代码。
示例
请求
下面是一个请求示例。
PUT https://graph.microsoft.com/beta/privilegedRoles/{id}/settings
Content-type: application/json
{
"id": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
"elevationDuration": "PT8H",
"notificationToUserOnElevation": false,
"ticketingInfoOnElevation": true,
"mfaOnElevation": false,
"maxElavationDuration": "PT0S",
"minElevationDuration": "PT0S",
"lastGlobalAdmin": false,
"isMfaOnElevationConfigurable": true,
"approvalOnElevation": false,
"approverIds": ["e2b2a2fb-13d7-495c-adc9-941fe966793f", "22770e3f-b9b4-418e-9dea-d0e3d2f275dd"]
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var privilegedRoleSettings = new PrivilegedRoleSettings
{
Id = "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
ElevationDuration = new Duration("PT8H"),
NotificationToUserOnElevation = false,
TicketingInfoOnElevation = true,
MfaOnElevation = false,
MaxElavationDuration = new Duration("PT0S"),
MinElevationDuration = new Duration("PT0S"),
LastGlobalAdmin = false,
IsMfaOnElevationConfigurable = true,
ApprovalOnElevation = false,
ApproverIds = new List<String>()
{
"e2b2a2fb-13d7-495c-adc9-941fe966793f",
"22770e3f-b9b4-418e-9dea-d0e3d2f275dd"
}
};
await graphClient.PrivilegedRoles["{privilegedRole-id}"].Settings
.Request()
.PutAsync(privilegedRoleSettings);
const options = {
authProvider,
};
const client = Client.init(options);
const privilegedRoleSettings = {
id: '9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3',
elevationDuration: 'PT8H',
notificationToUserOnElevation: false,
ticketingInfoOnElevation: true,
mfaOnElevation: false,
maxElavationDuration: 'PT0S',
minElevationDuration: 'PT0S',
lastGlobalAdmin: false,
isMfaOnElevationConfigurable: true,
approvalOnElevation: false,
approverIds: ['e2b2a2fb-13d7-495c-adc9-941fe966793f', '22770e3f-b9b4-418e-9dea-d0e3d2f275dd']
};
await client.api('/privilegedRoles/{id}/settings')
.version('beta')
.put(privilegedRoleSettings);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/privilegedRoles/{id}/settings"]]];
[urlRequest setHTTPMethod:@"PUT"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphPrivilegedRoleSettings *privilegedRoleSettings = [[MSGraphPrivilegedRoleSettings alloc] init];
[privilegedRoleSettings setId:@"9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3"];
[privilegedRoleSettings setElevationDuration:@"PT8H"];
[privilegedRoleSettings setNotificationToUserOnElevation: false];
[privilegedRoleSettings setTicketingInfoOnElevation: true];
[privilegedRoleSettings setMfaOnElevation: false];
[privilegedRoleSettings setMaxElavationDuration:@"PT0S"];
[privilegedRoleSettings setMinElevationDuration:@"PT0S"];
[privilegedRoleSettings setLastGlobalAdmin: false];
[privilegedRoleSettings setIsMfaOnElevationConfigurable: true];
[privilegedRoleSettings setApprovalOnElevation: false];
NSMutableArray *approverIdsList = [[NSMutableArray alloc] init];
[approverIdsList addObject: @"e2b2a2fb-13d7-495c-adc9-941fe966793f"];
[approverIdsList addObject: @"22770e3f-b9b4-418e-9dea-d0e3d2f275dd"];
[privilegedRoleSettings setApproverIds:approverIdsList];
NSError *error;
NSData *privilegedRoleSettingsData = [privilegedRoleSettings getSerializedDataWithError:&error];
[urlRequest setHTTPBody:privilegedRoleSettingsData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
PrivilegedRoleSettings privilegedRoleSettings = new PrivilegedRoleSettings();
privilegedRoleSettings.id = "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3";
privilegedRoleSettings.elevationDuration = DatatypeFactory.newInstance().newDuration("PT8H");
privilegedRoleSettings.notificationToUserOnElevation = false;
privilegedRoleSettings.ticketingInfoOnElevation = true;
privilegedRoleSettings.mfaOnElevation = false;
privilegedRoleSettings.maxElavationDuration = DatatypeFactory.newInstance().newDuration("PT0S");
privilegedRoleSettings.minElevationDuration = DatatypeFactory.newInstance().newDuration("PT0S");
privilegedRoleSettings.lastGlobalAdmin = false;
privilegedRoleSettings.isMfaOnElevationConfigurable = true;
privilegedRoleSettings.approvalOnElevation = false;
LinkedList<String> approverIdsList = new LinkedList<String>();
approverIdsList.add("e2b2a2fb-13d7-495c-adc9-941fe966793f");
approverIdsList.add("22770e3f-b9b4-418e-9dea-d0e3d2f275dd");
privilegedRoleSettings.approverIds = approverIdsList;
graphClient.privilegedRoles("{id}").settings()
.buildRequest()
.put(privilegedRoleSettings);
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
requestBody.SetAdditionalData(map[string]interface{}{
"id": "9b895d92-2cd3-44c7-9d02-a6ac2d5ea5c3",
"elevationDuration": "PT8H",
"notificationToUserOnElevation": false,
"ticketingInfoOnElevation": true,
"mfaOnElevation": false,
"maxElavationDuration": "PT0S",
"minElevationDuration": "PT0S",
"lastGlobalAdmin": false,
"isMfaOnElevationConfigurable": true,
"approvalOnElevation": false,
"approverIds": []String {
"e2b2a2fb-13d7-495c-adc9-941fe966793f",
"22770e3f-b9b4-418e-9dea-d0e3d2f275dd",
}
}
privilegedRoleId := "privilegedRole-id"
graphClient.PrivilegedRolesById(&privilegedRoleId).Settings().Put(requestBody)
响应
下面是一个响应示例。
HTTP/1.1 204 No Content