AC-3(7): Role-based Access Control
AC-3(7) requires you to enforce role-based access control (RBAC) across defined subjects (users, services) and objects (apps, data, systems) so access decisions are made using a documented RBAC policy and a defined access decision basis. To operationalize it fast, standardize roles, bind permissions to roles (not people), and prove enforcement through system configurations, access reviews, and logs. 1
Key takeaways:
- Define “subjects” and “objects” in scope, then build an RBAC role catalog that maps roles to permitted actions.
- Enforce access through technical controls (IAM, directories, apps), and keep exceptions time-bound and traceable.
- Retain evidence that RBAC is designed (policy + role model) and operating (provisioning records, reviews, logs). 2
AC-3(7): role-based access control requirement is an enhancement to the NIST SP 800-53 Access Control family that pushes you beyond “users have permissions” into “roles are the unit of control.” Practically, this means you decide access based on a person’s (or service’s) assigned role(s), and roles are pre-defined bundles of privileges tied to business functions. The control also expects that you clearly define what identities are making requests (subjects) and what resources are protected (objects), then enforce a consistent decision rule across those systems. 1
For a CCO, GRC lead, or Compliance Officer, the fastest way to make this assessable is to treat RBAC as a product: a role catalog, ownership, change control, a provisioning workflow, periodic validation, and evidence that the access platforms actually enforce it. Auditors typically fail teams here for two reasons: (1) roles exist in a slide deck but permissions are still assigned directly to individuals, or (2) RBAC is enforced in one “core” system but not in key objects such as data stores, SaaS apps, CI/CD tools, or privileged admin planes.
This page is requirement-level guidance you can hand to control owners and implementers to design, deploy, and evidence AC-3(7) quickly and defensibly. 2
Regulatory text
NIST excerpt (AC-3(7)): “Enforce a role-based access control policy over defined subjects and objects and control access based upon [assignment of roles].” 1
Operator meaning:
You must (1) define which identities are in scope (subjects) and which systems/data are in scope (objects), (2) implement an RBAC policy, and (3) ensure systems make authorization decisions based on role assignment rather than ad hoc, user-by-user permissions. Your “policy” is not sufficient by itself; the requirement is to enforce RBAC in the access control mechanisms used by in-scope systems. 2
Plain-English interpretation (what the assessor expects)
RBAC is “permissions follow the job.” A user gets access by being put into a role like Payroll Analyst or Network Administrator. The role, not the individual, carries the permission set. If someone changes jobs, you remove the old role and assign the new role; access changes as a side effect.
An assessor will look for:
- A defined and owned role model (role names, purpose, allowed actions, constraints).
- Centralized or consistently governed enforcement points (IAM/directory groups, application roles, cloud IAM roles).
- Evidence that access requests, approvals, and provisioning are performed via roles.
- Control of exceptions (break-glass, one-off entitlements) with time bounds and approvals. 2
Who it applies to (entity and operational context)
Typical in-scope entities
- Federal information systems and programs aligned to NIST SP 800-53. 2
- Contractor systems handling federal data where NIST SP 800-53 controls are contractually imposed (common in federal supply chains). 2
Operational contexts where AC-3(7) becomes “real”
- Enterprise IAM and directory services (IdP, SSO, group management).
- Cloud platforms (role assignment in cloud IAM).
- SaaS applications with native roles (ERP, HRIS, ticketing, source control).
- Databases/data platforms where roles map to schemas, tables, datasets.
- Privileged access paths (admin consoles, production access, “break-glass”).
If you cannot name your subjects and objects, you cannot claim enforcement. Start with scoping and an RBAC map.
What you actually need to do (step-by-step)
1) Define scope: subjects and objects
- List subjects: workforce identities, admins, contractors, service accounts, and automated principals (CI/CD, integrations).
- List objects: systems, applications, repositories, datasets, and administrative control planes that contain or manage in-scope data or operations.
- Define “access decision points”: where authorization is enforced (IdP groups, app role checks, database roles, cloud IAM policies).
Deliverable: “RBAC scope register” mapping subjects → enforcement points → objects.
2) Write the RBAC policy (short, enforceable)
Your RBAC policy should answer:
- What constitutes a role (business function, least privilege, separation of duties where needed).
- Who can create/modify roles (role engineering ownership).
- How users get roles (request + approval workflow).
- How role assignments are reviewed and removed (offboarding, transfers).
- How exceptions are handled (time-bound, documented, monitored).
Keep it operational: one page of rules plus a link to the role catalog. 2
3) Build a role catalog (the control’s center of gravity)
Create a role catalog that includes, per role:
- Role name and description (business function)
- Allowed actions/privileges (by system/object)
- Eligibility criteria (team, region, clearance, employment type)
- Approver(s) and role owner
- Any constraints (MFA required, network restrictions, time windows)
- SoD notes (roles that must not be combined)
Practical tip: start with a small number of roles per major system and expand as needed. Too many roles becomes “RBAC theater.”
4) Implement technical enforcement (stop direct entitlements)
You need technical guardrails so RBAC is not optional:
- IAM/Directory: map roles to groups; group membership becomes the provisioned attribute.
- Applications: disable or restrict local per-user permission grants; require role-based grants where the system supports it.
- Cloud IAM: use role assignments and policy constructs; avoid long-lived access keys tied to individuals.
- Data layer: use database roles; grant table/schema privileges to roles, not users.
Control objective: a normal access request results in role assignment, and role assignment results in access.
5) Provisioning workflow + change control
Document and enforce:
- Request intake (ticket, IAM request portal, HR-driven joiner/mover/leaver).
- Approval chain (manager + system owner for sensitive roles).
- Implementation step (automated provisioning where possible; manual steps require checklists).
- Deprovisioning triggers (termination, end of contract, transfer, inactivity).
Make role changes auditable: who approved, who executed, when, and what changed.
6) Operating cadence: validate roles and assignments
Minimum operating expectations for audit readiness:
- Role catalog review (owners confirm roles still map to job functions).
- Access review focused on high-risk roles (privileged, financial, production, data admin).
- Exception review (confirm end dates and removal; investigate renewals).
- Monitoring: alerts for privileged role assignment and unusual role combinations.
Your cadence can vary; what matters is repeatability, ownership, and retained evidence. 2
Required evidence and artifacts to retain
Keep evidence that proves design and operation:
Design evidence
- RBAC policy (approved, versioned)
- RBAC scope register (subjects/objects/enforcement points)
- Role catalog with owners and permissions mapping
- Configuration standards (how groups/roles are structured and named)
Operating evidence
- Access request and approval records tied to roles (tickets/workflows)
- Provisioning logs or IAM audit trails showing role assignment events
- Periodic access review outputs and remediation tracking
- Exception register (temporary access, break-glass) with approvals and expiry
- Samples of system configuration showing RBAC enforcement (screenshots/exports)
Assessment packaging tip (high ROI): Map AC-3(7) to a control owner, an implementation procedure, and a recurring evidence list so evidence collection is not reinvented each cycle. Daydream is commonly used to keep this mapping, owners, and recurring artifacts in one place so you can answer auditors quickly without rebuilding context every quarter. 1
Common exam/audit questions and hangups
Expect these questions, and pre-build your answers:
- “Show me your defined subjects and objects.” Auditors will test whether you know what identities exist (including service accounts) and what resources are protected.
- “Is access granted through roles, or directly to users?” Direct entitlements are the fastest way to fail the spirit of AC-3(7).
- “Who owns roles, and how are roles changed?” Role engineering without ownership becomes uncontrolled privilege creep.
- “How do you prevent role explosion?” They may probe whether RBAC is usable or a maze.
- “How do you handle exceptions and emergency access?” Break-glass without documentation often becomes permanent admin access.
Frequent implementation mistakes (and how to avoid them)
| Mistake | Why it fails AC-3(7) | Fix |
|---|---|---|
| Roles documented but not enforced in systems | Policy exists; authorization still ad hoc | Remove local grants; require role-based grants through IAM/app roles |
| “Everyone is in Admin role” | RBAC exists but defeats least privilege | Split admin duties into distinct roles; require approvals and monitoring |
| Service accounts treated like people | Non-human identities become ungoverned | Define service account roles; rotate credentials; restrict scopes |
| RBAC only in the IdP | Downstream apps drift with local permissions | Align app roles to directory groups; disable local overrides where possible |
| Exceptions have no end date | Temporary access becomes permanent | Enforce expiry; track exceptions; require renewal justification |
Enforcement context and risk implications
No public enforcement cases were provided in the supplied source catalog for this requirement, so this page does not cite specific case outcomes. Practically, RBAC gaps increase the likelihood of unauthorized access, privilege creep, and toxic combinations in finance, security administration, and production operations. The compliance impact is also immediate: if you cannot show role definitions, assignments, and enforcement evidence, AC-3(7) often gets assessed as “not implemented” or “not operating effectively” in control testing. 2
Practical execution plan (30/60/90-day)
First 30 days: establish the RBAC backbone
- Assign control owner and technical owners for each major system in scope.
- Build the subject/object scope register for your highest-risk systems first (privileged admin planes, data stores).
- Publish RBAC policy (short, enforceable) and freeze ad hoc role creation without approval.
- Draft the initial role catalog for the top systems and define naming conventions.
Day 31–60: enforce RBAC in priority systems
- Convert direct entitlements to role-based grants in the highest-risk applications.
- Implement a standard access request workflow that results in role assignment.
- Stand up an exception process (break-glass, temporary elevated access) with documented approval and expiry.
- Start collecting operating evidence (tickets, logs, role assignments).
Day 61–90: prove it operates, then expand coverage
- Run a formal access review for privileged and sensitive roles; track removals to completion.
- Review the role catalog with role owners; retire unused roles and correct overbroad roles.
- Expand RBAC enforcement to remaining in-scope systems and address local-permission drift.
- Package evidence by system so an assessor can trace role → permission → assignment → enforcement → review.
Daydream fit: as you mature, store your role catalog links, role owner attestations, review outputs, and per-system evidence checklists alongside the AC-3(7) control record so audits become retrieval rather than rework. 2
Frequently Asked Questions
Do we have to implement RBAC everywhere, or only on critical systems?
AC-3(7) expects enforcement over defined subjects and objects, so your first task is scoping. Start with systems and datasets that matter most, then expand until your defined scope matches your risk and contractual/regulatory expectations. 2
Can a user have multiple roles?
Yes, but you need rules for role combinations, especially for privileged and finance-related roles. Document prohibited combinations and enforce them where your IAM/app supports it; otherwise, detect them through reviews.
How do we handle break-glass or emergency admin access under RBAC?
Treat break-glass as a controlled role with strict eligibility, approvals, logging, and expiry. Keep an exception register and show evidence of periodic review and removal.
What’s the minimum evidence an auditor will accept for “enforced RBAC”?
A role catalog, system configuration showing roles/groups are the permission boundary, and samples of role assignment events tied to approved requests. Add access review outputs to prove ongoing operation. 1
Our SaaS app has “roles,” but admins can still grant one-off permissions. Is that a failure?
It’s a common gap. Lock down admin capabilities where possible, set policy that one-off grants require documented exceptions, and monitor for drift with periodic exports and reviews.
How does AC-3(7) relate to least privilege?
RBAC is a mechanism to implement least privilege consistently. Your role definitions should reflect least privilege, and your reviews should confirm roles do not accumulate unnecessary permissions. 2
Footnotes
Frequently Asked Questions
Do we have to implement RBAC everywhere, or only on critical systems?
AC-3(7) expects enforcement over defined subjects and objects, so your first task is scoping. Start with systems and datasets that matter most, then expand until your defined scope matches your risk and contractual/regulatory expectations. (Source: NIST SP 800-53 Rev. 5)
Can a user have multiple roles?
Yes, but you need rules for role combinations, especially for privileged and finance-related roles. Document prohibited combinations and enforce them where your IAM/app supports it; otherwise, detect them through reviews.
How do we handle break-glass or emergency admin access under RBAC?
Treat break-glass as a controlled role with strict eligibility, approvals, logging, and expiry. Keep an exception register and show evidence of periodic review and removal.
What’s the minimum evidence an auditor will accept for “enforced RBAC”?
A role catalog, system configuration showing roles/groups are the permission boundary, and samples of role assignment events tied to approved requests. Add access review outputs to prove ongoing operation. (Source: NIST SP 800-53 Rev. 5 OSCAL JSON)
Our SaaS app has “roles,” but admins can still grant one-off permissions. Is that a failure?
It’s a common gap. Lock down admin capabilities where possible, set policy that one-off grants require documented exceptions, and monitor for drift with periodic exports and reviews.
How does AC-3(7) relate to least privilege?
RBAC is a mechanism to implement least privilege consistently. Your role definitions should reflect least privilege, and your reviews should confirm roles do not accumulate unnecessary permissions. (Source: NIST SP 800-53 Rev. 5)
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream