{
  "title": "How to Implement FAR 52.204-21 / CMMC 2.0 Level 1 - Control - IA.L1-B.1.V: Step-by-Step Guide to Identifying System Users, User-Acting Processes, and Devices",
  "date": "2026-04-10",
  "author": "Lakeridge Technologies",
  "featured_image": "/assets/images/blog/2026/4/how-to-implement-far-52204-21-cmmc-20-level-1-control-ial1-b1v-step-by-step-guide-to-identifying-system-users-user-acting-processes-and-devices.jpg",
  "content": {
    "full_html": "<p>Identifying every system user, user-acting process, and device on your network is a foundational compliance activity required by FAR 52.204-21 and CMMC 2.0 Level 1 control IA.L1-B.1.V — and it's practical to do even for a small business when you follow an organized, automated approach.</p>\n\n<h2>Why this control matters</h2>\n<p>This control's objective is simple: know who and what can access covered contractor information and systems. Without accurate identification you cannot enforce least privilege, detect account misuse, or attribute actions during an incident — all of which increase the risk of data exposure, lateral movement, and failing a compliance audit under the Compliance Framework.</p>\n\n<h2>Step-by-step implementation (high level)</h2>\n<h3>1) Discover and collect authoritative identity sources</h3>\n<p>Start by identifying the authoritative identity stores in your environment: Active Directory, Azure AD, Okta, Google Workspace, local Linux /etc/passwd files, and cloud IAMs (AWS IAM, GCP IAM). Export user lists and key attributes via API or built-in tooling — e.g., PowerShell for AD: <code>Get-ADUser -Filter * -Properties SamAccountName,Enabled,LastLogonDate</code>, Azure AD Graph/ Microsoft Graph queries, Okta System Logs and Users API. Capture attributes: username, display name, unique ID, account type (human vs. service), status (enabled/disabled), owner/manager, last login, and authentication methods (password, MFA).</p>\n\n<h3>2) Inventory devices and enrollment status</h3>\n<p>Catalog endpoints, servers, mobile devices, and networked hardware. Use MDM/EMM (Microsoft Intune, Jamf, VMware Workspace ONE) and endpoint management tools (SCCM/Endpoint Configuration Manager, Fleet/Osquery) to pull hostname, OS, MAC, IP, MDM enrollment status, last check-in, and installed security agents (EDR). For small networks without MDM, run network discovery with tools like Nmap and collect DHCP/static IP mappings, then reconcile to owner. Example: for a 50-employee shop, script a daily export from Intune and a weekly Nmap scan of the office VLAN, then match hostnames to AD computer objects.</p>\n\n<h3>3) Identify user-acting processes and service accounts</h3>\n<p>User-acting processes include interactive sessions (RDP, SSH), scheduled jobs, and services/daemons that perform actions under an account. On Windows, list services with <code>Get-Service</code> and inspect the \"Log On As\" account; check Scheduled Tasks with <code>Get-ScheduledTask | Get-ScheduledTaskInfo</code>. On Linux, use <code>ps aux --cols 200</code> and <code>systemctl list-units</code> and correlate process owners (UIDs) to account names from /etc/passwd or LDAP. For containers, inspect image run-as user and Kubernetes service accounts. Document service accounts, what process they run, and why they need privileges (e.g., backupsvc runs VeeamBackupSvc and only needs exclusive backup storage access).</p>\n\n<h2>Technical mapping and documentation</h2>\n<p>Create a canonical inventory and mapping datastore (spreadsheet, CMDB, or lightweight database). Essential fields: identifier (username or device ID), type (human, service, device), owner, business purpose, authentication methods, last activity timestamp, privileged status, and associated processes or services. Example record: \"svc-jenkins (service account) — runs Jenkins master process on jenkins-host-01, requires read/write to /var/jenkins_home, rotates credentials monthly, owner: DevOps.\" Store the inventory in a versioned repository and export snapshots for audit evidence.</p>\n\n<h2>Automation and monitoring</h2>\n<p>Automate discovery and drift detection: schedule scripts or use tools to reconcile AD/Azure AD user lists, MDM device lists, and EDR telemetry daily. Integrate logs into a lightweight SIEM (e.g., Elastic, Splunk, or cloud-native logging) and create alerts for anomalous new accounts, disabled-but-active accounts, processes running under unexpected accounts, and devices that are not MDM enrolled but try to access corporate resources. Example alert: an RDP session started from a non-enrolled device connecting to a domain-joined server triggers an investigation workflow.</p>\n\n<h2>Real-world small business scenarios</h2>\n<p>Scenario 1: A 30-person engineering firm uses Azure AD + Intune and a single Linux build server. Implementation: enable device enrollment in Intune, export Azure AD users weekly via Microsoft Graph, run a cron job on the Linux server that records running processes and owners to a secure log, and map service accounts (e.g., <code>buildsvc</code>) to Jenkins jobs. Scenario 2: A 12-person subcontractor with no AD relies on Google Workspace — use the Admin SDK to pull users, deploy a single open-source EDR on servers for process reporting, and maintain a simple inventory spreadsheet with owner attestations every 90 days.</p>\n\n<h2>Compliance tips and best practices</h2>\n<p>Make service accounts explicit and limited: avoid using shared human accounts for automation; instead create named service accounts with clear naming conventions (svc-*, app-*, ci-*). Enforce MFA for human users and require device enrollment for device access to sensitive systems. Keep a quarterly review schedule: owners must attest to accounts and devices they manage. Maintain logs and proof of automation runs to present during a compliance review for FAR 52.204-21 or a CMMC assessment.</p>\n\n<h2>Risks of non-implementation</h2>\n<p>Failing to identify users, processes, and devices leaves you blind to orphaned accounts, unmanaged devices, and unauthorized processes — common vectors for credential reuse, ransomware spread, and insider misuse. From a compliance perspective, you risk failing audits, losing contracts, and being unable to demonstrate basic safeguarding of covered contractor information under the Compliance Framework.</p>\n\n<p>Summary: implement a repeatable cycle of discovery, mapping, automation, monitoring, and periodic attestation to satisfy IA.L1-B.1.V. For small businesses this means using APIs and light tooling (PowerShell, Graph API, MDM exports, EDR), keeping a canonical inventory, and creating alerts for anomalies; these practical steps reduce risk and create clear evidence for compliance reviewers.</p>",
    "plain_text": "Identifying every system user, user-acting process, and device on your network is a foundational compliance activity required by FAR 52.204-21 and CMMC 2.0 Level 1 control IA.L1-B.1.V — and it's practical to do even for a small business when you follow an organized, automated approach.\n\nWhy this control matters\nThis control's objective is simple: know who and what can access covered contractor information and systems. Without accurate identification you cannot enforce least privilege, detect account misuse, or attribute actions during an incident — all of which increase the risk of data exposure, lateral movement, and failing a compliance audit under the Compliance Framework.\n\nStep-by-step implementation (high level)\n1) Discover and collect authoritative identity sources\nStart by identifying the authoritative identity stores in your environment: Active Directory, Azure AD, Okta, Google Workspace, local Linux /etc/passwd files, and cloud IAMs (AWS IAM, GCP IAM). Export user lists and key attributes via API or built-in tooling — e.g., PowerShell for AD: Get-ADUser -Filter * -Properties SamAccountName,Enabled,LastLogonDate, Azure AD Graph/ Microsoft Graph queries, Okta System Logs and Users API. Capture attributes: username, display name, unique ID, account type (human vs. service), status (enabled/disabled), owner/manager, last login, and authentication methods (password, MFA).\n\n2) Inventory devices and enrollment status\nCatalog endpoints, servers, mobile devices, and networked hardware. Use MDM/EMM (Microsoft Intune, Jamf, VMware Workspace ONE) and endpoint management tools (SCCM/Endpoint Configuration Manager, Fleet/Osquery) to pull hostname, OS, MAC, IP, MDM enrollment status, last check-in, and installed security agents (EDR). For small networks without MDM, run network discovery with tools like Nmap and collect DHCP/static IP mappings, then reconcile to owner. Example: for a 50-employee shop, script a daily export from Intune and a weekly Nmap scan of the office VLAN, then match hostnames to AD computer objects.\n\n3) Identify user-acting processes and service accounts\nUser-acting processes include interactive sessions (RDP, SSH), scheduled jobs, and services/daemons that perform actions under an account. On Windows, list services with Get-Service and inspect the \"Log On As\" account; check Scheduled Tasks with Get-ScheduledTask | Get-ScheduledTaskInfo. On Linux, use ps aux --cols 200 and systemctl list-units and correlate process owners (UIDs) to account names from /etc/passwd or LDAP. For containers, inspect image run-as user and Kubernetes service accounts. Document service accounts, what process they run, and why they need privileges (e.g., backupsvc runs VeeamBackupSvc and only needs exclusive backup storage access).\n\nTechnical mapping and documentation\nCreate a canonical inventory and mapping datastore (spreadsheet, CMDB, or lightweight database). Essential fields: identifier (username or device ID), type (human, service, device), owner, business purpose, authentication methods, last activity timestamp, privileged status, and associated processes or services. Example record: \"svc-jenkins (service account) — runs Jenkins master process on jenkins-host-01, requires read/write to /var/jenkins_home, rotates credentials monthly, owner: DevOps.\" Store the inventory in a versioned repository and export snapshots for audit evidence.\n\nAutomation and monitoring\nAutomate discovery and drift detection: schedule scripts or use tools to reconcile AD/Azure AD user lists, MDM device lists, and EDR telemetry daily. Integrate logs into a lightweight SIEM (e.g., Elastic, Splunk, or cloud-native logging) and create alerts for anomalous new accounts, disabled-but-active accounts, processes running under unexpected accounts, and devices that are not MDM enrolled but try to access corporate resources. Example alert: an RDP session started from a non-enrolled device connecting to a domain-joined server triggers an investigation workflow.\n\nReal-world small business scenarios\nScenario 1: A 30-person engineering firm uses Azure AD + Intune and a single Linux build server. Implementation: enable device enrollment in Intune, export Azure AD users weekly via Microsoft Graph, run a cron job on the Linux server that records running processes and owners to a secure log, and map service accounts (e.g., buildsvc) to Jenkins jobs. Scenario 2: A 12-person subcontractor with no AD relies on Google Workspace — use the Admin SDK to pull users, deploy a single open-source EDR on servers for process reporting, and maintain a simple inventory spreadsheet with owner attestations every 90 days.\n\nCompliance tips and best practices\nMake service accounts explicit and limited: avoid using shared human accounts for automation; instead create named service accounts with clear naming conventions (svc-*, app-*, ci-*). Enforce MFA for human users and require device enrollment for device access to sensitive systems. Keep a quarterly review schedule: owners must attest to accounts and devices they manage. Maintain logs and proof of automation runs to present during a compliance review for FAR 52.204-21 or a CMMC assessment.\n\nRisks of non-implementation\nFailing to identify users, processes, and devices leaves you blind to orphaned accounts, unmanaged devices, and unauthorized processes — common vectors for credential reuse, ransomware spread, and insider misuse. From a compliance perspective, you risk failing audits, losing contracts, and being unable to demonstrate basic safeguarding of covered contractor information under the Compliance Framework.\n\nSummary: implement a repeatable cycle of discovery, mapping, automation, monitoring, and periodic attestation to satisfy IA.L1-B.1.V. For small businesses this means using APIs and light tooling (PowerShell, Graph API, MDM exports, EDR), keeping a canonical inventory, and creating alerts for anomalies; these practical steps reduce risk and create clear evidence for compliance reviewers."
  },
  "metadata": {
    "description": "Practical, step-by-step guidance to help small businesses meet FAR 52.204-21 and CMMC 2.0 IA.L1-B.1.V by reliably identifying system users, user-acting processes, and devices.",
    "permalink": "/how-to-implement-far-52204-21-cmmc-20-level-1-control-ial1-b1v-step-by-step-guide-to-identifying-system-users-user-acting-processes-and-devices.json",
    "categories": [],
    "tags": []
  }
}