AC-6(2): Non-privileged Access for Nonsecurity Functions
AC-6(2) requires that anyone who has a privileged system account (or role) must switch to a non-privileged account (or role) when performing routine, nonsecurity work. To operationalize it, you need clear role boundaries, technical controls that make “admin-by-default” hard, and auditable evidence that privileged access is reserved for security and admin tasks only.
Key takeaways:
- Privileged accounts must not be used for everyday business tasks like email, browsing, or routine application use.
- Implement “two-account” (or “two-role”) patterns plus technical guardrails that prevent privilege creep.
- Auditors will look for both design (policy/architecture) and operation (logs, access reviews, exceptions) evidence.
The ac-6(2): non-privileged access for nonsecurity functions requirement is a practical least-privilege control that forces separation between “admin power” and “normal work.” Many organizations say they follow least privilege, then fail this enhancement because administrators live in privileged sessions all day: reading email, opening tickets, using SaaS apps, and browsing. That behavior expands the blast radius of phishing, malware, and credential theft, because a compromise of a privileged session can turn into rapid control of systems.
AC-6(2) is straightforward to explain and still easy to botch operationally. The control is not asking you to eliminate privileged access; it’s asking you to confine privileged access to security functions and system administration functions, and to make nonsecurity functions happen under non-privileged identity. That means you need: (1) a defined set of privileged roles, (2) an explicit definition of “nonsecurity functions” for your environment, (3) a standard operating model for admins and power users, and (4) monitoring and evidence that the model is followed.
Regulatory text
NIST requirement (excerpt): “Require that users of system accounts (or roles) with access to {{ insert: param, ac-06.02_odp }} use non-privileged accounts or roles, when accessing nonsecurity functions.” 1
Operator meaning: If a user has a privileged account or role (local admin, domain admin, cloud admin, database admin, Kubernetes cluster-admin, root, break-glass), they must not use that privileged identity for routine work that is not a security/admin function. They should perform normal business tasks using a standard user account/role, then elevate only for the specific administrative action.
What “{{ insert: param, ac-06.02_odp }}” means in practice: Treat it as “the set of privileged accounts/roles defined by your organization” for the system boundary you are assessing. Your job is to define that set and enforce the behavior. 1
Plain-English interpretation
AC-6(2) enforces a clean split:
- Nonsecurity functions: routine productivity, ticketing, documentation, email, chat, browsing, accessing standard business apps, reviewing dashboards that do not require admin privileges.
- Privileged/security functions: configuration changes, identity and access administration, security tool administration, patching, backup/restore operations, production changes requiring elevated permissions, incident response actions that require admin capability.
If a person needs admin access sometimes, give them two identities (or one identity with two clearly separated roles and elevation controls). Their default working state must be non-privileged.
Who it applies to
Entity scope (typical):
- Federal information systems and contractors handling federal data where NIST SP 800-53 is the control baseline. 2
- Any organization using NIST 800-53 controls as part of a customer requirement, ATO package, or internal security standard.
Operational scope (where this bites):
- System administrators (Windows/Linux), network engineers, database admins, SRE/DevOps, cloud platform engineers.
- Security administrators who also do daily business work (email, ticketing, docs).
- Third-party support personnel with privileged roles (MSP, outsourced IT, SaaS implementation partners).
- Service accounts and automation roles, when humans can assume or use them interactively (your policy should forbid interactive use unless explicitly approved).
What you actually need to do (step-by-step)
1) Define “privileged” and “nonsecurity functions” for your environment
Create a short standard that answers:
- Which roles/accounts are privileged (by platform): AD groups, Entra/AWS/GCP admin roles, Unix sudoers, database superusers, Kubernetes cluster roles, hypervisor admins.
- Which activities are “security/admin” vs “nonsecurity.” Keep the list operational, not philosophical. Deliverable: an AC-6(2) role/activity matrix approved by Security and IT operations.
2) Implement the two-account (or two-role) operating model
Minimum viable pattern:
- Named standard user account for daily work (email, chat, browsing, ticketing, documentation).
- Named privileged admin account for admin tasks only, with stricter controls (MFA, conditional access, session timeouts). Rules to write down:
- No email on privileged accounts.
- No web browsing from privileged sessions except for documented admin portals required for the task.
- No SaaS “daily driver” access with privileged roles unless that SaaS role is truly required for admin.
3) Add technical guardrails that make noncompliance hard
Pick controls that match your stack; auditors care that behavior is enforced, not just documented. Common guardrails:
- Privileged access management (PAM) or just-in-time elevation workflows for admin roles.
- Conditional access policies for privileged accounts (device compliance, network restrictions, stronger MFA).
- Separate admin workstations or hardened admin jump hosts for privileged sessions.
- Role-based access control (RBAC) so routine users don’t end up in admin groups “for convenience.”
- Disable interactive login for service accounts; use managed identities where possible.
4) Detect and document privileged-account use for nonsecurity activity
You need monitoring that can answer: “Show me privileged sessions and what they were used for.” Practical detection examples:
- Privileged account sign-in to productivity suites (email, chat) triggers an alert.
- Privileged account browsing to general internet domains triggers an alert (allowlist admin portals).
- Privileged role assignments outside an approved ticket/change record generate an exception record.
If you cannot instrument deep activity monitoring, start with identity provider sign-in logs and privileged role assignment logs, then expand.
5) Build an exceptions process that does not become the default
Some environments have edge cases (legacy systems, emergency events). Define:
- When exceptions are allowed (break-fix, outage, incident response).
- Who approves (system owner + security).
- Compensating controls (time-bound access, session recording, post-action review).
- Expiration and revalidation.
6) Operationalize recurring reviews
Add this to your access governance cadence:
- Review privileged groups/roles and confirm the two-account model is followed.
- Verify shared admin accounts are eliminated or tightly controlled.
- Confirm alerts are triaged and exceptions are closed.
Daydream tip (where it fits naturally): many teams fail AC-6(2) on evidence, not intent. Daydream can map AC-6(2) to an owner, a repeatable procedure, and a standing evidence list so assessments don’t turn into a scramble.
Required evidence and artifacts to retain
Keep evidence tied to the system boundary in scope.
Policy & standards
- Access control / least privilege standard that explicitly states AC-6(2) behavior (admin accounts for admin tasks only).
- Privileged account/role definitions and the nonsecurity function list (role/activity matrix).
Technical configuration evidence
- Screenshots/exports of IdP conditional access policies for privileged accounts.
- PAM/JIT configuration showing elevation requirements and time-bound access (if used).
- Group/role membership exports for privileged roles.
- Admin workstation/jump host configuration standards (if used).
Operational evidence
- Sample tickets/changes showing elevation tied to an admin task.
- SIEM/IdP reports showing privileged sign-ins and investigation notes for flagged nonsecurity usage.
- Exception register with approvals, compensating controls, and expiration closure.
- Access review results and remediation tracking.
Common exam/audit questions and hangups
Expect assessors to ask:
- “Show me how you prevent admins from using privileged accounts for email and browsing.”
- “Do privileged users have separate accounts? If not, how do you separate roles?”
- “How do you define nonsecurity functions, and who approved that definition?”
- “How do you detect misuse, and what happens when it occurs?”
- “How do you handle third-party admins and support access under this requirement?”
Hangups that cause findings:
- You have a policy, but logs show privileged accounts signing into routine apps.
- The “admin account” is also used as the user’s primary identity in SaaS.
- Privileged access is granted permanently because offboarding the privilege is “too hard.”
Frequent implementation mistakes and how to avoid them
| Mistake | Why it fails AC-6(2) | How to avoid it |
|---|---|---|
| “Admins just promise not to browse/email” | No enforcement, no evidence | Block productivity app access from privileged accounts and alert on attempted use |
| Shared admin accounts | No accountability; impossible to prove user behavior | Move to named admin accounts; reserve shared only for break-glass with strict checkout |
| Privileged role bundled into daily SaaS role | Normal work becomes privileged by default | Split roles; assign admin roles only when performing admin tasks |
| Service accounts used interactively | Violates separation and weakens auditing | Disable interactive login; require named admin elevation |
| Exceptions never expire | Temporary becomes permanent | Require expirations and periodic re-approval with compensating controls |
Enforcement context and risk implications
No public enforcement cases were provided in the source catalog for AC-6(2). Practically, this control reduces the chance that a routine compromise (phishing, malicious link, drive-by download) immediately yields administrative control. It also improves investigation quality because privileged actions are more clearly attributable to deliberate admin sessions, not background daily activity.
Practical 30/60/90-day execution plan
First 30 days (triage and minimum viable compliance)
- Assign control owner(s) across IAM and IT operations.
- Define privileged roles/accounts in scope and document the role/activity matrix for “nonsecurity functions.”
- Identify top privileged populations (domain admins, cloud admins) and confirm they have separate standard accounts.
- Implement quick guardrails: block privileged account access to email and core productivity where feasible; add alerts on sign-ins.
Next 60 days (enforcement and workflow)
- Roll out two-account model to remaining privileged users and third-party admins.
- Implement JIT/PAM for the highest-risk admin roles, or equivalent approval workflow tied to tickets.
- Stand up an exceptions register with expirations and compensating controls.
- Produce the first audit-ready evidence packet (policy, role lists, log samples, exception samples).
By 90 days (operational maturity and audit readiness)
- Expand detection coverage (SIEM correlation, privileged role assignment monitoring, periodic reports).
- Run a formal access review of privileged roles; remediate drift.
- Test break-glass and emergency access procedures and document results.
- In Daydream, map AC-6(2) to the ongoing evidence schedule so the next assessment reuses the same artifacts instead of rebuilding them.
Frequently Asked Questions
Do we need two separate accounts for every admin to meet AC-6(2)?
Two accounts is the simplest way to prove separation. If you use one identity with multiple roles, you still need technical controls and logs that show nonsecurity activity occurs without privileged role enabled.
What counts as “nonsecurity functions” in real life?
Treat routine productivity and standard business app use as nonsecurity functions. If an activity does not require elevated permission to complete, require the non-privileged account/role for it.
Can privileged users access ticketing systems or documentation sites with their admin accounts?
They should access ticketing and documentation with their standard account. If the admin portal requires a ticket reference, link the ticket to the elevation workflow rather than granting the privileged account broad daily access.
How do we handle third-party support engineers who need admin access?
Require named accounts (or federated identities), enforce JIT elevation, and restrict sessions to approved admin paths (jump host/PAM). Record approvals and session evidence the same way you do for employees.
Are service accounts in scope for AC-6(2)?
Yes when humans can log in interactively or assume the role outside automation. Disable interactive logon for service accounts and require named admin elevation for any human-performed admin action.
What evidence is strongest in an audit for this control?
A clean privileged role inventory, proof of separate accounts/roles, technical policy configs that block routine app access for privileged identities, and log samples that demonstrate detection plus response when misuse occurs.
Footnotes
Frequently Asked Questions
Do we need two separate accounts for every admin to meet AC-6(2)?
Two accounts is the simplest way to prove separation. If you use one identity with multiple roles, you still need technical controls and logs that show nonsecurity activity occurs without privileged role enabled.
What counts as “nonsecurity functions” in real life?
Treat routine productivity and standard business app use as nonsecurity functions. If an activity does not require elevated permission to complete, require the non-privileged account/role for it.
Can privileged users access ticketing systems or documentation sites with their admin accounts?
They should access ticketing and documentation with their standard account. If the admin portal requires a ticket reference, link the ticket to the elevation workflow rather than granting the privileged account broad daily access.
How do we handle third-party support engineers who need admin access?
Require named accounts (or federated identities), enforce JIT elevation, and restrict sessions to approved admin paths (jump host/PAM). Record approvals and session evidence the same way you do for employees.
Are service accounts in scope for AC-6(2)?
Yes when humans can log in interactively or assume the role outside automation. Disable interactive logon for service accounts and require named admin elevation for any human-performed admin action.
What evidence is strongest in an audit for this control?
A clean privileged role inventory, proof of separate accounts/roles, technical policy configs that block routine app access for privileged identities, and log samples that demonstrate detection plus response when misuse occurs.
Operationalize this requirement
Map requirement text to controls, owners, evidence, and review workflows inside Daydream.
See Daydream