HistoryDefinitions erstellen
Artikel
07/18/2022
5 Minuten Lesedauer
3 Mitwirkende
In diesem Artikel
Namespace: microsoft.graph
Erstellen Sie ein neues accessReviewHistoryDefinition-Objekt .
Berechtigungen
Eine der nachfolgenden Berechtigungen ist erforderlich, um diese API aufrufen zu können. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie im Artikel zum Thema Berechtigungen .
Berechtigungstyp
Berechtigungen (von der Berechtigung mit den wenigsten Rechten zu der mit den meisten Rechten)
Delegiert (Geschäfts-, Schul- oder Unikonto)
AccessReview.ReadWrite.All
Delegiert (persönliches Microsoft-Konto)
Nicht unterstützt
Anwendung
AccessReview.ReadWrite.All
Der angemeldete Benutzer muss sich auch in einer Verzeichnisrolle befinden, die es dem Benutzer ermöglicht, eine Zugriffsüberprüfung zum Abrufen von Daten zu lesen. Weitere Informationen finden Sie in den Rollen- und Berechtigungsanforderungen für Zugriffsüberprüfungen .
HTTP-Anforderung
POST /identityGovernance/accessReviews/historyDefinitions
Name
Beschreibung
Authorization
Bearer {token}. Erforderlich.
Content-Type
application/json. Erforderlich.
Anforderungstext
Geben Sie im Anforderungstext eine JSON-Darstellung des accessReviewHistoryDefinition-Objekts an.
Die folgende Tabelle zeigt die erforderlichen Eigenschaften, die zum Erstellen einer accessReviewHistoryDefinition verwendet werden.
Eigenschaft
Typ
Beschreibung
displayName
Zeichenfolge
Name für die Datensammlung des Zugriffsüberprüfungsverlaufs. Erforderlich.
reviewHistoryPeriodStartDateTime
DateTimeOffset
Ein Zeitstempel. Rezensionen, die am oder nach diesem Datum beginnen, werden in die abgerufenen Verlaufsdaten einbezogen. Nur erforderlich, wenn scheduleSettings nicht definiert ist.
reviewHistoryPeriodEndDateTime
DateTimeOffset
Ein Zeitstempel. Rezensionen, die am oder vor diesem Datum beginnen, werden in die abgerufenen Verlaufsdaten einbezogen. Nur erforderlich, wenn scheduleSettings nicht definiert ist.
Bereiche
accessReviewQueryScope-Auflistung
Wird verwendet, um zu filtern, welche Rezensionen in den abgerufenen Verlaufsdaten enthalten sind. Ruft Rezensionen ab, deren Bereich mit diesem bereitgestellten Bereich übereinstimmt. Erforderlich. Weitere Informationen finden Sie unter "Unterstützte Bereichsabfragen" für "accessReviewHistoryDefinition" .
scheduleSettings
accessReviewHistoryScheduleSettings
Die Einstellungen für eine Verlaufsverlaufsdefinitionsreihe für wiederkehrenden Zugriff. Nur erforderlich, wenn "reviewHistoryPeriodStartDateTime " oder "reviewHistoryPeriodEndDateTime " nicht definiert ist. Noch nicht unterstützt.
Unterstützte Bereichsabfragen für accessReviewHistoryDefinition
Die Bereichseigenschaft von accessReviewHistoryDefinition basiert auf accessReviewQueryScope , einer Ressource, mit der Sie verschiedene Ressourcen in der Abfrageeigenschaft konfigurieren können. Diese Ressourcen stellen dann den Umfang der Verlaufsdefinition dar und diktieren den Typ der Überprüfungsverlaufsdaten, die in der herunterladbaren CSV-Datei enthalten sind, die generiert wird, wenn die accessReviewHistoryInstances der Verlaufsdefinition erstellt werden.
Verwenden Sie das folgende Format für die Abfrageeigenschaft :
/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '{object}')
Der Wert von {object} ist eine der Ressourcen, die in einer accessReviewScheduleDefinition konfiguriert werden können. Im Folgenden finden Sie beispielsweise alle AccessReviewScheduleDefinition-Überprüfungsergebnisse für einzelne Gruppen (und schließt Definitionen aus, die auf alle Microsoft 365-Gruppen mit Gastbenutzern beschränkt sind).
/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')
Weitere unterstützte Werte finden Sie unter Verwenden des $filter Abfrageparameters für accessReviewScheduleDefinition .
Antwort
Bei erfolgreicher Ausführung gibt die Methode einen 201 Created Antwortcode und ein accessReviewHistoryDefinition-Objekt im Antworttext zurück.
Beispiele
Das folgende Beispiel zeigt, wie Sie eine Definition für den Zugriffsüberprüfungsverlauf erstellen, die auf Zugriffsüberprüfungen für Zugriffspakete und -gruppen beschränkt ist und zwischen dem Startdatum 01.01.2021 und dem Enddatum 04.05.2021 ausgeführt wird.
Anforderung
POST https://graph.microsoft.com/v1.0/identityGovernance/accessReviews/historyDefinitions
Content-Type: application/json
{
"displayName": "Last quarter's group reviews April 2021",
"decisions": [
"approve",
"deny",
"dontKnow",
"notReviewed",
"notNotified"
],
"scheduleSettings": {
"reportRange": "P1M",
"recurrence": {
"pattern": {
"type": "monthly",
"interval": 1
},
"range": {
"type": "noEnd",
"startDate": "2018-08-03T21:02:30.667Z",
"count": 0
}
}
},
"scopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')",
"queryRoot": null
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')",
"queryRoot": null
}
]
}
const options = {
authProvider,
};
const client = Client.init(options);
const accessReviewHistoryDefinition = {
displayName: 'Last quarter\'s group reviews April 2021',
decisions: [
'approve',
'deny',
'dontKnow',
'notReviewed',
'notNotified'
],
scheduleSettings: {
reportRange: 'P1M',
recurrence: {
pattern: {
type: 'monthly',
interval: 1
},
range: {
type: 'noEnd',
startDate: '2018-08-03T21:02:30.667Z',
count: 0
}
}
},
scopes: [
{
'@odata.type': '#microsoft.graph.accessReviewQueryScope',
queryType: 'MicrosoftGraph',
query: '/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, \'accessPackageAssignments\')',
queryRoot: null
},
{
'@odata.type': '#microsoft.graph.accessReviewQueryScope',
queryType: 'MicrosoftGraph',
query: '/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, \'/groups\')',
queryRoot: null
}
]
};
await client.api('/identityGovernance/accessReviews/historyDefinitions')
.post(accessReviewHistoryDefinition);
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
MSHTTPClient *httpClient = [MSClientFactory createHTTPClientWithAuthenticationProvider:authenticationProvider];
NSString *MSGraphBaseURL = @"https://graph.microsoft.com/v1.0/";
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:[MSGraphBaseURL stringByAppendingString:@"/identityGovernance/accessReviews/historyDefinitions"]]];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
MSGraphAccessReviewHistoryDefinition *accessReviewHistoryDefinition = [[MSGraphAccessReviewHistoryDefinition alloc] init];
[accessReviewHistoryDefinition setDisplayName:@"Last quarter's group reviews April 2021"];
NSMutableArray *decisionsList = [[NSMutableArray alloc] init];
[decisionsList addObject: @"approve"];
[decisionsList addObject: @"deny"];
[decisionsList addObject: @"dontKnow"];
[decisionsList addObject: @"notReviewed"];
[decisionsList addObject: @"notNotified"];
[accessReviewHistoryDefinition setDecisions:decisionsList];
MSGraphAccessReviewHistoryScheduleSettings *scheduleSettings = [[MSGraphAccessReviewHistoryScheduleSettings alloc] init];
[scheduleSettings setReportRange:@"P1M"];
MSGraphPatternedRecurrence *recurrence = [[MSGraphPatternedRecurrence alloc] init];
MSGraphRecurrencePattern *pattern = [[MSGraphRecurrencePattern alloc] init];
[pattern setType: [MSGraphRecurrencePatternType daily]];
[pattern setInterval: 1];
[recurrence setPattern:pattern];
MSGraphRecurrenceRange *range = [[MSGraphRecurrenceRange alloc] init];
[range setType: [MSGraphRecurrenceRangeType noEnd]];
[range setStartDate: "2018-08-03T21:02:30.667Z"];
[range setCount: 0];
[recurrence setRange:range];
[scheduleSettings setRecurrence:recurrence];
[accessReviewHistoryDefinition setScheduleSettings:scheduleSettings];
NSMutableArray *scopesList = [[NSMutableArray alloc] init];
MSGraphAccessReviewScope *scopes = [[MSGraphAccessReviewScope alloc] init];
[scopes setQueryType:@"MicrosoftGraph"];
[scopes setQuery:@"/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')"];
[scopes setQueryRoot: null];
[scopesList addObject: scopes];
MSGraphAccessReviewScope *scopes = [[MSGraphAccessReviewScope alloc] init];
[scopes setQueryType:@"MicrosoftGraph"];
[scopes setQuery:@"/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')"];
[scopes setQueryRoot: null];
[scopesList addObject: scopes];
[accessReviewHistoryDefinition setScopes:scopesList];
NSError *error;
NSData *accessReviewHistoryDefinitionData = [accessReviewHistoryDefinition getSerializedDataWithError:&error];
[urlRequest setHTTPBody:accessReviewHistoryDefinitionData];
MSURLSessionDataTask *meDataTask = [httpClient dataTaskWithRequest:urlRequest
completionHandler: ^(NSData *data, NSURLResponse *response, NSError *nserror) {
//Request Completed
}];
[meDataTask execute];
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
AccessReviewHistoryDefinition accessReviewHistoryDefinition = new AccessReviewHistoryDefinition();
accessReviewHistoryDefinition.displayName = "Last quarter's group reviews April 2021";
LinkedList<AccessReviewHistoryDecisionFilter> decisionsList = new LinkedList<AccessReviewHistoryDecisionFilter>();
decisionsList.add(AccessReviewHistoryDecisionFilter.APPROVE);
decisionsList.add(AccessReviewHistoryDecisionFilter.DENY);
decisionsList.add(AccessReviewHistoryDecisionFilter.DONT_KNOW);
decisionsList.add(AccessReviewHistoryDecisionFilter.NOT_REVIEWED);
decisionsList.add(AccessReviewHistoryDecisionFilter.NOT_NOTIFIED);
accessReviewHistoryDefinition.decisions = decisionsList;
AccessReviewHistoryScheduleSettings scheduleSettings = new AccessReviewHistoryScheduleSettings();
scheduleSettings.reportRange = "P1M";
PatternedRecurrence recurrence = new PatternedRecurrence();
RecurrencePattern pattern = new RecurrencePattern();
pattern.type = RecurrencePatternType.DAILY;
pattern.interval = 1;
recurrence.pattern = pattern;
RecurrenceRange range = new RecurrenceRange();
range.type = RecurrenceRangeType.NO_END;
range.startDate = new DateOnly(1900,1,1);
range.count = 0;
recurrence.range = range;
scheduleSettings.recurrence = recurrence;
accessReviewHistoryDefinition.scheduleSettings = scheduleSettings;
LinkedList<AccessReviewScope> scopesList = new LinkedList<AccessReviewScope>();
AccessReviewQueryScope scopes = new AccessReviewQueryScope();
scopes.queryType = "MicrosoftGraph";
scopes.query = "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')";
scopes.queryRoot = null;
scopesList.add(scopes);
AccessReviewQueryScope scopes1 = new AccessReviewQueryScope();
scopes1.queryType = "MicrosoftGraph";
scopes1.query = "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')";
scopes1.queryRoot = null;
scopesList.add(scopes1);
accessReviewHistoryDefinition.scopes = scopesList;
graphClient.identityGovernance().accessReviews().historyDefinitions()
.buildRequest()
.post(accessReviewHistoryDefinition);
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := msgraphsdk.NewAccessReviewHistoryDefinition()
displayName := "Last quarter's group reviews April 2021"
requestBody.SetDisplayName(&displayName)
requestBody.SetDecisions( []AccessReviewHistoryDecisionFilter {
"approve",
"deny",
"dontKnow",
"notReviewed",
"notNotified",
}
scheduleSettings := msgraphsdk.NewAccessReviewHistoryScheduleSettings()
requestBody.SetScheduleSettings(scheduleSettings)
reportRange := "P1M"
scheduleSettings.SetReportRange(&reportRange)
recurrence := msgraphsdk.NewPatternedRecurrence()
scheduleSettings.SetRecurrence(recurrence)
pattern := msgraphsdk.NewRecurrencePattern()
recurrence.SetPattern(pattern)
type := "monthly"
pattern.SetType(&type)
interval := int32(1)
pattern.SetInterval(&interval)
range := msgraphsdk.NewRecurrenceRange()
recurrence.SetRange(range)
type := "noEnd"
range.SetType(&type)
startDate := "2018-08-03T21:02:30.667Z"
range.SetStartDate(&startDate)
range.SetAdditionalData(map[string]interface{}{
"count": ,
}
requestBody.SetScopes( []AccessReviewScope {
msgraphsdk.NewAccessReviewScope(),
SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')",
"queryRoot": nil,
}
msgraphsdk.NewAccessReviewScope(),
SetAdditionalData(map[string]interface{}{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')",
"queryRoot": nil,
}
}
result, err := graphClient.IdentityGovernance().AccessReviews().HistoryDefinitions().Post(requestBody)
Ausführliche Informationen zum Hinzufügen des SDK zu Ihrem Projekt und zum Erstellen einer authProvider-Instanz finden Sie in der SDK-Dokumentation .
Antwort
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
HTTP/1.1 201 Created
Content-Type: application/json
{
"@odata.type": "#microsoft.graph.accessReviewHistoryDefinition",
"id": "b2cb022f-b7e1-40f3-9854-c65a40861c38",
"displayName": "Last quarter's group reviews April 2021",
"scheduleSettings": {
"reportRange": "P1M",
"recurrence": {
"pattern": {
"type": "monthly",
"interval": 1
},
"range": {
"type": "noEnd",
"startDate": "2018-08-03T21:02:30.667Z",
"count": 0
}
}
},
"decisions": [
"approve",
"deny",
"dontKnow",
"notReviewed",
"notNotified"
],
"status": "requested",
"createdDateTime": "2021-04-14T00:22:48.9392594Z",
"createdBy": {
"id": "957f1027-c0ee-460d-9269-b8444459e0fe",
"displayName": "MOD Administrator",
"userPrincipalName": "admin@contoso.com"
},
"scopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, 'accessPackageAssignments')",
"queryRoot": null
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"queryType": "MicrosoftGraph",
"query": "/identityGovernance/accessReviews/definitions?$filter=contains(scope/query, '/groups')",
"queryRoot": null
}
]
}