Wählen Sie für diese API die Als am wenigsten privilegierten Berechtigungen gekennzeichneten Berechtigungen aus. Verwenden Sie nur dann eine Berechtigung mit höheren Berechtigungen , wenn dies für Ihre App erforderlich ist. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
In delegierten Szenarien muss dem angemeldeten Benutzer außerdem mindestens eine der folgenden Microsoft Entra Rollen zugewiesen sein:
Für Lesevorgänge: Globaler Leser, Sicherheitsoperator, Sicherheitsleseberechtigter, Sicherheitsadministrator oder Administrator für privilegierte Rollen
Für Schreibvorgänge: Administrator für privilegierte Rollen
HTTP-Anforderung
POST /roleManagement/directory/roleAssignmentScheduleRequests
Sie können die folgenden Eigenschaften angeben, wenn Sie eine unifiedRoleAssignmentScheduleRequest erstellen.
Eigenschaft
Typ
Beschreibung
Aktion
unifiedRoleScheduleRequestActions
Stellt den Typ des Vorgangs für die Rollenzuweisungsanforderung dar. Mögliche Werte sind: adminAssign, adminUpdate, adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, unknownFutureValue.
adminAssign: Administratoren können Benutzern oder Gruppen Rollen zuweisen.
adminRemove: Administratoren können Benutzer oder Gruppen aus Rollen entfernen.
adminUpdate: Administratoren können vorhandene Rollenzuweisungen ändern.
adminExtend: Administratoren können ablaufende Zuweisungen erweitern.
adminRenew: Administratoren können abgelaufene Zuweisungen verlängern.
selfActivate: Benutzer können ihre Zuweisungen aktivieren.
selfDeactivate: Damit Benutzer ihre aktiven Zuweisungen deaktivieren können.
selfExtend: Benutzer können eine Verlängerung ihrer ablaufenden Zuweisungen anfordern.
selfRenew: Damit Benutzer die Verlängerung ihrer abgelaufenen Zuweisungen anfordern können.
Customdata
String
Freitextfeld zum Definieren von benutzerdefinierten Daten für die Anforderung. Optional.
principalId
String
Bezeichner des Prinzipals, dem die Zuweisung gewährt wurde. Erforderlich.
Bezeichner des Verzeichnisobjekts, das den Bereich der Zuweisung darstellt. Der Bereich einer Zuweisung bestimmt die Gruppe von Ressourcen, für die dem Prinzipal Zugriff gewährt wurde. Verzeichnisbereiche sind freigegebene Bereiche, die im Verzeichnis gespeichert sind und von mehreren Anwendungen verstanden werden. Verwenden Sie / für mandantenweiten Bereich. Verwenden Sie appScopeId , um den Bereich nur auf eine Anwendung zu beschränken. Entweder directoryScopeId oder appScopeId ist erforderlich.
appScopeId
String
Bezeichner des app-spezifischen Bereichs, wenn die Zuweisung auf eine App festgelegt ist. Der Bereich einer Zuweisung bestimmt die Gruppe von Ressourcen, für die dem Prinzipal Zugriff gewährt wurde. App-Bereiche sind Bereiche, die nur von dieser Anwendung definiert und verstanden werden. Wird / für mandantenweite App-Bereiche verwendet. Verwenden Sie directoryScopeId , um den Bereich auf bestimmte Verzeichnisobjekte zu beschränken, z. B. Auf Verwaltungseinheiten. Entweder directoryScopeId oder appScopeId ist erforderlich.
Rechtfertigung
String
Eine Nachricht, die von Benutzern und Administratoren beim Erstellen des unifiedRoleAssignmentScheduleRequest-Objekts bereitgestellt wird.
Optional für selfDeactivate - und adminRemove -Aktionen; kann für andere Aktionstypen optional oder erforderlich sein, abhängig von den Regeln in der Richtlinie, die mit der Microsoft Entra Rolle verknüpft ist. Weitere Informationen finden Sie unter Regeln in PIM.
Ticketdetails, die mit der Rollenzuweisungsanforderung verknüpft sind, einschließlich Details der Ticketnummer und des Ticketsystems.
Optional für selfDeactivate - und adminRemove -Aktionen; kann für andere Aktionstypen optional oder erforderlich sein, abhängig von den Regeln in der Richtlinie, die mit der Microsoft Entra Rolle verknüpft ist. Weitere Informationen finden Sie unter Regeln in PIM.
Beispiel 1: Admin Zuweisen einer Verzeichnisrolle zu einem Prinzipal
In der folgenden Anforderung erstellt der Administrator eine Anforderung zum Zuweisen einer Rolle, die von fdd7a751-b60b-444a-984c-02652fe8fa1c einem Prinzipal identifiziert wird, der durch die ID 071cc716-8147-4397-a5ba-b2105951cc0bidentifiziert wird. Der Bereich ihrer Rolle besteht aus allen Verzeichnisobjekten im Mandanten, und die Zuweisung ist dauerhaft.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests
Content-Type: application/json
{
"action": "adminAssign",
"justification": "Assign Groups Admin to IT Helpdesk group",
"roleDefinitionId": "fdd7a751-b60b-444a-984c-02652fe8fa1c",
"directoryScopeId": "/",
"principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
"scheduleInfo": {
"startDateTime": "2022-04-10T00:00:00Z",
"expiration": {
"type": "NoExpiration"
}
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new UnifiedRoleAssignmentScheduleRequest
{
Action = UnifiedRoleScheduleRequestActions.AdminAssign,
Justification = "Assign Groups Admin to IT Helpdesk group",
RoleDefinitionId = "fdd7a751-b60b-444a-984c-02652fe8fa1c",
DirectoryScopeId = "/",
PrincipalId = "071cc716-8147-4397-a5ba-b2105951cc0b",
ScheduleInfo = new RequestSchedule
{
StartDateTime = DateTimeOffset.Parse("2022-04-10T00:00:00Z"),
Expiration = new ExpirationPattern
{
Type = ExpirationPatternType.NoExpiration,
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.RoleManagement.Directory.RoleAssignmentScheduleRequests.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UnifiedRoleAssignmentScheduleRequest unifiedRoleAssignmentScheduleRequest = new UnifiedRoleAssignmentScheduleRequest();
unifiedRoleAssignmentScheduleRequest.setAction(UnifiedRoleScheduleRequestActions.AdminAssign);
unifiedRoleAssignmentScheduleRequest.setJustification("Assign Groups Admin to IT Helpdesk group");
unifiedRoleAssignmentScheduleRequest.setRoleDefinitionId("fdd7a751-b60b-444a-984c-02652fe8fa1c");
unifiedRoleAssignmentScheduleRequest.setDirectoryScopeId("/");
unifiedRoleAssignmentScheduleRequest.setPrincipalId("071cc716-8147-4397-a5ba-b2105951cc0b");
RequestSchedule scheduleInfo = new RequestSchedule();
OffsetDateTime startDateTime = OffsetDateTime.parse("2022-04-10T00:00:00Z");
scheduleInfo.setStartDateTime(startDateTime);
ExpirationPattern expiration = new ExpirationPattern();
expiration.setType(ExpirationPatternType.NoExpiration);
scheduleInfo.setExpiration(expiration);
unifiedRoleAssignmentScheduleRequest.setScheduleInfo(scheduleInfo);
UnifiedRoleAssignmentScheduleRequest result = graphClient.roleManagement().directory().roleAssignmentScheduleRequests().post(unifiedRoleAssignmentScheduleRequest);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\UnifiedRoleAssignmentScheduleRequest;
use Microsoft\Graph\Generated\Models\RequestSchedule;
use Microsoft\Graph\Generated\Models\ExpirationPattern;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new UnifiedRoleAssignmentScheduleRequest();
$requestBody->setAction(new UnifiedRoleScheduleRequestActions('adminAssign'));
$requestBody->setJustification('Assign Groups Admin to IT Helpdesk group');
$requestBody->setRoleDefinitionId('fdd7a751-b60b-444a-984c-02652fe8fa1c');
$requestBody->setDirectoryScopeId('/');
$requestBody->setPrincipalId('071cc716-8147-4397-a5ba-b2105951cc0b');
$scheduleInfo = new RequestSchedule();
$scheduleInfo->setStartDateTime(new \DateTime('2022-04-10T00:00:00Z'));
$scheduleInfoExpiration = new ExpirationPattern();
$scheduleInfoExpiration->setType(new ExpirationPatternType('noExpiration'));
$scheduleInfo->setExpiration($scheduleInfoExpiration);
$requestBody->setScheduleInfo($scheduleInfo);
$result = $graphServiceClient->roleManagement()->directory()->roleAssignmentScheduleRequests()->post($requestBody)->wait();
Beispiel 2: Benutzer, der seine berechtigte Rolle aktiviert
Anforderung
In der folgenden Anforderung aktiviert ein durch principalId071cc716-8147-4397-a5ba-b2105951cc0b identifizierter Benutzer seine eigene berechtigte Rolle für eine Microsoft Entra Rolle, die durch die ID 8424c6f0-a189-499e-bbd0-26c1753c96d4identifiziert wird. Der Bereich ihrer Rolle besteht aus allen Verzeichnisobjekten im Mandanten, und die Zuweisung dauert fünf Stunden. Um diese Anforderung auszuführen, muss der aufrufende Benutzer die mehrstufige Authentifizierung (Multi-Factor Authentication, MFA) erzwungen haben und die Abfrage in einer Sitzung ausführen, in der er zur MFA aufgefordert wurde.
POST https://graph.microsoft.com/v1.0/roleManagement/directory/roleAssignmentScheduleRequests/
Content-Type: application/json
{
"action": "selfActivate",
"principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",
"roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",
"directoryScopeId": "/",
"justification": "I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs",
"scheduleInfo": {
"startDateTime": "2022-04-14T00:00:00.000Z",
"expiration": {
"type": "AfterDuration",
"duration": "PT5H"
}
},
"ticketInfo": {
"ticketNumber": "CONTOSO:Normal-67890",
"ticketSystem": "MS Project"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new UnifiedRoleAssignmentScheduleRequest
{
Action = UnifiedRoleScheduleRequestActions.SelfActivate,
PrincipalId = "071cc716-8147-4397-a5ba-b2105951cc0b",
RoleDefinitionId = "8424c6f0-a189-499e-bbd0-26c1753c96d4",
DirectoryScopeId = "/",
Justification = "I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs",
ScheduleInfo = new RequestSchedule
{
StartDateTime = DateTimeOffset.Parse("2022-04-14T00:00:00.000Z"),
Expiration = new ExpirationPattern
{
Type = ExpirationPatternType.AfterDuration,
Duration = TimeSpan.Parse("PT5H"),
},
},
TicketInfo = new TicketInfo
{
TicketNumber = "CONTOSO:Normal-67890",
TicketSystem = "MS Project",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.RoleManagement.Directory.RoleAssignmentScheduleRequests.PostAsync(requestBody);
// THE CLI IS IN PREVIEW. NON-PRODUCTION USE ONLY
mgc role-management directory role-assignment-schedule-requests create --body '{\
"action": "selfActivate",\
"principalId": "071cc716-8147-4397-a5ba-b2105951cc0b",\
"roleDefinitionId": "8424c6f0-a189-499e-bbd0-26c1753c96d4",\
"directoryScopeId": "/",\
"justification": "I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs",\
"scheduleInfo": {\
"startDateTime": "2022-04-14T00:00:00.000Z",\
"expiration": {\
"type": "AfterDuration",\
"duration": "PT5H"\
}\
},\
"ticketInfo": {\
"ticketNumber": "CONTOSO:Normal-67890",\
"ticketSystem": "MS Project"\
}\
}\
'
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UnifiedRoleAssignmentScheduleRequest unifiedRoleAssignmentScheduleRequest = new UnifiedRoleAssignmentScheduleRequest();
unifiedRoleAssignmentScheduleRequest.setAction(UnifiedRoleScheduleRequestActions.SelfActivate);
unifiedRoleAssignmentScheduleRequest.setPrincipalId("071cc716-8147-4397-a5ba-b2105951cc0b");
unifiedRoleAssignmentScheduleRequest.setRoleDefinitionId("8424c6f0-a189-499e-bbd0-26c1753c96d4");
unifiedRoleAssignmentScheduleRequest.setDirectoryScopeId("/");
unifiedRoleAssignmentScheduleRequest.setJustification("I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs");
RequestSchedule scheduleInfo = new RequestSchedule();
OffsetDateTime startDateTime = OffsetDateTime.parse("2022-04-14T00:00:00.000Z");
scheduleInfo.setStartDateTime(startDateTime);
ExpirationPattern expiration = new ExpirationPattern();
expiration.setType(ExpirationPatternType.AfterDuration);
PeriodAndDuration duration = PeriodAndDuration.ofDuration(Duration.parse("PT5H"));
expiration.setDuration(duration);
scheduleInfo.setExpiration(expiration);
unifiedRoleAssignmentScheduleRequest.setScheduleInfo(scheduleInfo);
TicketInfo ticketInfo = new TicketInfo();
ticketInfo.setTicketNumber("CONTOSO:Normal-67890");
ticketInfo.setTicketSystem("MS Project");
unifiedRoleAssignmentScheduleRequest.setTicketInfo(ticketInfo);
UnifiedRoleAssignmentScheduleRequest result = graphClient.roleManagement().directory().roleAssignmentScheduleRequests().post(unifiedRoleAssignmentScheduleRequest);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\UnifiedRoleAssignmentScheduleRequest;
use Microsoft\Graph\Generated\Models\RequestSchedule;
use Microsoft\Graph\Generated\Models\ExpirationPattern;
use Microsoft\Graph\Generated\Models\TicketInfo;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new UnifiedRoleAssignmentScheduleRequest();
$requestBody->setAction(new UnifiedRoleScheduleRequestActions('selfActivate'));
$requestBody->setPrincipalId('071cc716-8147-4397-a5ba-b2105951cc0b');
$requestBody->setRoleDefinitionId('8424c6f0-a189-499e-bbd0-26c1753c96d4');
$requestBody->setDirectoryScopeId('/');
$requestBody->setJustification('I need access to the Attribute Administrator role to manage attributes to be assigned to restricted AUs');
$scheduleInfo = new RequestSchedule();
$scheduleInfo->setStartDateTime(new \DateTime('2022-04-14T00:00:00.000Z'));
$scheduleInfoExpiration = new ExpirationPattern();
$scheduleInfoExpiration->setType(new ExpirationPatternType('afterDuration'));
$scheduleInfoExpiration->setDuration(new \DateInterval('PT5H'));
$scheduleInfo->setExpiration($scheduleInfoExpiration);
$requestBody->setScheduleInfo($scheduleInfo);
$ticketInfo = new TicketInfo();
$ticketInfo->setTicketNumber('CONTOSO:Normal-67890');
$ticketInfo->setTicketSystem('MS Project');
$requestBody->setTicketInfo($ticketInfo);
$result = $graphServiceClient->roleManagement()->directory()->roleAssignmentScheduleRequests()->post($requestBody)->wait();
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unter https://aka.ms/ContentUserFeedback.