Skip to content

microsoftgraph/group-membership-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4,427 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Group Membership Management (GMM)

GMM automates Microsoft Entra ID group membership synchronization at enterprise scale. The system reads membership data from various sources (Entra ID groups, SQL databases, etc.), calculates differences, and updates target groups via Microsoft Graph API.

Key Features

  • Synchronize users from various data sources into Entra ID security groups and Microsoft Teams channels
  • Process thousands of security groups with millions of memberships
  • Maintain accurate group memberships through automated workflows
  • Web interface for managing sync jobs and configurations

πŸ“š Documentation

Getting Started

Document Description
Deploying GMM Complete deployment guide
GMM Resources Overview All Azure resources created
Setting up a Demo Tenant Demo environment setup
UI Roles Roles as policy to gate functionality

Operations & Troubleshooting

Document Description
Finding Logs in Log Analytics Query logs for sync jobs
Troubleshooting with App Insights Debug failures and exceptions
Unblock Email Issues Resolve email delivery problems
Delete Environment Tear down GMM

Email Notifications

Document Description
Set Sender Address Configure email sender account
Notifier Function Setup Configure the notifier function to send actionable messages

Azure Data Factory (HR Data Integration)

GMM supports SQL-based membership synchronization using data from HR systems or other external sources. To help you get started, we provide a demo Azure Data Factory (ADF) setup that serves as a guide for building your own ADF pipelines and workflows to import data into GMM's SQL database.

Document Description
ADF Demo Setup Demo ADF configuration to guide your own HR data integration

Note: ADF resources are deployed to the data resource group. Use the demo as a reference to create pipelines tailored to your organization's HR data sources.


πŸ”— Quick Links


Architecture Overview

GMM uses a microservices architecture built on Azure Functions:

JobScheduler β†’ JobTrigger β†’ MembershipObtainers β†’ MembershipAggregator β†’ GraphUpdater
  1. JobScheduler distributes job scheduling to balance Graph API load
  2. JobTrigger initiates sync jobs when they are due
  3. MembershipObtainers retrieve membership from various sources (Entra ID groups, SQL, Teams channels)
  4. MembershipAggregator calculates differences (adds/removes)
  5. GraphUpdater applies changes to destination groups via Graph API

For a complete list of all services and resources, see the GMM Resources Overview.


Technology Stack

Layer Technologies
Backend .NET 8.0, C#, Azure Functions
Frontend React, TypeScript, Fluent UI
Database SQL Server, Entity Framework Core
Messaging Azure Service Bus
Authentication Microsoft Entra ID, Microsoft Graph API
Infrastructure Azure (Functions, Key Vault, App Configuration), Bicep

Contributing

We welcome contributions! Please see our Contributing Guide for details.


License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Group Membership Management (GMM) is a service that dynamically manages the membership of AAD Groups. Groups managed by GMM can have their membership defined using existing AAD Groups and/or custom membership sources.

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

109 stars

Watchers

18 watching

Forks

Packages

 
 
 

Contributors