[Feature ] Group Microsoft 365 #1452
Open
+2,516
−13
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR adds a new node type called
AZGroup365that represents Microsoft 365 Groups.A new relationship kind,
AZGroup365MemberOf, was also created, but it ultimately appears as the usualMemberOfedge in the graph, as there is no behavioral difference between being a member of a security group or a Microsoft 365 group (note that a Microsoft 365 group can also be a security group).In the UI, a Group365 is represented with the group icon and the color of a user.
A group that is both a security group and a Microsoft 365 group will appear as a Microsoft 365 group in the UI.
The new node type has been added to the data quality features, which required some changes to the database schema. As a result, a new migration called
v7.4.0.sqlhas been created.Motivation and Context
Resolves #1359
See the issue for more details about the motivation and implementation.
How Has This Been Tested?
Most of the code was already implemented for security groups and was simply replicated with minimal to no changes. Therefore, it is unlikely that anything was broken by these changes.
It requires changes to Azurehound code due to the addition of two kinds; the pull request for azurehound is also available here
AZGroup365has been added to existing integration tests, and some new tests were implemented — all of which passed.Additionally, the final implementation was tested on a complete dataset (~10–15 GB of data), including users, groups, and
AZGroup365, without revealing any issues. Pathfinding, queries, and ingestion are working correctly.Screenshots (optional):
Types of Changes
Checklist: