Fordern Sie in PIM über das unifiedRoleEligibilityScheduleRequest-Objekt eine Rollenberechtigung für einen Prinzipal an. Mit diesem Vorgang können sowohl Administratoren als auch berechtigte Benutzer berechtigte Zuweisungen hinzufügen, widerrufen oder erweitern.
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.
Berechtigungstyp
Berechtigungen mit den geringsten Berechtigungen
Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto)
RoleEligibilitySchedule.ReadWrite.Directory
RoleManagement.ReadWrite.Directory
Delegiert (persönliches Microsoft-Konto)
Nicht unterstützt
Nicht unterstützt
Anwendung
RoleManagement.ReadWrite.Directory
Nicht verfügbar.
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/roleEligibilityScheduleRequests
Sie können die folgenden Eigenschaften angeben, wenn Sie eine unifiedRoleEligibilityScheduleRequest erstellen.
Eigenschaft
Typ
Beschreibung
Aktion
unifiedRoleScheduleRequestActions
Stellt den Vorgangstyp für die Rollenberechtigungsanforderung dar. Die möglichen Werte sind: adminAssign, adminUpdate, adminRemove, selfActivate, selfDeactivate, adminExtend, adminRenew, selfExtend, selfRenew, . unknownFutureValue
adminAssign: Administratoren können Prinzipalen berechtigte Rollen zuweisen.
adminRemove: Administratoren können berechtigte Rollen aus Prinzipalen entfernen.
adminUpdate: Administratoren können vorhandene Rollenberechtigungen ändern.
adminExtend: Damit Administratoren ablaufende Rollenberechtigungen erweitern können.
adminRenew: Administratoren können abgelaufene Berechtigungen 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.
appScopeId
String
Bezeichner des app-spezifischen Bereichs, wenn die Rollenberechtigung auf eine App festgelegt ist. Der Umfang einer Rollenberechtigung bestimmt die Gruppe von Ressourcen, auf die der Prinzipal zugreifen kann. 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.
directoryScopeId
String
Bezeichner des Verzeichnisobjekts, das den Bereich der Rollenberechtigung darstellt. Der Umfang einer Rollenberechtigung 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.
isValidationOnly
Boolesch
Bestimmt, ob der Aufruf eine Überprüfung oder ein tatsächlicher Aufruf ist. Legen Sie diese Eigenschaft nur fest, wenn Sie überprüfen möchten, ob eine Aktivierung zusätzlichen Regeln wie MFA unterliegt, bevor Sie die Anforderung tatsächlich übermitteln. Optional.
Rechtfertigung
String
Eine Meldung, die von Benutzern und Administratoren beim Erstellen des unifiedRoleEligibilityScheduleRequest-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.
principalId
String
Bezeichner des Prinzipals, dem die Rollenberechtigung gewährt wurde. Erforderlich.
Der Zeitraum der Rollenberechtigung. Optional, wenn die Aktion ist adminRemove. Der Berechtigungszeitraum hängt von den Einstellungen der Microsoft Entra Rolle ab.
Ticketdetails, die mit der Rollenberechtigungsanforderung 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.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new UnifiedRoleEligibilityScheduleRequest
{
Action = UnifiedRoleScheduleRequestActions.AdminAssign,
Justification = "Assign Attribute Assignment Admin eligibility to restricted user",
RoleDefinitionId = "8424c6f0-a189-499e-bbd0-26c1753c96d4",
DirectoryScopeId = "/",
PrincipalId = "071cc716-8147-4397-a5ba-b2105951cc0b",
ScheduleInfo = new RequestSchedule
{
StartDateTime = DateTimeOffset.Parse("2022-04-10T00:00:00Z"),
Expiration = new ExpirationPattern
{
Type = ExpirationPatternType.AfterDateTime,
EndDateTime = DateTimeOffset.Parse("2024-04-10T00:00:00Z"),
},
},
};
// 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.RoleEligibilityScheduleRequests.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UnifiedRoleEligibilityScheduleRequest unifiedRoleEligibilityScheduleRequest = new UnifiedRoleEligibilityScheduleRequest();
unifiedRoleEligibilityScheduleRequest.setAction(UnifiedRoleScheduleRequestActions.AdminAssign);
unifiedRoleEligibilityScheduleRequest.setJustification("Assign Attribute Assignment Admin eligibility to restricted user");
unifiedRoleEligibilityScheduleRequest.setRoleDefinitionId("8424c6f0-a189-499e-bbd0-26c1753c96d4");
unifiedRoleEligibilityScheduleRequest.setDirectoryScopeId("/");
unifiedRoleEligibilityScheduleRequest.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.AfterDateTime);
OffsetDateTime endDateTime = OffsetDateTime.parse("2024-04-10T00:00:00Z");
expiration.setEndDateTime(endDateTime);
scheduleInfo.setExpiration(expiration);
unifiedRoleEligibilityScheduleRequest.setScheduleInfo(scheduleInfo);
UnifiedRoleEligibilityScheduleRequest result = graphClient.roleManagement().directory().roleEligibilityScheduleRequests().post(unifiedRoleEligibilityScheduleRequest);
Beispiel 2: Admin, um eine vorhandene Anforderung für einen Rollenberechtigungsplan zu entfernen
In der folgenden Anforderung erstellt der Administrator eine Anforderung zum Widerrufen der Berechtigung eines Prinzipals mit der ID 071cc716-8147-4397-a5ba-b2105951cc0b für eine Rolle mit der ID 8424c6f0-a189-499e-bbd0-26c1753c96d4.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new UnifiedRoleEligibilityScheduleRequest
{
Action = UnifiedRoleScheduleRequestActions.AdminRemove,
RoleDefinitionId = "8424c6f0-a189-499e-bbd0-26c1753c96d4",
DirectoryScopeId = "/",
PrincipalId = "071cc716-8147-4397-a5ba-b2105951cc0b",
};
// 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.RoleEligibilityScheduleRequests.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewUnifiedRoleEligibilityScheduleRequest()
action := graphmodels.ADMINREMOVE_UNIFIEDROLESCHEDULEREQUESTACTIONS
requestBody.SetAction(&action)
roleDefinitionId := "8424c6f0-a189-499e-bbd0-26c1753c96d4"
requestBody.SetRoleDefinitionId(&roleDefinitionId)
directoryScopeId := "/"
requestBody.SetDirectoryScopeId(&directoryScopeId)
principalId := "071cc716-8147-4397-a5ba-b2105951cc0b"
requestBody.SetPrincipalId(&principalId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
roleEligibilityScheduleRequests, err := graphClient.RoleManagement().Directory().RoleEligibilityScheduleRequests().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
UnifiedRoleEligibilityScheduleRequest unifiedRoleEligibilityScheduleRequest = new UnifiedRoleEligibilityScheduleRequest();
unifiedRoleEligibilityScheduleRequest.setAction(UnifiedRoleScheduleRequestActions.AdminRemove);
unifiedRoleEligibilityScheduleRequest.setRoleDefinitionId("8424c6f0-a189-499e-bbd0-26c1753c96d4");
unifiedRoleEligibilityScheduleRequest.setDirectoryScopeId("/");
unifiedRoleEligibilityScheduleRequest.setPrincipalId("071cc716-8147-4397-a5ba-b2105951cc0b");
UnifiedRoleEligibilityScheduleRequest result = graphClient.roleManagement().directory().roleEligibilityScheduleRequests().post(unifiedRoleEligibilityScheduleRequest);
Das folgende Beispiel zeigt die Antwort. Das Antwortobjekt zeigt, dass eine vorherige Rollenberechtigung für einen Prinzipal ist Revoked. Dem Prinzipal wird seine zuvor berechtigte Rolle nicht mehr angezeigt.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
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.