Azure Ad Group Types
Two main azure ad group types control who gets into your cloud resources and apps. Security groups manage permissions for systems, while Microsoft 365 groups help teams share files and calendars. Teams often set up these groups to grant broad roles across many cloud servers and databases. When roles are too wide, one developer account can run risky commands on live data. Static group membership gives users full power all day long, even for a quick fix. How azure ad group types work Microsoft
Azure RBAC: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
Two main azure ad group types control who gets into your cloud resources and apps. Security groups manage permissions for systems, while Microsoft 365 groups help teams share files and calendars.
Teams often set up these groups to grant broad roles across many cloud servers and databases. When roles are too wide, one developer account can run risky commands on live data. Static group membership gives users full power all day long, even for a quick fix.
How azure ad group types work
Microsoft Entra ID, once called Azure AD, splits groups into two main categories. The first option is the security group, which grants permissions to users and computers. Admins assign security groups to cloud roles, database roles, and internal apps. This setup lets a team manage permissions in one central place instead of updating single accounts.
The second option is the Microsoft 365 group, built for team work and daily chat. It creates a shared inbox, a team calendar, and a place to store files. You can add guests from outside your company to these groups for joint projects. While they focus on sharing, they can also carry basic app permissions when needed.
Admins also choose how users join each group through three membership styles. Assigned membership means an admin adds and removes each person by hand. Dynamic user membership uses simple rules based on job title or department to add people. Dynamic device membership works the same way for laptops and servers based on device traits.
Managing database roles with security groups
Most engineering teams use security groups to control who can log in to cloud databases. You create a group for backend developers and map it to a database role. When a new engineer joins the team, the dynamic rule adds them to the group. That person can now log in to the database using their cloud account.
Teams often split these groups by tier, such as staging and production. A staging group might give full write permissions to everyone on the product team. A production group might give read permissions to most people and write permissions to leads. This pattern cuts down on manual tickets and keeps account lists clean in the directory.
Azure RBAC: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
Still, directory roles are blunt tools when you apply them to live servers and databases. A group maps directly to a database role that stays active for the whole session. If a group grants read permissions, the user can read every row in that schema by default. If a group grants write permissions, the user can drop tables or alter key rows.
What directory groups solve and what they miss
Directory groups solve the problem of tracking who belongs to which team across a company. When someone changes jobs or leaves, one update in the directory revokes their group roles. Audits become much easier because you can list all members of a production group fast. You do not need to manage separate local user accounts on fifty different database servers.
The gap appears after the user logs in and starts running queries or shell commands. Directory groups only decide who can open a session, not what happens inside that session. A user with read permissions can still pull sensitive emails, phone numbers, or card numbers. A user with write permissions can run an update statement without a where clause.
Static groups also leave permissions open twenty-four hours a day for every member. An engineer who needs five minutes to fix a bug keeps that role all year. Directory logs show that a user signed in, but they never show the SQL queries run. To stay safe, teams need controls that check individual commands and mask sensitive fields in results.
Check database and API queries on the wire
Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev sits inline in the wire protocol beside those services as an open-source proxy, a sidecar for your Postgres or API. On every query an AI agent or engineer runs against production, hoop.dev decides to pass, mask, block, or hold it for human review.
Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run, and hoop.dev data masking rewrites matched sensitive values in responses in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.
Frequently asked questions
Can you change a security group into a Microsoft 365 group later?
No, you cannot convert an existing security group into a Microsoft 365 group after creation. You must create a new group of the right type and move your members over.
Should I use security groups or Microsoft 365 groups for database permissions?
Always use security groups when you grant roles for databases, servers, and internal cloud systems. They support device rules and avoid creating extra shared mailboxes or file sites that you do not need.
Do dynamic groups stop users from viewing sensitive rows in a database?
No, dynamic groups only automate who gets added to or removed from a database role. Once logged in, the user can still query raw tables unless results are masked in flight.
Related guides
In this post