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 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.
- CMMC 2.0 AC.3.018 Prevent non-privileged users from executing privileged functions and capture the execution of such functions in audit logs.
- 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.