Konfigurieren des Umfangs Ihrer Zugriffsüberprüfung mithilfe der Microsoft Graph-API
Mit der Azure AD-Zugriffsüberprüfungs-API können Sie den Zugriff, den Benutzer, Dienstprinzipale oder Gruppen auf Ihre Azure AD-Ressourcen haben, programmgesteuert überprüfen. Die API kann Ihnen helfen, proaktive Überprüfungen zu automatisieren und die Kontrolle über den Zugriff auf Ressourcen in Ihrer Organisation zu behalten.
Die zu überprüfenden Ressourcen sind in der Bereichseigenschaft der Ressource "accessReviewScheduleDefinition " konfiguriert. Diese Eigenschaft ist vom Typ accessReviewScope, einem abstrakten Typ, von dem die folgenden API-Ressourcen erben, die zum Konfigurieren des Zugriffsüberprüfungsbereichs verwendet werden können.
Ressource | Beschreibung | Beispielszenarien |
---|---|---|
accessReviewQueryScope | Erbt von accessReviewScope. Am besten geeignet beim Überprüfen des vollständigen Satzes oder einer Teilmenge von Prinzipalen, die Zugriff auf eine Ressource oder Gruppe verwandter Ressourcen haben. |
|
accessReviewInactiveUsersQueryScope | Erbt von accessReviewQueryScope. Wird verwendet, wenn nur inaktive Benutzer überprüft werden. Ihr inaktiver Status wird durch die InactiveDuration-Eigenschaft angegeben. |
|
principalResourceMembershipsScope | Erbt von accessReviewScope. Am besten geeignet, um den Zugriff von Prinzipalen auf Ressourcen zu überprüfen, in denen Sie eindeutige Pools von Prinzipalen und Ressourcen konfigurieren. |
|
In diesem Artikel erfahren Sie, wie Sie die Zugriffsüberprüfung mithilfe dieser drei abgeleiteten Ressourcentypen einschränken.
Verwenden von accessReviewQueryScope und accessReviewInactiveUsersQueryScope zum Konfigurieren des Bereichs
Um den Bereich mithilfe des accessReviewQueryScope-Typs zu konfigurieren, legen Sie die Werte der Abfrage-, queryRoot- und queryType-Eigenschaften fest. Beschreibungen dieser Eigenschaften finden Sie unter accessReviewQueryScope-Ressourcentyp .
accessReviewInactiveUsersQueryScope erfordert alle Eigenschaften von accessReviewQueryScope und enthält eine inactiveDuration-Eigenschaft .
Beispiel 1: Überprüfen aller Benutzer, die einer Gruppe zugewiesen sind
Im folgenden Beispiel wird die Überprüfung sowohl auf direkte als auch transitive Mitglieder der Gruppe beschränkt, die Benutzer sind. Die transitiven Mitglieder sind Mitglieder der geschachtelten Gruppen.
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/groups/{groupId}/transitiveMembers/microsoft.graph.user",
"queryType": "MicrosoftGraph"
}
Beispielszenario: Angenommen, Gruppe A hat drei direkte Mitglieder – Benutzer AU1 und AU2 und Gruppe G1. Gruppe G1 andererseits hat zwei Mitglieder - Benutzer GU1 und GU2. Die Benutzer GU1 und GU2 sind daher transitive Mitglieder der geschachtelten Gruppe G1. Vier Objekte werden in die Überprüfung einbezogen: Benutzer AU1, AU2, GU1 und GU2.
So überprüfen Sie nur inaktive Benutzer , die der Gruppe zugewiesen sind:
"scope": {
"@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
"inactiveDuration": "P30D",
"query": "/groups/{groupId}/transitiveMembers/microsoft.graph.user",
"queryType": "MicrosoftGraph"
}
In diesem Beispiel wird die Überprüfung auch auf direkte und transitive Mitglieder der Gruppe beschränkt, die inaktive Benutzer sind.
Beispiel 2: Überprüfen aller Gastbenutzer, die einer Gruppe zugewiesen sind
Im folgenden Beispiel wird die Überprüfung sowohl auf direkte als auch transitive Mitglieder der Gruppe beschränkt, die Gastbenutzer sind. Die transitiven Mitglieder sind Mitglieder der geschachtelten Gruppen.
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/groups/{groupId}/transitiveMembers/microsoft.graph.user/?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph"
}
Beispiel 3: Überprüfen aller Benutzer und Gruppen, die einer Gruppe zugewiesen sind
Im folgenden Beispiel wird die Überprüfung nur auf direkte Mitglieder der Gruppe beschränkt, die entweder Benutzer oder andere Gruppen sind. In diesem Bereich:
- Die direkten Benutzer sind in der Überprüfung enthalten.
- Die direkten Gruppen sind in der Überprüfung enthalten.
- Die transitiven Mitglieder der Gruppen, d. h. Mitglieder geschachtelter Gruppen, werden nicht in die Überprüfung einbezogen.
"scope": {
"query": "/groups/{groupId}/members",
"queryType": "MicrosoftGraph"
}
Beispielszenario: Angenommen, Gruppe A hat drei direkte Mitglieder – Benutzer AU1 und AU2 und Gruppe G1. Gruppe G1 andererseits hat zwei Mitglieder - Benutzer GU1 und GU2. Die Benutzer GU1 und GU2 sind daher transitive Mitglieder der geschachtelten Gruppe G1. In der obigen Überprüfung sind nur drei Objekte vorgesehen, die Benutzer AU1 und AU2 und die Gruppe G1.
Beispiel 4: Überprüfen aller Benutzer, die allen Microsoft 365-Gruppen zugewiesen sind
Im folgenden Beispiel wird eine Überprüfung jeder Microsoft 365-Gruppe erstellt, die Gastbenutzer enthält. Für die Überprüfungsinstanz für jede Gruppe ist die Überprüfung nur auf direkte Mitglieder der Gruppe beschränkt, die Gastbenutzer sind.
"instanceEnumerationScope": {
"query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified'))",
"queryType": "MicrosoftGraph"
},
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "./members/microsoft.graph.user",
"queryType": "MicrosoftGraph"
}
Da diese Überprüfung auf alle Microsoft 365-Gruppen angewendet wird, konfigurieren Sie außerdem instanceEnumerationScope so, dass die zu überprüfenden Microsoft 365-Gruppen angegeben werden. Dynamische Gruppen und rollenzuordnende Gruppen sind in dieser Überprüfung nicht enthalten.
Beispiel 5: Überprüfen aller Gastbenutzer, die allen Microsoft 365-Gruppen zugewiesen sind
Im folgenden Beispiel wird die Überprüfung auf direkte Mitglieder aller Microsoft 365-Gruppen beschränkt, die Gastbenutzer sind.
"instanceEnumerationScope": {
"query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified'))",
"queryType": "MicrosoftGraph"
},
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph"
}
Da diese Überprüfung auf alle Microsoft 365-Gruppen angewendet wird, konfigurieren Sie außerdem instanceEnumerationScope so, dass die zu überprüfenden Microsoft 365-Gruppen angegeben werden. Dynamische Gruppen und rollenzuordnende Gruppen sind in dieser Überprüfung nicht enthalten.
Überprüfen aller inaktiven Gastbenutzer, die allen Microsoft 365-Gruppen zugewiesen sind
Im folgenden Beispiel wird die Überprüfung auf direkte Mitglieder aller Microsoft 365-Benutzer beschränkt, die inaktive Gastbenutzer sind.
"instanceEnumerationScope": {
"query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified'))",
"queryType": "MicrosoftGraph"
},
"scope": {
"@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
"query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph",
"inactiveDuration": "P30D"
}
Da diese Überprüfung auf inaktive Benutzer angewendet wird, verwenden Sie außerdem die AccessReviewInactiveUsersQueryScope-Ressource , und geben Sie die @odata.type-Typeigenschaft mit dem Wert #microsoft.graph.accessReviewInactiveUsersQueryScope
an. Dynamische Gruppen und rollenzuordnende Gruppen sind in dieser Überprüfung nicht enthalten.
Beispiel 6: Überprüfen aller Gastbenutzer, die allen Teams zugewiesen sind
Im folgenden Beispiel wird die Überprüfung auf direkte Mitglieder aller Teams beschränkt, die Gastbenutzer sind.
"instanceEnumerationScope": {
"query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified') and resourceProvisioningOptions/Any(x:x eq 'Team')')",
"queryType": "MicrosoftGraph"
},
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph"
}
Da diese Überprüfung auf alle Teams-fähigen Microsoft 365-Gruppen angewendet wird, konfigurieren Sie den instanceEnumerationScope so, dass die microsoft 365-aktivierten Microsoft 365-Gruppen für die Überprüfung angegeben werden. Dynamische Gruppen und rollenzuordnende Gruppen sind in dieser Überprüfung nicht enthalten.
Diese Überprüfung enthält keine B2B Direct Connect-Benutzer in Teams mit freigegebenen Kanälen. Informationen zum Einschließen von B2B Direct Connect-Benutzern in Teams mit freigegebenen Kanälen finden Sie unter Beispiel 11: Überprüfen aller Benutzer, die einem Team zugewiesen sind, einschließlich B2B direct connect users in a team with shared channels.
Überprüfen aller inaktiven Gastbenutzer, die allen Teams zugewiesen sind
Im folgenden Beispiel wird die Überprüfung auf direkte Mitglieder aller Teams beschränkt, die inaktive Gastbenutzer sind.
"instanceEnumerationScope": {
"query": "/groups?$filter=(groupTypes/any(c:c eq 'Unified') and resourceProvisioningOptions/Any(x:x eq 'Team')')",
"queryType": "MicrosoftGraph"
},
"scope": {
"@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
"query": "./members/microsoft.graph.user/?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph",
"inactiveDuration": "P30D"
}
Da diese Überprüfung auf alle Teams angewendet wird, konfigurieren Sie außerdem die instanceEnumerationScope-Eigenschaft , um alle Teams anzugeben. Dynamische Gruppen und rollenzuordnende Gruppen sind in dieser Überprüfung nicht enthalten.
Diese Überprüfung enthält keine B2B Direct Connect-Benutzer in Teams mit freigegebenen Kanälen. Informationen zum Einschließen von B2B Direct Connect-Benutzern in Teams mit freigegebenen Kanälen finden Sie unter Beispiel 11: Überprüfen aller Benutzer, die einem Team zugewiesen sind, einschließlich B2B direct connect users in a team with shared channels.
Beispiel 7: Überprüfen aller Zuordnungen zu Zugriffspaketen für die Berechtigungsverwaltung
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/identityGovernance/entitlementManagement/accessPackageAssignments?$filter=(accessPackageId eq '{package id}' and assignmentPolicyId eq '{id}')",
"queryType": "MicrosoftGraph"
}
Beispiel 8: Überprüfen aller Dienstprinzipale, die einer privilegierten Rolle zugewiesen sind
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleAssignmentScheduleInstances?$expand=principal&$filter=(isof(principal,'microsoft.graph.servicePrincipal') and roleDefinitionId eq '{role ID}')",
"queryType": "MicrosoftGraph"
}
Beispiel 9: Überprüfen aller Benutzer, die einer privilegierten Rolle zugewiesen sind
Überprüfen aller Benutzer, die einer privilegierten Rolle zugewiesen sind (alle aktiven und berechtigten Aufgaben enthalten)
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleDefinitions/{role ID}",
"queryType": "MicrosoftGraph"
}
Überprüfen aller Benutzer mit berechtigter Zuweisung zu einer privilegierten Rolle
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleEligibilityScheduleInstances?$expand=principal&$filter=(isof(principal,'microsoft.graph.user') and roleDefinitionId eq '{role ID}')",
"queryType": "MicrosoftGraph"
}
Überprüfen aller Benutzer mit aktiver Zuweisung zu einer privilegierten Rolle
"scope": {
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleAssignmentScheduleInstances?$expand=principal&$filter=(assignmentType eq 'Assigned' and isof(principal,'microsoft.graph.user') and roleDefinitionId eq '{role ID}')",
"queryType": "MicrosoftGraph"
}
Verwenden von principalResourceMembershipsScope zum Konfigurieren des Bereichs
The principalResourceMembershipsScope exposes the principalScopes and resourceScopes properties to support more tailored configuration options for the scope of the accessReviewScheduleDefinition object. Die Funktionen umfassen das Überprüfen des Zugriffs für mehrere Prinzipale oder Gruppen von Prinzipalen auf mehrere Ressourcen.
Beispiel 10: Überprüfen aller inaktiven Gastbenutzer, die allen Gruppen zugewiesen sind
Im folgenden Beispiel wird die Überprüfung auf direkte Mitglieder aller Gruppen beschränkt, die inaktive Gastbenutzer sind. Die Gastbenutzer gelten als inaktive Benutzer, wenn der Zeitraum ihrer Inaktivität 30 Tage ab dem Startdatum der Zugriffsüberprüfungsinstanz liegt.
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewInactiveUsersQueryScope",
"query": "/users?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph",
"inactiveDuration": "P30D"
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/groups",
"queryType": "MicrosoftGraph"
}
]
}
Beispiel 11: Überprüfen aller Benutzer, die einem Team zugewiesen sind, einschließlich B2B Direct Connect-Benutzern in einem Team mit freigegebenen Kanälen
In diesem Beispiel ist der Zugriffsüberprüfungsbereich alle Benutzer, die Mitglieder eines Teams sind oder einem freigegebenen Kanal innerhalb des Teams zugewiesen sind. Zu diesen Mitgliedern gehören interne Benutzer, direkte und transitive Benutzer, B2B-Benutzer für die Zusammenarbeit und B2B Direct Connect-Benutzer.
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/users",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/groups/{groupId}/transitiveMembers/microsoft.graph.user",
"queryType": "MicrosoftGraph",
"queryRoot": null
},
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/teams/{groupId}/channels?$filter=(membershipType eq 'shared')",
"queryType": "MicrosoftGraph",
"queryRoot": null
}
]
}
Um B2B Direct Connect-Benutzer und -Teams in freigegebenen Kanälen zu überprüfen, müssen Sie das /teams/{groupId}/channels?$filter=(membershipType eq 'shared')
Abfragemuster im resourceScopes-Objekt angeben. Eine Überprüfung aller Teams , z . B. Beispiel 6, enthält keine B2B Direct Connect-Benutzer und -Teams innerhalb freigegebener Kanäle.
Hinweis
Die Zugriffsüberprüfung von B2B Direct Connect-Benutzern und -Teams wird nur in einzelstufigen Zugriffsüberprüfungen und nicht in mehrstufigen Zugriffsüberprüfungen unterstützt.
Beispiel 12: Überprüfen aller Gastbenutzer, die einer Verzeichnisrolle zugewiesen sind
"scope": {
"@odata.type": "#microsoft.graph.principalResourceMembershipsScope",
"principalScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/users?$filter=(userType eq 'Guest')",
"queryType": "MicrosoftGraph"
}
],
"resourceScopes": [
{
"@odata.type": "#microsoft.graph.accessReviewQueryScope",
"query": "/roleManagement/directory/roleDefinitions/{role id}",
"queryType": "MicrosoftGraph"
}
]
}
Nächste Schritte
- Zuweisen von Bearbeitern zu Ihrer Zugriffsüberprüfungsdefinition
- Probieren Sie Lernprogramme aus , um zu erfahren, wie Sie die Zugriffsüberprüfungs-API verwenden, um den Zugriff auf Azure AD-Ressourcen zu überprüfen.
- Erstellen einer Zugriffsüberprüfung
Feedback
Feedback senden und anzeigen für