DEV Community

David Boggs
David Boggs

Posted on Originally published at adaptiveips.com

Least Privilege Is a Policy Until the System Can Say No

Least Privilege Is a Policy Until the System Can Say No

A technician needs to change one DNS record. The ticket is approved. The access request says "least privilege." The technician receives membership in a group that can edit the entire zone.

The workflow followed policy. The permission did not match the task.

This is where many least-privilege programs stop: someone has justified a role, approved its assignment, and perhaps scheduled a review. But the running system still permits substantially more than the work requires.

For a buyer, the useful question is not "Do you support least privilege?" It is:

"What prevents someone authorized for this task from performing a different one?"

That question separates an access policy from an enforced boundary. It also gives you a practical way to evaluate a vendor without accepting "role-based access control" as a complete answer.

A role is not necessarily a task boundary

Role-based access control, or RBAC, assigns permissions through roles. It is useful for organizing access, and it can represent fine-grained permissions. There is nothing inherently incompatible between RBAC and action-level authorization.

The problem is how roles are often defined.

A "help desk" role might allow password resets across a broad user population. A "DNS operator" role might allow changes throughout a zone. Those permissions can remain available between tickets, even when the technician has no current reason to use them.

An approval process does not narrow those permissions unless the system enforces the approved scope. A ticket saying "change this record" does not stop a credential from changing another record.

Action-level authorization moves the boundary closer to the requested work. Instead of granting general authority over a resource, the system permits a defined operation against an allowed target, with constraints on its inputs.

Consider a hypothetical DNS request:

Allowed operation: update an A record
Allowed target: app.example.com in the example.com zone
Allowed value: the address authorized for this change
Enter fullscreen mode Exit fullscreen mode

The important property is what happens when the caller changes that request. Can they update a different hostname? Change a different record type? Supply an unapproved address?

A narrow screen is not enough. The underlying authorization must reject requests outside the allowed operation.

Action scope and access duration are also separate dimensions. A short-lived administrator session still permits broad actions while it is active. An action console can enforce narrow operations while leaving permission to invoke them available indefinitely. Buyers need to evaluate both.

Turn the claim into a testable contract

Before a demo, pick one routine administrative task. Avoid starting with the vendor's entire permission model.

Write down what an authorized technician should be able to do. Then write down the nearest things they should not be able to do.

For a password reset, you might allow resets for a designated employee population while excluding privileged accounts. For file-lock release, you might allow work on specified file servers while excluding other systems.

These are your requirements, not assumptions about what every product supports.

A useful evaluation worksheet looks like this:

Boundary Write down before the demo
Caller Which person or group may invoke the action?
Operation What exact operation is permitted?
Target Which objects or systems are eligible?
Inputs Which values or options are accepted?
Duration When should invocation permission stop?
Evidence What should the record of execution show?

Use this worksheet to run the following checks in a controlled test environment.

1. Test the nearest forbidden action

Ask the vendor to demonstrate the permitted task, then attempt a closely related forbidden task using the same identity.

For DNS, that could mean changing a neighboring record. For password resets, it could mean targeting an excluded account. A useful denial test stays close enough to the approved workflow that it exposes a real boundary.

Watch where enforcement occurs.

A disabled button or hidden menu demonstrates a user-interface restriction. It does not establish that the backend will reject the request. Have the vendor exercise the relevant service endpoint or another supported test path with an out-of-scope request.

The acceptance condition is concrete: the unauthorized operation must not execute.

Record the denial, but also verify the target's state. An error message alone is weak evidence if a change could already have occurred.

2. Inspect inputs that can widen the action

An operation can have a narrow name and still expose broad authority through its parameters.

"Remediate vulnerability" sounds specific. If the caller can provide arbitrary shell commands, choose any script, or modify execution arguments without restriction, the effective permission may be general remote execution.

Ask to see the action's input contract. Which fields does the caller control? Which values are fixed or validated by the service? Can a target identifier point outside the approved system set?

Test a modified request that widens one of those inputs.

Do not assume every variable input is dangerous. Technicians need useful choices. The issue is whether those choices remain inside the intended authority boundary.

A credible answer explains how the backend validates the request. "Our technicians know which values to enter" describes training, not enforcement.

3. Find the authority behind the console

A console may prevent technicians from receiving administrator credentials while still using a privileged identity to perform work on their behalf.

That can be a meaningful improvement. It also moves the trust boundary to the service executing the action.

Ask how that service authenticates to the target systems and how its authority is restricted. Find out who can change action definitions or expand the allowed target set.

Two permissions deserve separate attention:

  • Permission to invoke an existing action.
  • Permission to create or modify what that action does.

If the same technician can rewrite an approved action into an arbitrary command, the action boundary offers little protection against that technician.

You do not need a universal architecture requirement here. You need to understand where powerful authority resides, who controls it, and what a compromise of that component would expose.

4. Test revocation separately from task scope

A tightly scoped action can still be available to the wrong person for too long.

Remove a test user's permission while they have an authenticated session. Attempt the action again. Ask the vendor to explain when revocation takes effect, including any caching or session behavior.

If your requirements include ticket-bound or time-limited authorization, test those explicitly. Close the test ticket or let the authorization expire, then retry.

Do not treat these controls as automatic consequences of "least privilege." A product may constrain operations well without connecting authorization to individual tickets.

That may be acceptable for recurring help desk work. For less frequent, higher-impact changes, you may require an additional approval or time boundary. Write that distinction into your evaluation instead of relying on the label.

5. Reconstruct the change from its audit record

"Every action is logged" leaves substantial room for interpretation.

After the test, ask a colleague who did not watch the demo to explain what happened using the available records.

Can they identify the human caller, rather than only the backend service account? Can they determine the requested operation and target? Does the record distinguish a submitted request from a successfully completed change?

For asynchronous operations, look for a way to connect the request to its eventual outcome. For failures, determine whether the record makes partial execution visible.

Also ask who can modify or delete records and how your team would retrieve them during an investigation.

Logging requires judgment. Recording passwords, reset secrets, or other sensitive input can create a new exposure. Define what investigators need while excluding values that should not appear in logs.

A log is useful when it supports reconstruction, not merely when it exists.

6. Exercise the exception path

Routine demonstrations tend to show valid input and a healthy target. Operational pressure arrives when those conditions disappear.

Test what happens when the requested target is unsupported or the backend fails. Ask how technicians handle work that has no approved action.

An exception path that routinely hands out broad administrator access can undermine the narrower workflow. That does not mean emergency access must disappear. It means you should evaluate its authorization and accountability separately.

Also ask what it takes to add or revise an action. Someone must maintain the operation as systems change, validate it, and manage failures. A tightly constrained console is less useful if the approved action catalog cannot keep up with actual work.

The buyer's question is whether the operational cost is manageable enough that staff will consistently use the controlled path.

Decide based on the demonstrated boundary

After the evaluation, summarize results in plain statements:

Demonstrated:
The test identity could reset passwords for the allowed population.
The same identity could not reset an excluded privileged account.

Unresolved:
Revocation behavior during an existing session was not demonstrated.

Required before acceptance:
Provide and test the expected revocation behavior.
Enter fullscreen mode Exit fullscreen mode

This is more useful than assigning a vendor a generic "least privilege" checkmark.

Action-level controls also have limits. An authorized operation can still be a bad decision. Updating the correct DNS record to the wrong approved address can cause an outage. Releasing a file lock can disrupt active work.

Authorization constrains who can do what. It does not replace change validation or recovery planning.

Where our own product lands on this

Foyer, the Least-Privilege Action Console in Adaptive IP Services' Hub division, applies this approach to administrative work.

IT staff receive a web console that runs only approved operations against allowed systems, without shared admin credentials or root. Every action is logged. The stated patterns include self-service DNS record changes, file-lock release, password resets, and vulnerability remediation.

Those are the product's stated boundaries. Use the same evaluation above to examine them. Requirements such as ticket integration, time-limited grants, or particular audit-record fields should be verified directly; they should not be inferred from the phrase "least privilege."

For your next evaluation, bring one real task and its nearest forbidden variation. Make the vendor show both the successful operation and the rejected request. That is where a policy claim becomes something you can inspect.

Disclosure: I work at Adaptive IP Services, a Dallas based IT and security firm.

David J. Boggs
Founder and CEO, Adaptive IP Services

Foyer, Least-Privilege Action Console

Top comments (0)