privilegedRole:selfActivate
命名空间:microsoft.graph
重要
Microsoft Graph版本下的 /beta API 可能会发生更改。 不支持在生产应用程序中使用这些 API。 若要确定 API 是否在 v1.0 中可用,请使用 版本 选择器。
注意
2021 年 5 月 31 日,已弃用适用于 Azure Active Directory (Azure AD) 角色的 Privileged Identity Management (PIM) API 版本,并停止返回数据。 使用新的 角色管理 API。
激活分配给请求者的角色。
注意: 自 2018 年 12 月起,此 API 将不再受支持,也不应使用。 请改用 Create PrivilegedRoleAssignmentRequest 。
权限
要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限。
请求者只能调用 selfActivate 分配给他的角色。
| 权限类型 |
权限(从最低特权到最高特权) |
| 委派(工作或学校帐户) |
Directory.AccessAsUser.All |
| 委派(个人 Microsoft 帐户) |
不支持。 |
| 应用程序 |
不支持。 |
HTTP 请求
POST /privilegedRoles/{id}/selfActivate
请注意, {id} 这是目标角色 ID。
| 名称 |
说明 |
| Authorization |
Bearer {token}。必需。 |
请求正文
在请求正文中,提供具有以下参数的 JSON 对象。
| 参数 |
类型 |
说明 |
| reason |
string |
可选。 有关此角色激活原因的说明。 |
| duration |
string |
可选。 有效值可以 min (最小激活持续时间) , default (角色) 的默认激活持续时间,也可以是用于指定激活小时数的双值。 指定的持续时间不能超过角色设置中的激活持续时间。 |
| ticketNumber |
string |
可选。 用于跟踪此角色激活的票证号。 |
| ticketSystem |
string |
可选。 票证系统。 |
响应
如果成功,此方法在响应正文中返回 200 OK 响应代码和 privilegedRoleAssignment 对象。
请注意,租户需要注册到 PIM。 否则,将返回 HTTP 403 禁止的状态代码。
示例
以下示例演示如何调用此 API。
请求
下面是一个请求示例。
POST https://graph.microsoft.com/beta/privilegedRoles/{id}/selfActivate
Content-type: application/json
{
"reason": "reason-value",
"duration": "duration-value",
"ticketNumber": "ticketNumber-value",
"ticketSystem": "ticketSystem-value"
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var reason = "reason-value";
var duration = "duration-value";
var ticketNumber = "ticketNumber-value";
var ticketSystem = "ticketSystem-value";
await graphClient.PrivilegedRoles["{privilegedRole-id}"]
.SelfActivate(reason,duration,ticketNumber,ticketSystem)
.Request()
.PostAsync();
const options = {
authProvider,
};
const client = Client.init(options);
const privilegedRoleAssignment = {
reason: 'reason-value',
duration: 'duration-value',
ticketNumber: 'ticketNumber-value',
ticketSystem: 'ticketSystem-value'
};
await client.api('/privilegedRoles/{id}/selfActivate')
.version('beta')
.post(privilegedRoleAssignment);
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/beta/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/privilegedRoles/{id}/selfActivate"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
NSMutableDictionary *payloadDictionary = [[NSMutableDictionary alloc] init];
NSString *reason = @"reason-value";
payloadDictionary[@"reason"] = reason;
NSString *duration = @"duration-value";
payloadDictionary[@"duration"] = duration;
NSString *ticketNumber = @"ticketNumber-value";
payloadDictionary[@"ticketNumber"] = ticketNumber;
NSString *ticketSystem = @"ticketSystem-value";
payloadDictionary[@"ticketSystem"] = ticketSystem;
NSData *data = [NSJSONSerialization dataWithJSONObject:payloadDictionary options:kNilOptions error:&error];
[urlRequest setHTTPBody:data];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
String reason = "reason-value";
String duration = "duration-value";
String ticketNumber = "ticketNumber-value";
String ticketSystem = "ticketSystem-value";
graphClient.privilegedRoles("{id}")
.selfActivate(PrivilegedRoleSelfActivateParameterSet
.newBuilder()
.withReason(reason)
.withDuration(duration)
.withTicketNumber(ticketNumber)
.withTicketSystem(ticketSystem)
.build())
.buildRequest()
.post();
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.New()
reason := "reason-value"
requestBody.SetReason(&reason)
duration := "duration-value"
requestBody.SetDuration(&duration)
ticketNumber := "ticketNumber-value"
requestBody.SetTicketNumber(&ticketNumber)
ticketSystem := "ticketSystem-value"
requestBody.SetTicketSystem(&ticketSystem)
privilegedRoleId := "privilegedRole-id"
result, err := graphClient.PrivilegedRolesById(&privilegedRoleId).SelfActivate(privilegedRole-id).Post(requestBody)
Import-Module Microsoft.Graph.Identity.Governance
$params = @{
Reason = "reason-value"
Duration = "duration-value"
TicketNumber = "ticketNumber-value"
TicketSystem = "ticketSystem-value"
}
Invoke-MgSelfPrivilegedRoleActivate -PrivilegedRoleId $privilegedRoleId -BodyParameter $params
响应
下面是一个响应示例。
注意: 为了提高可读性,可能缩短了此处显示的响应对象。
HTTP/1.1 200 OK
Content-type: application/json
{
"id": "id-value",
"userId": "userId-value",
"roleId": "roleId-value",
"isElevated": true,
"expirationDateTime": "2016-10-19T10:37:00Z",
"resultMessage": "resultMessage-value"
}