♟️ Mastering Access Control: CMMC Practice 3.1.2

If practice 3.1.1 is the "front door" (authentication), NIST SP 800-171 Practice 3.1.2 defines what you can do once inside (authorization). It mandates that organizations control the functions and transactions authorized users are permitted to perform on a system.

Core Compliance Pillars

  • 📜 Define Authorizations: Document specifically what "subjects" (users/processes) can do to "objects" (files/records), typically using the CRUD model (Create, Read, Update, Delete).
  • 🛠️ Enforce Controls: Use technical mechanisms like Role-Based Access Control (RBAC) or Attribute-Based Access Control (ABAC) to block unauthorized actions.
  • ⚖️ Least Privilege: Base all permissions strictly on "need-to-know" for specific job roles.

Impact & Future

With a 5-point value in DoD assessments, failure here is critical—it's the primary gap

If 3.1.1 authorizes access to the system, 3.1.2 authorizes permissions within the system. The rules of chess, for example, limit the types of functions allowed for each piece. Access control policies restrict the types of functions authorized for each subject. These policies will dictate what a subject can or cannot do to an object or a resource.

This blog will discuss the following topics around 3.1.2:

A Brief History

NIST SP 800-171 dates back to June of 2015. NIST retained the identification number of 3.1.2 through the first and second revisions. NIST SP 800-171 Revision 3 has changed this requirement's number to 03.01.02.

The proposed cybersecurity maturity model certification (CMMC) rule verifies SP 800-171 Rev 2.  CMMC 1.02 numbered this practice AC.1.002 then AC.L1-3.1.2 under CMMC 2.0. This practice applies to organizations seeking compliance within any level of CMMC.

As of 12/22/23, CMMC 2.1 creates two numbers for this requirement:

  • CMMC Level 1 uses the label AC.L1-B.1.II. Section b(ii) references the Federal Acquisition Regulation (FAR) clause 52.204-21.
  • CMMC Level 2 uses the label AC.L2-3.1.2. AC is the abbreviation for the access control domain. L2 references the applicability to CMMC Level 2.  3.1.2 references the original requirement number from NIST SP 800-171 Rev 2 (3.1.2).

Practice Statement

NIST SP 800-171 incorporated fourteen security requirements from FIPS 200. Below is the original language of this requirement from FIPS 200:

Image Source: FIPS 200

NIST abbreviated the language in SP 800-171 to:

Image Source: NIST SP 800-171

Assessment Objectives

NIST published SP 800-171A in 2017 to provide corresponding assessment procedures. These procedures apply assessment methods (examine, interview, test) to assessment objects. The assessor evaluates each part. The assessor produces and compiles evidence to support the finding. A “satisfied” finding indicates an acceptable result. A finding of “other than satisfied” indicates implementation anomalies.

The assessment objectives for 3.1.2 contain two determination statements:

Image Source: NIST SP 800-171A

NIST SP 800-53 Mapping

Image Source: Table D-1 NIST SP 800-171 

We mapped these two objectives to the closest SP 800-53 Rev 5 control parts. We also used NIST IR 8477 to define the nature and strength of the relationships. The findings indicated that:

  • AC.L2-3.1.2(a) is a subset of AC-02(d) (strong relationship)
  • AC.L2-3.1.2(b) is a subset of AC-02(d)  (strong relationship)
Image Source: NIST SP 800-171 vs 800-53 Crosswalk

Analysis of Discussion

The discussion for 3.1.2 combines parts of account management and access enforcement. Part of account management includes defining access privileges or other attributes. Account enforcement limits access based on defined authorizations. 

Account Management

Part (a) of 3.1.2 requires organizations to define access authorizations. NIST incorporated some of the AC-2 supplemental guidance into the 3.1.2 discussion:

Image Source: NIST SP 800-53 Rev 4

The Level 2 CMMC Assessment Guide also provides a further discussion section. 

Limit users to the permitted information systems, roles, or applications. Base permissions on needs for their roles and responsibilities. Limit access to applications and data based on the users’ roles and responsibilities. Common types of assigned user functions are create, read, update, and delete.

The further discussion does not trace back to SP 800-53. NIST may have derived part of the discussion from the NIST Handbook 162. NIST withdrew this handbook in September of 2022. They identify the superseding publication as NIST SP 800-171A.

Both texts include the phrase “permitted to use”. The handbook uses the term to describe user authorizations for parts of the system. The CMMC guide uses it about information systems, roles or applications.

Both texts recommend using “roles” as a means to categorize authorizations. Both recommend basing authorizations on needs or a need-to-know.

Handbook 162 does not reference the common types of assigned user functions. 

Image Source: NIST Handbook 162

Create, read, update, and delete (CRUD) are the four operations a subject may perform on an object. This concept dates back to the Trusted Computer System Evaluation Criteria. Industry veterans often refer to this as the “Orange Book”. This publication detailed fundamental computer security requirements for the Department of Defense.

Image Source:  Department of Defense Trusted Computer System Evaluation Criteria

Access Enforcement

Part (b) focuses on enforcing access controls. This resembles AC-3 but the discussion does not include supplemental guidance from AC-3:

Image Source: NIST SP 800-53 Rev 4

This supplemental guidance defines the primary components of access control policies. Subjects (active entities) include both users and processes acting on behalf of users. The objects (passive entities) include devices, files, records, and domains. It also identifies several levels of potential enforcement. Systems contain an increasing number of applications and services. Architecture design may limit the scope of coverage of access control mechanisms. Access control mechanisms may enforce policies at the system, application, or service level.

DoD Criticality

The NIST SP 800-171 DoD Assessment Methodology Version 1.2.1 assigned a 5-point value to this practice. Failing to enforce access controls could lead to network exploitation or data exfiltration. CMMC section 170.21 removes eligibility for limited deficiency in this practice.

Scope of Applicability

Appendix C within NIST SP 800-53 Rev 5 discusses three implementation approaches:

  • (S) implemented by an information system through technical means
  • (O) implemented by an individual through nontechnical means
  • (O/S) implemented by an organization, system, or combination of the two

NIST defines the implementation of the corresponding SP 800-53 controls as:

  • AC-2 as (O) organizational
  • AC-3 as (S) system specific

The crosswalk suggests that 3.1.2 requires both technical and nontechnical implementations. The Defense Contract Management Agency (DCMA) also published guidance for assessing SP 800-171.  The DCMA Guide identifies documents as the relevant evidence for part (a). Part (b) lists a screen share as the relevant evidence. We concluded part (a) is nontechnical and part (b) is a technical implementation.

Security requirements may not apply to every component of the system. They only apply to components that provide or support the capabilities they address. The Microsoft Product Placement for CMMC identifies the following primary services:

  • Microsoft Entra ID (Azure AD)
  • Azure RBAC
  • Privileged Identity Management (PIM) 

Inheritance

Microsoft Azure

Microsoft’s customer responsibility matrix indicates that AC-02(d) is a shared control. 

Customers are responsible for specifying access privileges using their identity management infrastructure. These users utilize the customer AD infrastructure to apply permissions to that user's session. Customers communicate the associated permissions to Entra ID via certificate-based authentication.

Amazon AWS

Amazon’s customer responsibility matrix indicates that AC.L2-3.1.2 is a shared control.

Users interact with AWS Services using AWS defined APIs. 

AWS IAM authorizes the users and services before allowing access to respective APIs.  Customers can use AWS IAM roles and policies to implement customer specific access control requirements, which includes the privileged commands and actions that can be executed remotely. 

Google Workspace

Google’s CMMC Implementation Guide indicates that AC.L2-3.1.2 is a shared control.

When configured correctly, the following key service(s) in Google Cloud Console may be used to support this control:

  • IAM - Limit access to specific functions and transactions by assigning roles containing granular permissions.

OS Login - Control the level of function permitted within a Linux VM SSH session based on IAM authorization.

Implementation

The Department of Defense categorizes 3.1.2 as a configuration. The CMMC assessment guide provides an example using a role-based access control policy. Each role limits whether an employee has read access or create/read/delete/update access. The supporting Microsoft documentation provides instructions on how to configure RBAC. Using RBAC is an example of defining access privileges by the type of account.

The Microsoft documentation also references attribute-based access control (ABAC). ABAC policies may replace or supplement RBAC. ABAC uses defined attributes to match users with the resources they need to do a job. Remember from the discussion: 

Other attributes include restrictions on time of day, day of week, and point of origin.

These are great examples of environmental specifics used within ABAC policies. ABAC can also use non-environmental attributes related to the subject or object. ABAC allows for more flexibility and enforcement than RBAC. As a trade-off, it also takes more time, effort, and resources to implement.

Microsoft Environment

Configuration of Microsoft Entra ID (Azure AD) can limit system access. Microsoft provides guidance that helps explain the potential steps for configuring access controls:

Set up rules-based access control (RBAC)

Set up attribute-based access control (ABAC)

Configure groups for role assignment

Google Environment

ATX Defense published similar instructions for Google Workspace. ATX recommends classifying users based on roles and configuring context-aware access levels.

Classify users based on roles:

Enforce what resources users can access

Creating a Cloud Identity or Google Workspace account

Enroll authorized devices in Endpoint Management

Combine conditions and values to define user or device access

Continuous Monitoring Tasks

Continuous monitoring strategies verify that controls produce the desired outcome(s).  The security requirement 3.1.2 has two desired outcomes:

  • Define the types of transactions and functions authorized and permitted
  • Limit system access to defined types of transactions and functions for authorized users

Start by creating and maintaining a list of authorized accounts. This list should include both user accounts and non-person entities. Assigning roles and or attributes ties account membership to authorized transactions and functions. Each account should have documented authorization from an organization-defined delegate. 

Conduct quarterly reviews of account types. Ensure authorizations match intended system usage. Only use temporary or emergency accounts only for a short period. Remove any shared, group, anonymous, or guest accounts.

Conduct annual system access briefings to ensure access aligns with approvals. As roles and responsibilities change, briefings help enforce the principle of least privilege. 

Policy Statements

Several statements with the CMMC Access Control Policy template align to 3.1.2:

Access Enforcement

System access is granted based on an employee's role and business unit, ensuring users only possess the privileges necessary for their tasks. An internal user's supervisor must validate the need for access to perform their duties.

Logical and physical access authorizations (including system accounts and facility entry badges) are assigned to security groups or roles. Users will be added to and removed from these roles as their responsibilities change to ensure they only possess the privileges necessary for their current tasks. 

Resources may be assigned to multiple groups with varying levels of rights (e.g., Read-Only vs. Modify) to strictly enforce the principle of least privilege.

Access permissions for both user accounts and application service accounts are configured at a granular level to ensure entities only possess the specific capabilities necessary for their function.

Rights shall be distinguished between Read, Write, Modify, Delete, and Execute. Users requiring only "Read" access must not be granted "Write" or "Delete" privileges.

Access rights granted to external applications and service accounts (e.g., via APIs) are strictly limited to the specific data sets and functions required for interoperability. Wildcard or "full admin" access for service accounts is prohibited unless explicitly justified.

Proposed Rev 3 Changes

NIST SP 800-171 Rev 3 aligns 3.1.2 with AC-3. There are still two parts to this requirement. Part [01] requires logical access enforcement to controlled unclassified information (CUI). Part [02] requires logical access enforcement to system resources. These updated requirements incorporate both current parts of 3.1.2. NIST withdrew the related requirement 3.13.3. That capability applies to both parts of 03.01.02. 

Image Source: NIST SP 800-171 Rev 3 Crosswalk Calculator

Conclusion

Organizations should define and enforce access controls within systems. This involves permitting or denying subject access to system objects. This is often accomplished using attribute and or role-based access control mechanisms. These rules also govern authorized operations that subjects can perform on system objectives. Access controls help protect system resources and data against inappropriate or undesired access.

❓ CMMC Practice 3.1.2 FAQ

What are 'CRUD' operations?

CRUD stands for Create, Read, Update, and Delete. These are the four basic functions that an authorized subject can perform on a resource. 3.1.2 requires you to define which users get which of these specific permissions.

What is the difference between RBAC and ABAC?

RBAC (Role-Based) assigns permissions to "roles" (e.g., Accountant, Admin). ABAC (Attribute-Based) is more flexible, using specific attributes like "Time of Day," "Location," or "Project ID" to grant access dynamically.

[Image comparing Role-Based Access Control (RBAC) vs Attribute-Based Access Control (ABAC)]

Is this a technical or an organizational control?

It is both. Part (a) is organizational (documenting who is allowed to do what), while Part (b) is technical (configuring your system—like Microsoft Entra ID or Google Workspace—to actually enforce those rules).

What happens if I fail an audit for 3.1.2?

Because 3.1.2 is a "Critical" practice with a 5-point deduction, failing it can immediately disqualify your organization from certain CMMC levels. It is considered a high-risk area for network exploitation.

Related Posts

CMMC System and Communications Protection Policy: Creation and Implementation

Mar 17, 2026
Learn how a CMMC System and Communications Protection Policy helps secure network boundaries, encrypt sensitive data, and protect Controlled Unclassified Information (CUI) to support CMMC Level 2 compliance.
Read More
10 min read

CMMC Security Assessment Policy: From Documentation to Validation

Mar 17, 2026
This blog explores why the Security Assessment domain acts as the “report card” for an organization’s cybersecurity program by validating whether security controls actually work in practice.
Read More
10 min read

AI Policy Template: Building a Stronger AI Risk Management Strategy

Mar 4, 2026
This blog explores the growing importance of AI risk management and how organizations can reduce security, compliance, and operational risks associated with artificial intelligence.
Read More
10 min read

Start your GRC journey today

Discover how K2 GRC can simplify compliance and enhance your organization's governance and risk management.