Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. 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)
AccessReview.ReadWrite.All
Nicht verfügbar.
Delegiert (persönliches Microsoft-Konto)
Nicht unterstützt
Nicht unterstützt
Anwendung
AccessReview.ReadWrite.All
Nicht verfügbar.
Wichtig
In delegierten Szenarien mit Geschäfts-, Schul- oder Unikonten muss dem angemeldeten Benutzer eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit einer unterstützten Rollenberechtigung zugewiesen werden. Die folgenden Rollen mit den geringsten Berechtigungen werden für diesen Vorgang unterstützt.
So schreiben Sie Zugriffsüberprüfungen für eine Gruppe oder App: Benutzeradministrator, Identity Governance-Administrator
So schreiben Sie Zugriffsüberprüfungen für eine Microsoft Entra Rolle: Identity Governance-Administrator, Administrator für privilegierte Rollen
HTTP-Anforderung
POST /identityGovernance/accessReviews/historyDefinitions
Die folgende Tabelle zeigt die erforderlichen Eigenschaften, die zum Erstellen einer accessReviewHistoryDefinition verwendet werden.
Eigenschaft
Typ
Beschreibung
displayName
String
Name für die Datensammlung des Zugriffsüberprüfungsverlaufs. Erforderlich.
reviewHistoryPeriodStartDateTime
DateTimeOffset
Ein Zeitstempel. Überprüfungen, die am oder nach diesem Datum beginnen, werden in die abgerufenen Verlaufsdaten aufgenommen. Nur erforderlich, wenn scheduleSettings nicht definiert ist.
reviewHistoryPeriodEndDateTime
DateTimeOffset
Ein Zeitstempel. Überprüfungen, die am oder vor diesem Datum beginnen, werden in die abgerufenen Verlaufsdaten aufgenommen. Nur erforderlich, wenn scheduleSettings nicht definiert ist.
Wird verwendet, um zu filtern, welche Überprüfungen in den abgerufenen Verlaufsdaten enthalten sind. Ruft Überprüfungen ab, deren Bereich mit diesem bereitgestellten Bereich übereinstimmt. Erforderlich. Weitere Informationen finden Sie unter Unterstützte Bereichsabfragen für accessReviewHistoryDefinition.
Wird noch nicht unterstützt. Die Einstellungen für eine Definitionsreihe mit dem Verlauf der wiederkehrenden Zugriffsüberprüfung. Nur erforderlich, wenn reviewHistoryPeriodStartDateTime oder reviewHistoryPeriodEndDateTime nicht definiert sind.
Unterstützte Bereichsabfragen für accessReviewHistoryDefinition
Die scopes-Eigenschaft von accessReviewHistoryDefinition basiert auf accessReviewQueryScope, einer Ressource, mit der Sie verschiedene Ressourcen in ihrer Abfrageeigenschaft konfigurieren können. Diese Ressourcen stellen dann den Bereich der Verlaufsdefinition dar und geben den Typ der Überprüfungsverlaufsdaten vor, die in der herunterladbaren CSV-Datei enthalten sind, die beim Erstellen der accessReviewHistoryInstances der Verlaufsdefinition generiert wird.
Der $filter Abfrageparameter mit dem contains Operator wird für die scope-Eigenschaft von accessReviewScheduleDefinition unterstützt. Verwenden Sie das folgende Format für die Anforderung:
Der {object} kann einen der folgenden Werte aufweisen:
Wert
Beschreibung
/groups
Listen Sie alle accessReviewScheduleDefinition für einzelne Gruppen auf (schließt Definitionen aus, die für alle Microsoft 365-Gruppen mit Gästen gelten).
/groups/{group id}
Listen Sie alle accessReviewScheduleDefinition für eine bestimmte Gruppe auf (schließt Definitionen aus, die für alle Microsoft 365-Gruppen mit Gästen gelten).
./members
Listen Sie alle accessReviewScheduleDefinition auf, die auf alle Microsoft 365-Gruppen mit Gästen ausgerichtet sind.
accessPackageAssignments
Listen Sie alle accessReviewScheduleDefinition-Instanzen für ein Zugriffspaket auf.
roleAssignmentScheduleInstances
Listen Sie alle accessReviewScheduleDefinition-Instanzen für Prinzipale auf, die einer privilegierten Rolle zugewiesen sind.
Der $filter Abfrageparameter wird für accessReviewInactiveUserQueryScope oder principalResourceMembershipScope nicht unterstützt.
Das folgende Beispiel zeigt, wie Sie eine Zugriffsüberprüfungsverlaufsdefinition erstellen, die auf Zugriffsüberprüfungen für Zugriffspakete und -gruppen ausgerichtet ist und zwischen dem Startdatum 01.01.2021 und dem Enddatum 04.05.2021 ausgeführt wird.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new AccessReviewHistoryDefinition
{
DisplayName = "Last quarter's group reviews April 2021",
Decisions = new List<AccessReviewHistoryDecisionFilter?>
{
AccessReviewHistoryDecisionFilter.Approve,
AccessReviewHistoryDecisionFilter.Deny,
AccessReviewHistoryDecisionFilter.DontKnow,
AccessReviewHistoryDecisionFilter.NotReviewed,
AccessReviewHistoryDecisionFilter.NotNotified,
},
ReviewHistoryPeriodStartDateTime = DateTimeOffset.Parse("2021-01-01T00:00:00Z"),
ReviewHistoryPeriodEndDateTime = DateTimeOffset.Parse("2021-04-30T23:59:59Z"),
Scopes = new List<AccessReviewScope>
{
new AccessReviewQueryScope
{
OdataType = "#microsoft.graph.accessReviewQueryScope",
QueryType = "MicrosoftGraph",
Query = "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')",
QueryRoot = null,
},
new AccessReviewQueryScope
{
OdataType = "#microsoft.graph.accessReviewQueryScope",
QueryType = "MicrosoftGraph",
Query = "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')",
QueryRoot = null,
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.IdentityGovernance.AccessReviews.HistoryDefinitions.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AccessReviewHistoryDefinition accessReviewHistoryDefinition = new AccessReviewHistoryDefinition();
accessReviewHistoryDefinition.setDisplayName("Last quarter's group reviews April 2021");
LinkedList<AccessReviewHistoryDecisionFilter> decisions = new LinkedList<AccessReviewHistoryDecisionFilter>();
decisions.add(AccessReviewHistoryDecisionFilter.Approve);
decisions.add(AccessReviewHistoryDecisionFilter.Deny);
decisions.add(AccessReviewHistoryDecisionFilter.DontKnow);
decisions.add(AccessReviewHistoryDecisionFilter.NotReviewed);
decisions.add(AccessReviewHistoryDecisionFilter.NotNotified);
accessReviewHistoryDefinition.setDecisions(decisions);
OffsetDateTime reviewHistoryPeriodStartDateTime = OffsetDateTime.parse("2021-01-01T00:00:00Z");
accessReviewHistoryDefinition.setReviewHistoryPeriodStartDateTime(reviewHistoryPeriodStartDateTime);
OffsetDateTime reviewHistoryPeriodEndDateTime = OffsetDateTime.parse("2021-04-30T23:59:59Z");
accessReviewHistoryDefinition.setReviewHistoryPeriodEndDateTime(reviewHistoryPeriodEndDateTime);
LinkedList<AccessReviewScope> scopes = new LinkedList<AccessReviewScope>();
AccessReviewQueryScope accessReviewScope = new AccessReviewQueryScope();
accessReviewScope.setOdataType("#microsoft.graph.accessReviewQueryScope");
accessReviewScope.setQueryType("MicrosoftGraph");
accessReviewScope.setQuery("/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')");
accessReviewScope.setQueryRoot(null);
scopes.add(accessReviewScope);
AccessReviewQueryScope accessReviewScope1 = new AccessReviewQueryScope();
accessReviewScope1.setOdataType("#microsoft.graph.accessReviewQueryScope");
accessReviewScope1.setQueryType("MicrosoftGraph");
accessReviewScope1.setQuery("/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')");
accessReviewScope1.setQueryRoot(null);
scopes.add(accessReviewScope1);
accessReviewHistoryDefinition.setScopes(scopes);
AccessReviewHistoryDefinition result = graphClient.identityGovernance().accessReviews().historyDefinitions().post(accessReviewHistoryDefinition);