# NIST800 171 3.1.7 — Least Privilege - Privileged Functions

- Source: https://support.icompaas.com/support/solutions/articles/a_gen_nist800171_317_9b1185dfb6-nist800-171-317-least-privilege-privileged-functions
- Section: [Solutions](https://support.icompaas.com/support/solutions) › [NIST SP 800-171 Readiness](https://support.icompaas.com/support/solutions/c_gen_nist800171) › [Access Control](https://support.icompaas.com/support/solutions/folders/f_gen_cgennist800171_accesscontrol)
- Last updated: 2026-05-30
- Publisher: iCompaas, Inc. (https://www.icompaas.com)

NIST800 171 · Control 3.1.7 · Priority: critical · Component: Access Control

### What this control covers

This control prevents non-privileged users from executing privileged functions and mandates logging the execution of such functions. It ensures that only authorized users can perform tasks like system configuration changes, patching, and cryptographic key management, and that all privileged actions are tracked to detect potential misuse or unauthorized access. This control supports the Privileged Function Access Control capability within the Access Control (3.1) family.

### Why it matters

Identity is the new perimeter — most breaches start with a stolen credential or over-privileged account, so this control is one of the single highest-leverage items you can implement.

### How to implement

#### AWS

Use **IAM Identity Center** (formerly AWS SSO) as the single source of truth for human access; back it with your corporate IdP via SAML/SCIM. Avoid IAM users for people — they don't get MFA-by-default, rotation, or session lifetimes. For workloads, use **IAM Roles** (assumed by EC2/Lambda/EKS service accounts via IRSA) and never long-lived access keys. Run [IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer.html) weekly to surface unused access and external-account exposure.

#### Azure

Centralize identity on **Microsoft Entra ID** (formerly Azure AD). Require **Conditional Access** policies: MFA for all admin roles, block legacy auth, location/device gating. Use **Privileged Identity Management (PIM)** to make admin roles just-in-time and time-bound. For Azure resources, prefer **Managed Identities** over service principals with secrets.

#### GCP

Use **Cloud Identity** (or Workspace) as the IdP and **IAM** for resource access. Grant roles at the lowest scope (project > folder > org) using **Workload Identity Federation** for CI/CD and **service accounts** for workloads — never download service-account keys when avoidable. Enable **Policy Intelligence** recommenders to right-size privileges and detect dormant identities.

#### Google Workspace

Enforce **2-Step Verification** (preferably hardware keys for admins) for the entire org, set session length to ≤ 12 hours, and disable less-secure-app access. Use **Context-Aware Access** levels to restrict admin sign-in by IP/device posture. Provision and de-provision users via **SCIM** from your HRIS so leavers lose access on day one.

#### GitHub

Require **SSO + SCIM** from your IdP on the organisation; enforce **2FA** org-wide and use **fine-grained PATs** (or, better, GitHub Apps) instead of classic tokens. Restrict **outside collaborators**, require signed commits on protected branches, and use **OIDC** from Actions to short-lived AWS/GCP/Azure credentials rather than stored secrets.

#### Zoho Mail

Make **two-factor authentication** mandatory for all users (TOTP, OneAuth, or YubiKey) in _Admin Console → Security_. Configure **SAML SSO** against your IdP and disable password-based logins for admins. Use **role-based privileges** (Admin / Spam Moderator / Mail Account Admin) and review the _Login history_ report monthly for anomalies.

### Evidence to collect

-   `identity_scan` — See the iCompaas Evidence library for the canonical source for this evidence type.

Identity analytics (Okta, SailPoint, Access Analyzer) demonstrates least-privilege. Focus: Least Privilege - Privileged Functions.

### Quick checklist

-   Access — Management / Privilege
-   Least — Management / Privilege
-   Access Control — Management / Privilege
-   Configuration — Management / Privilege
-   Authorized — Management / Privilege
-   System — Management / Privilege

### Related articles on this site

-   [NIST 800-171 3.1.7 Prevent non-privileged users from executing privileged functions and capture the execution of such functions in audit logs.](https://support.icompaas.com/support/solutions/articles/62000229229-nist-800-171-3-1-7-prevent-non-privileged-users-from-executing-privileged-functions-and-capture-the-e)
-   [CMMC 2.0 AC.3.018 Prevent non-privileged users from executing privileged functions and capture the execution of such functions in audit logs.](https://support.icompaas.com/support/solutions/articles/62000229391-cmmc-2-0-ac-3-018-prevent-non-privileged-users-from-executing-privileged-functions-and-capture-the-ex)
-   [Ensure Access Review is Set Up for External Users in Azure AD Privileged Identity Management (PIM](https://support.icompaas.com/support/solutions/articles/62000229788-ensure-access-review-is-set-up-for-external-users-in-azure-ad-privileged-identity-management-pim)
-   [NIST 800-171 3.1.2 Limit system access to the types of transactions and functions that authorized users are permitted to execute.](https://support.icompaas.com/support/solutions/articles/62000229224-nist-800-171-3-1-2-limit-system-access-to-the-types-of-transactions-and-functions-that-authorized-us)

## Related compliance guidance

- [NIST SP 800-171 and CMMC: a practical guide to protecting CUI in the cloud](https://support.icompaas.com/compliance/nist-sp-800-171-rev-3): The CUI requirements CMMC Level 2 assesses, the SPRS score, POA&M rules and the phased DFARS rollout.
- [NIST SP 800-53 Rev. 5: a practical implementation guide for cloud teams](https://support.icompaas.com/compliance/nist-sp-800-53-rev-5): The federal catalogue 800-171 is derived from — useful when a contract also cites a FedRAMP baseline.
