KSI-IAM-AAMPartial reviewAutomating Account Management
IAM — Identity and Access Management
NIST 800-53: ac-2.2, ac-2.3, ac-2.13, ac-6.7, ia-4.4, ia-12, ia-12.2, ia-12.3, ia-12.5
- Who this is for
- Cloud service providers
- Service class
- All service classes
- Implementation guidance
- Reviewed guidance available
- Evidence automation
- Not published
What your CSP needs to do
This KSI is about proving that account lifecycle is machine-managed, not spreadsheet-managed. You need to show, per identity in your boundary:
- No stale accounts. Users who have not authenticated in a defined window (Boundera's engine flags AWS IAM users idle for more than 90 days) get caught by automation, not by an annual review.
- Every role and group has lifecycle evidence. Roles carry an ownership signal (a
ManagedBytag, a trust policy, or provenance like service-linked / Identity Center reservation); groups actually have members or policies attached rather than sitting as clutter. - Deprovisioning runs to completion. Offboarding tickets and access requests do not sit open — a disabled-but-not-deleted account is deprovisioning debt, not a finished job.
- Machine identities are inventoried too. Service principals and service accounts are enabled, attributable, and tied to an application identity — "accounts" in this KSI is not limited to humans.
The most common way CSPs fail this one: a documented joiner-mover-leaver procedure with no runtime signal behind it — the assessor pulls the live IAM inventory and finds users whose last activity was 200+ days ago.
Implementation: AWS
The engine reads your IAM inventory directly:
- IAM users —
password_last_used/ last-activity must be within 90 days; older means the account should have been disabled or removed. - IAM roles — each role needs identity metadata plus either an assume-role trust policy or a management signal: a
ManagedBy/managed_bytag, service-linked provenance (:role/aws-service-role/,AWSServiceRole*), or an Identity Center reserved role (AWSReservedSSO_*). - IAM groups — a group passes only if it has members or attached/inline policies; an empty, policy-less group has no management evidence.
Implementation: Azure
- Entra users —
accountEnabledmust be true; a disabled user is flagged so you finish deprovisioning it rather than leaving it dormant. - Entra service principals — must be enabled and carry application identity metadata (
appId/ display name), proving the machine identity is inventoried. - Role assignments — every assignment must have complete scope, role, and principal metadata; an assignment you cannot attribute is an assignment you cannot manage.
- Custom roles — must define permissions (actions) and assignable scopes.
Implementation: GCP
- Service accounts —
disabledmust not be true. A disabled service account left in place is the same deprovisioning debt as a disabled Entra user: confirm it can be deleted, then delete it.
What passing evidence looks like
A passing automated evidence package contains per-resource verdicts (score = passing resources / total resources) from these signals:
aws:iam_users— no IAM user idle beyond 90 daysaws:iam_roles— every role has trust-policy or lifecycle-management evidenceaws:iam_groups— every group shows membership or policy managementazure:entra_users— every Entra user account is enabled (disabled = finish deprovisioning)azure:entra_service_principals— service principals enabled and inventoriedazure:iam— two assertions: role assignments fully attributed (scope, role, principal) and custom roles with permissions + assignable scopesgcp:iam— no disabled service accounts lingeringokta:users— no users stuck inSUSPENDED/DEPROVISIONEDwith access still to revokecrowdstrike:users— no admin-role sprawl in the endpoint consolejira:offboarding_ticket/servicenow:access_request— offboarding tickets and access requests resolved, not open
All signals are per-resource and re-evaluated on every scan — that recurring evaluation is what makes the "using automation" claim credible. There is no manual-evidence path for this KSI; the evidence is your live inventory.
What an assessor may challenge
- Idle AWS IAM users. Human accounts that authenticated once during setup and never again — anything past 90 days of inactivity fails.
- Roles with no ownership evidence. Hand-created roles with no
ManagedBytag and no captured trust policy; nobody can say who owns them or why they exist. - Empty IAM groups. Groups with zero members and zero policies — leftover structure that shows lifecycle management is not actually running.
- Disabled-but-present identities. Disabled Entra users and disabled GCP service accounts that were never deleted; the disable was step one of deprovisioning and step two never happened.
- Open offboarding tickets. A Jira offboarding ticket in
Open/To Door an unfulfilled ServiceNow access request means access revocation may be incomplete — exactly what AC-2(13) is about.
Official FedRAMP source
Verbatim from FedRAMP/rules
The lifecycle and privileges of all accounts, roles, and groups are securely managed using automation.
How Boundera handles this
Boundera evaluates KSI-IAM-AAM continuously across every connector you attach: aws:iam_users, aws:iam_roles, aws:iam_groups, azure:entra_users, azure:entra_service_principals, azure:iam, gcp:iam, okta:users, crowdstrike:users, jira:offboarding_ticket, and servicenow:access_request. SCM accounts (GitHub/GitLab members) are deliberately excluded — they sit outside the authorization boundary this KSI covers.
What you bring: connect the cloud, IdP, endpoint, and ticketing connectors; tag hand-managed AWS roles with ManagedBy; and keep offboarding workflows moving to closure. Request a demo to watch KSI-IAM-AAM evaluate your real account, role, and group inventory — stale users and open offboarding tickets surface on the first scan.
References
- FRMR rule definition:
data/fedramp-rules/fedramp-consolidated-rules.json→KSI.IAM.indicators["KSI-IAM-AAM"] - NIST SP 800-53 Rev 5: AC-2(2), AC-2(3), AC-2(13), AC-6(7), IA-4(4), IA-12, IA-12(2), IA-12(3), IA-12(5)
Content provenance
Official requirement text is sourced from FedRAMP/rules . Boundera implementation guidance has not been fully reviewed for this item.
Guidance authors: Eddy Agu.