Configuration management can work for a small, simple environment, but it breaks down when access rules become more complex or users change frequently. Teams then have to update code for routine role changes, which is slow, difficult to delegate, and increasingly brittle as the server estate and user base expand.
Why configuration management stops being enough
Configuration management is good at keeping a server in a known state, but user access is not a one-time state problem. It is a lifecycle problem: people join, change role, move teams, need temporary access, and leave. Once the environment stops being small and stable, treating server users as code creates friction every time an entitlement changes.
The real break point is delegation. A configuration file can express a desired end state, but routine access administration needs judgment, approval, and fast exceptions. If every role change requires a code edit and redeploy, access management becomes slower than the business change it is supposed to support.
That is why the approach feels workable in a lab or a tiny estate and brittle in production. The more servers, teams, and user types you have, the more the access model diverges from static configuration. What starts as simple automation turns into a backlog of manual interventions disguised as infrastructure code.
What breaks operationally
The first thing that breaks is change velocity. Access requests that should be handled as routine administration become engineering work, which means waiting for code review, pipeline execution, and change coordination. That delay is tolerable for infrequent changes, but it becomes a bottleneck when access patterns change daily or when temporary access is common.
The second failure is maintainability. Access rules embedded in config are hard to reason about when multiple teams, environments, or exception paths exist. Small edits can have broad consequences, and the person making the change often has to understand both the application of the policy and the server configuration syntax. That raises the chance of drift, accidental overexposure, or broken access.
The third failure is lifecycle handling. User onboarding, offboarding, and privilege reduction are not naturally aligned to server configuration release cycles. If access revocation waits on a code change, the organisation keeps privileges alive longer than necessary. That is especially awkward for shared servers, ephemeral contractors, emergency access, and other cases where access should be fast to grant and fast to remove.
Why access governance needs a separate control plane
Server configuration should describe the system, but user access should be governed as an access control problem. The moment you need frequent role changes, approvals, or revocation, you need a control plane that is purpose-built for permissions rather than a deployment mechanism that happens to touch users. For general access and privilege control, NIST SP 800-53 Rev 5 Security and Privacy Controls is a strong reference point because it separates access control, identification and authentication, audit, and configuration management into distinct control concerns.
This distinction matters because access decisions need to be reviewable and reversible. A healthy model can answer who has access, why they have it, how long it should last, and what happens when the role changes. Configuration management alone tends to answer only what the file says right now, not whether the entitlement still makes sense.
In cloud environments, the cleaner pattern is to keep infrastructure state in configuration management while moving user and privilege decisions into dedicated identity or access workflows. That gives you one place for machine-state consistency and another for access governance, which is much easier to scale and audit.
Risk and Threat Considerations
When access administration is buried inside configuration code, organisations often end up with stale privileges, slow revocation, and too much reliance on a small number of people who understand the code. That creates both operational exposure and security exposure, especially when access changes are frequent or when exceptions become routine.
Failure mechanism: access changes are forced through infrastructure workflows that are too slow and too brittle for day-to-day privilege management, so entitlements stay broader and longer than intended.
Impact: delayed offboarding, excessive standing access, and a higher chance that a routine role change becomes either an outage or an overprivileged account.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST SP 800-53 Rev 5 and CIS Controls v8 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev 5 | AC-2 — Account Management | User lifecycle and access changes are central to the question. |
| AC-6 — Least Privilege | Static config often produces broader access than routine role changes require. | |
| CM-3 — Configuration Change Control | The question contrasts access governance with configuration-driven operations. | |
| Recommendation — Use AC-2 to manage account changes, approvals, and timely removal of access. Apply AC-6 to limit access to the minimum needed for each role. Use CM-3 to control infrastructure changes without conflating them with access decisions. | ||
| ISO/IEC 27001:2022 | A.5.15 — Access control | The issue is separating access rules from server configuration. |
| Recommendation — Implement A.5.15 so access is governed independently from system configuration. | ||
| CIS Controls v8 | CIS-6 — Access Control Management | The core failure is using configuration tools instead of an access-management process. |
| Recommendation — Apply CIS-6 to centralise access management and reduce manual privilege drift. | ||
Practitioner Guidance
What to prioritise: separate immutable server configuration from mutable access governance. If the same workflow is being used for both, the access side is usually the one that will fail first as the environment grows.
What to verify: check whether every routine access action, especially joiner, mover, and leaver events, can be completed without editing server code. If not, the process is already too coupled to scale safely.
Common mistake: assuming automation is the same as control. Automation can enforce a decision, but it does not make the decision model maintainable, delegable, or auditable.
Practitioner takeaway: configuration management is strong for desired state, but it is the wrong backbone for frequent access changes because access is a governance problem first and a deployment problem second.
Related resources from NHI Mgmt Group
- What breaks when organisations rely on DLP, CASB, or posture tools alone to manage data security?
- What breaks when organisations try to govern cloud access with proxies or bastions alone?
- What breaks when organisations try to secure cloud native AI applications with siloed teams and point tools?
- What breaks when organisations try to manage cloud applications with the same tree-based model used for LDAP?