AWS and Cloudanix team co-authored this blog: Real-Time Threat and Anomaly Detection for Workloads on AWS

Cloudanix – Your Partner in Cloud Security Excellence

Permissions Assignment to Users vs Groups in Identity Center: Why User-Level JIT Follows Least Privilege

  • Wednesday, Aug 12, 2026

The Group Assignment Default

When teams set up AWS IAM Identity Center, the natural approach is group-based assignment:

  1. Create a group: “Engineering”
  2. Add engineers to the group.
  3. Assign the group to accounts with permission sets: Engineering → Production-1 → Developers_Editor.

This means every member of the Engineering group — all 100 engineers — can access Production-1 with Developers_Editor privileges. Always. Whether they need it today or haven’t used it in six months.

Group-based assignment is convenient for administration. One assignment covers 100 people. But it violates a fundamental security principle: access should be as narrow as practically possible. When the group has access, you can’t distinguish between “this engineer actively needs production access right now” and “this engineer was added to the group two years ago and has never used production access.”

The Problem with Group-Level Access

100 People Have Access Because 5 Need It

In a typical engineering team of 100:

  • 5 engineers actively work in production on any given day.
  • 15 engineers need production access once a week.
  • 30 engineers need it once a month.
  • 50 engineers rarely need it (maybe once a quarter for an incident).

Group assignment gives all 100 permanent access to cover the 5 who need it daily. The other 95 carry standing privilege they don’t currently need. Each unused assignment is latent blast radius — a credential compromise or account takeover inherits access the user isn’t actively using.

Blast Radius Is Group-Sized

If one engineer’s credentials are compromised (phished, malware, stolen laptop), the attacker gets:

  • With group-based access: whatever the group has. If Engineering has Developers_Editor on Production, that’s what the attacker gets.
  • With user-based JIT: nothing elevated, unless the engineer happens to have an active JIT session at the moment of compromise.

The blast radius of a compromise isn’t what the user is doing — it’s what the user’s group has permanently assigned. Reducing assignments to the individual level (and time-bounding them) reduces the blast radius from “group scope” to “current session scope or nothing.”

Audit Attribution Is Group-Level

With group-based assignment, CloudTrail shows: “user-xyz assumed the Developers_Editor role on Production-1.” But why did they have that access? “Because they’re in the Engineering group.” That’s not governance — that’s inertia.

With user-based JIT assignment, the audit shows: “user-xyz was assigned Developers_Editor on Production-1 at 10:00 AM, approved by devops-lead for 2 hours, because of INC-2341.” Every assignment has a reason, a time boundary, and an approval chain.

Offboarding Is Incomplete

When an engineer leaves the company, their identity is deprovisioned. But group-based assignments mean you need to verify:

  • Which groups were they in?
  • Which assignments did those groups provide?
  • Are there cached sessions or tokens still active?

With JIT, there’s nothing to offboard beyond the identity itself. The engineer has no standing assignments to remove because all access is temporal — already expired or never granted.

The Better Model: Group Defines Policy, JIT Controls Assignment

The solution isn’t to abandon groups. Groups are the right abstraction for who is eligible for what. The improvement is separating eligibility from actuality:

Group = Eligibility (Policy Boundary)

“Members of the Engineering group are eligible to request Developers_Editor on Production accounts.”

This defines the boundary: engineers can request this access. Non-engineers cannot. The group determines what appears as a requestable option in the JIT interface.

JIT Assignment = Actuality (Temporal State)

engineer@company.com currently has Developers_Editor on Production-1, granted at 10:00, expiring at 12:00.”

This is the real-time access state. Only one specific engineer has the assignment, for a specific duration, for a specific reason. The 99 other engineers in the group have no Production-1 assignment right now.

The Result: Clean Separation of Concerns

ConcernMechanism
Who can request whatGroup membership → JIT policy
Who actually has access right nowIndividual JIT assignment
When does access expireJIT duration (hard time limit)
Why was access grantedJIT request reason + approval chain
Who approvedGroup Level Approver
How to revoke one user’s accessEnd their JIT session (doesn’t affect group)
How to change eligibilityModify group membership (doesn’t affect active sessions)

Practical Comparison

Scenario: Engineer Needs Production Access

Group-based (traditional):

  1. Engineer is in Engineering group.
  2. Engineering group is assigned to Production-1 with Developers_Editor.
  3. Engineer opens SSO portal, sees Production-1, clicks.
  4. Engineer is working in production. And tomorrow. And next week. And next month.
  5. Audit: “engineer assumed Developers_Editor on Production-1.” (No approval, no time-bound, no reason.)

User-based (JIT):

  1. Engineer is in Engineering group (eligibility).
  2. Engineer requests Developers_Editor on Production-1 for 2 hours via Slack.
  3. Approver approves (or auto-approval applies for this combination).
  4. Cloudanix creates individual assignment: this user, this account, this permission set, 2 hours.
  5. Engineer opens SSO portal, sees Production-1 (just appeared), clicks.
  6. Two hours later: assignment removed. Production-1 disappears from portal.
  7. Audit: “engineer requested, devops-lead approved, access granted 10:00-12:00, reason: INC-2341.”

Scenario: Investigating a Security Event

Group-based: “Which engineers had access to Production-1 when the data was exfiltrated at 3 AM?” Answer: “All 100 members of the Engineering group had standing access.” Investigation scope: 100 people.

User-based JIT: “Which engineers had access to Production-1 when the data was exfiltrated at 3 AM?” Answer: “Two engineers had active JIT sessions: engineer-A (2:30-4:30 AM, approved for INC-2341) and engineer-B (2:45-3:15 AM, approved for deployment monitoring).” Investigation scope: 2 people, with full context.

Doesn’t User-Level Assignment Create Admin Overhead?

The obvious concern: “Managing 100 individual assignments is more work than managing 1 group assignment.”

With manual processes, yes — user-level assignment is unsustainable at scale. That’s why group-based assignment became the default: it’s the only model that works with manual administration.

But JIT automates the assignment lifecycle:

  • Creation: Automatic on approval (no admin creates the assignment manually).
  • Expiry: Automatic at duration end (no admin removes the assignment manually).
  • Policy: Configured once (which groups can request which roles on which accounts).

After initial policy configuration, the admin overhead is zero for routine access. The system handles individual assignments automatically, at a scale no human could manage manually.

The admin’s role shifts from “process each access request individually” to “define policies that govern how the system handles requests automatically.”

What About Service Accounts and Non-Human Identities?

For non-human identities (CI/CD pipelines, service accounts, Kubernetes pods), the same principle applies with a different mechanism:

  • Traditional: Service account has a permanent IAM role with broad permissions.
  • Agentic JIT: Service account (registered as an agent) elevates for the specific step that needs privilege, then revokes.

The assignment is still individual (one agent, one elevation, one duration), not group-based (all CI/CD pipelines sharing one broad role). The blast radius is the 30-second elevation window, not the permanent role.

Implementation Notes

Migration from Group Assignment to User JIT

  1. Identify high-risk group assignments (production accounts, admin roles).
  2. Remove group assignments for high-risk combinations.
  3. Configure JIT policies using the same group membership as the eligibility boundary.
  4. Test: Engineers can still request the same access, but now it requires a JIT request.
  5. Verify: SSO portal no longer shows production roles by default. They appear only during active sessions.

Keeping Some Group Assignments

Not every assignment needs JIT. Consider keeping static group assignments for:

  • Read-only on development where the blast radius is negligible.
  • Infrastructure baseline that engineers need to do their basic job (assuming it’s truly low-risk).

The goal isn’t “no group assignments anywhere” — it’s “no elevated group assignments for sensitive environments.”

The Principle

Least privilege isn’t “the minimum access someone might ever need.” It’s “the minimum access someone needs right now, for this specific task.”

Group-based assignment answers the first definition. User-based JIT answers the second. The difference is blast radius: when a credential is compromised, group-based means the attacker has everything the group has. User-based JIT means the attacker has whatever the user’s active session has — which is usually nothing, because sessions are temporary and most time is spent without elevated access.

Ready to Move from Group Assignment to User-Level JIT?

If your IAM Identity Center assigns permission sets to groups — giving all members standing access whether they need it today or not — Cloudanix JIT converts those group assignments into individual, time-bound, approved sessions while using group membership as the policy boundary. Same groups, same permission sets — but access exists only during active approved work.

Learn more about Cloud Console JIT or book a demo to see how user-level assignment works with your IAM Identity Center groups.

What Our Users Are Saying

Customer Reviews

Cloudanix is trusted by security leaders worldwide to deliver proactive, reliable, and cutting-edge cloud security.

One day, I changed the password of a root account, and my CTO called me within less than a minute to confirm if I did so. I was not expecting a reaction this quick. He told me Cloudanix alerted him of this password change and that he wanted to confirm as it was a critical security notification. I couldn't believe it!

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Compliance is one way of staying secure, but what I want is the ability to go deeper and attain 'true security.' Cloudanix provides us the capability to do so.

Vishal Madan
Vishal Madan
Head of Engineering, iMocha

Cloudanix is building for the future of the cloud, which makes the product all the more desirable.

Ritesh Agarwal
Ritesh Agarwal
CEO, Airgap Networks

Cloudanix gave us the visibility we were missing. Being able to move from permanent access to a robust Just-In-Time (JIT) workflow has fundamentally changed our security posture without slowing down our engineering velocity.

Pavan Kumar Lekkala
Pavan Kumar Lekkala
SRE Lead, HugoHub

We are excited to leverage Cloudanix's comprehensive multi-cloud DevSecOps solution to secure our production workloads on AWS. Cloudanix has demonstrated that it can solve many challenges that DevSecOps teams face while continually adding new features such as SOC2 compliance and drift detection.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Managing third-party partner access was once a major concern for our security posture. With Cloudanix JIT Cloud, we've effectively achieved zero third-party risk. We can now grant access confidently, knowing that it is temporary, audited, and automatically revoked, resulting in a 100% reduction in our privileged access exposure.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

The snooze feature and responsible alerts have helped us save time and prioritize what to tackle first.

Satish Mohan
Satish Mohan
Co-founder & CTO, Airgap Networks

Implementing Cloudanix JIT internally allowed us to practice what we preach. By eliminating permanent access to our own clouds and databases, we've neutralized the risk of standing privileges, ensuring our own 'keys to the kingdom' are never left exposed.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

The problem with permissions is a lot of times, the gaps are left open due to oversights from inside the organization itself. With Cloudanix's CIEM, we get a complete view of user permissions and access. This enables us to update the permissions, reducing the attack surface.

Nilesh Pethani
Nilesh Pethani
Application Architect, iMocha

In the world of Fintech, trust is our currency. Cloudanix provided the frictionless visibility we needed to secure our EKS workloads across AWS, ensuring we stay audit-ready for SOC2 and GDPR without slowing down our engineering velocity.

Amol Naik
Amol Naik
Head of Security & Infrastructure, HugoHub

Cloudanix delivered value within 5 minutes of onboarding. Continuous monitoring, timely detection, and excellent documentation helped us attain a great cloud security posture.

Divyanshu Shukla
Senior DevSecOps, Meesho

Technology strategies and business strategies are in a state of constant change which includes centralization and decentralization of responsibilities. Regardless of strategic shift, we still have intellectual property to protect. Cloudanix are critical partners for us in our public cloud security posture across our three cloud providers.

Jerry Locke
Jerry Locke
Senior Director Global Solutions Engineering, Eversana

Cloudanix has been amazing. They opened up a common Slack channel with us — and it feels like we are talking to our own team and getting things done with Cloud security. The support team is always available, friendly, helpful, and ready to go out of their way.

Satish Mohan
Satish Mohan
CTO, Airgap Networks

Beyond just access management, Cloudanix CSPM has given us a unified view of our AWS environment. The real-time alerting and anomaly detection allow us to prevent any untoward activity before it happens, which is critical for a marketplace connecting 50+ financial institutions.

Okesh Badhiye
Okesh Badhiye
Head of Technical Engineering, Finfinity

For a Fintech company, data is our most valuable — and most sensitive — asset. Cloudanix DAM hasn't just improved our visibility; it has given us control. The ability to mask data and prevent unauthorized queries in real-time is a game-changer for our compliance and customer trust.

Jiten Gala
Jiten Gala
President Engineering and Product, Kapittx

Our clients, especially in the Middle East financial sector, demand absolute accountability. Cloudanix JIT Cloud has been a competitive differentiator for us, allowing us to provide secure, governed access to customer accounts that meet their strictest audit and compliance requirements.

Girish Manghnani
Girish Manghnani
Managing Partner, Tech Inspira

Cloudanix is always on my team's lips because of its exceptional support. Be it a small or big query, Cloudanix has gone above and beyond to resolve them. This one's a keeper for us.

Sujit Karpe
Sujit Karpe
CTO, iMocha

For a long-lasting partnership, great support goes a long way. Cloudanix has delivered exceptional support whenever required. Their edge is their team is always ready to go beyond to solve any issues that we have. This speaks volumes about the culture at Cloudanix.

Akash Maheshwari
Akash Maheshwari
Co-founder, MoveInSync

Beyond the technology, Cloudanix feels like an extension of our own team. Their willingness to stand up a dedicated Middle East tenant for us and provide exceptional support at a sensible price makes them a long-term partner for Hugosave.

Surya Tamada
Surya Tamada
CTO, HugoHub

The real-time notifications that Cloudanix provides are a real lifesaver. Their adaptive notifications ensure that my team stays productive and doesn't get interrupted all the time.

Digvijay Singh
Staff Security Engineer, Meesho

The whole point in technological evolution is to help improve the world we live in. We must protect that and to do so requires an effective and efficient security strategy. The Cloudanix team helped make our public cloud security posture management strategy a reality. The symbiotic relationship we have allows for a continuous feedback loop which is how business should operate.

Larry Wheat
Larry Wheat
Staff Solutions Engineer, Eversana

Ready to see your graph?

Connect a cloud account in under 30 minutes. See every finding rooted in identity, asset, and blast radius — with a fix path attached.

Book a Demo