skip to content

Platform-Native Controls

A guardrail inside a platform's own API cannot be out-raced or bypassed but speaks only that platform's language; an engine you operate is portable and can judge a change before it exists.

on this pageshow

questions

3

Why can a cloud provider's own built-in guardrail not be bypassed the way a policy engine you deploy can?

level: juniorimportance: must knowfreq 66%

answer

  1. who performs the check, not how good
  2. nothing of yours sits in the path
  3. console, CLI, SDK and pipeline all included
  4. decided while the API authorizes the call

basics

~20 s

A provider-native guardrail is evaluated inside the provider's own control-plane API while it authorizes the request. Every path reaches it — console, CLI, SDK, pipeline — and there is no component of yours to delete, skip or route around.

solid answer

~50 s

The difference is where the decision physically happens. A provider-native guardrail is part of how the cloud's control-plane API authorizes a call: the create request is denied by the same service that would have created the resource, so it applies to the console, the CLI, an SDK script, a pipeline, and to any identity in scope. An engine you deploy is itself a thing in your estate — a workload, a webhook endpoint, a CI step. It only sees what is routed to it, and it can be removed, misconfigured, network-partitioned, or left out of the path entirely. So the guarantee is about *coverage and reachability*, not about being smarter: it is unbypassable because there is nothing to bypass. The only way to lift it is to change the control at the scope where it is attached, a permission you can hold to a few principals and audit.

go deeper

for a junior

Be ready to state where the decision happens: inside the cloud provider's own API as it authorizes the call, not in software you deployed. Then name one path an engine misses, such as a resource created by hand in the console.

for a middle

Explain the failure modes you are removing: an engine that is down, unreachable, deleted, or simply left out of a pipeline definition, plus every caller that never routed through it in the first place.

for a senior

Show that you know the risk relocates rather than disappears. Discuss holding the permission to change the control at its scope, alerting on any change to it, and not confusing preventive with early.

for a principal

Own the argument for why an unbypassable core is worth its rigidity: a small set of controls nobody can route around buys you assurance you can state to an auditor without having to prove that every pipeline in the estate kept its check.

## Two places a guardrail can live Take one rule: *no compute instance in this organisation may have a public IP address*. You can enforce that rule in two structurally different places. **In your own engine.** You run a policy engine and point it at something: a proposed change in a merge request, a rendered infrastructure plan in the build, or an API request intercepted on its way into a platform. The engine is software you deploy, configure, version and operate. **In the provider's control plane.** You express the rule using a guardrail the cloud provider itself offers at an account or organisation scope. The provider's API evaluates it as part of authorizing the `create` call. Nothing of yours is in the path. ## What "unbypassable" actually means It does not mean the rule is stronger, cleverer, or better written. It means two specific things: 1. **Complete coverage of callers.** Anything that can create the resource goes through the provider's API — the web console, a laptop CLI session, a Python SDK script, an infrastructure-as-code apply, a third-party tool with a role in your account, an automation someone wired up last year and forgot. All of them are evaluated. A pipeline gate only sees changes that went through that pipeline; a pre-commit hook only sees the machine it is installed on. 2. **No component you can lose.** An engine you deploy has an availability story: it can crash, its endpoint can be unreachable, its rule bundle can fail to load, its step can be removed from a job definition, its deployment can be deleted by someone cleaning up a namespace. Each of those is a path to "the check did not run". The native control has no such surface — it is not deployed, it is *configured*. ## Where the bypass risk moves to The risk does not vanish; it relocates. A native guardrail is a piece of configuration attached at some scope, and someone can change or detach it. That is the honest answer to "so it really cannot be bypassed?": it can be *removed*, by an identity that holds permission at the scope where it is attached. That relocation is the win. Instead of defending an engine, a network path, a pipeline definition and every team's willingness to keep the step in their job, you are defending one permission held by a handful of principals, and you can alarm on any change to it. It is a much smaller thing to watch. ## Preventive, but not pre-change A common confusion: because native guardrails are strong, people assume they also give early feedback. They do not. A native control decides on the **request**, at the moment the request is made. It is preventive — the resource never exists — but the developer learns the verdict at apply time, from the provider's own error, not while writing the change. An engine reading a proposed change can answer earlier, before any call is made. Those are different properties, and a good answer keeps them apart. ## Out-of-band changes are the practical payoff The realistic failure this closes is not a malicious engineer disabling a webhook. It is ordinary: someone debugging an incident at 2am attaches a public IP by hand in the console "just to get in"; a vendor tool with broad permissions creates something outside your repos; a legacy account nobody has onboarded to the pipeline yet. None of those pass through your engine. All of them are denied by the native control. ## How to say it in an interview Name the location of the decision first — inside the provider's authorization of the call, not in a component you run — then derive the two consequences (every caller, nothing to delete), then volunteer the limit: the control can still be changed by whoever holds permission at its scope, and it gives no verdict before the call is made.

  • Does that coverage also extend to changes made outside your infrastructure-as-code?
    Yes, and that is the main practical payoff. A hand-made change in the web console, a vendor tool holding a role in your account, or an account that was never onboarded to your pipeline never reaches an engine you deploy, but all of them go through the provider's API and are evaluated by the native guardrail.
  • If nobody can route around it, who can actually remove a provider-native guardrail?
    An identity with permission at the scope where the guardrail is attached, typically an organisation or account-management scope. That is the point: the attack surface collapses from an engine, a network path and every pipeline definition down to one permission held by a few principals, which you can restrict tightly and alarm on.
  • Is a native guardrail preventive or detective?
    Preventive. It denies the call, so the non-compliant resource never exists. That is different from a control that scans what already exists and reports drift afterwards, where there is an exposure window between creation and discovery. Preventive does not mean early, though — the feedback still arrives only when the request is made.

A native control is the lock built into the door frame; an engine you deploy is a guard you post outside the door. The guard can call in sick, be sent to the wrong door, or be told to go home. The lock is part of the building.

saying these in an interview costs you the question

  • Says a pipeline gate is equally unbypassable
  • Assumes native means it also checks before the change exists
  • Thinks nobody at all can remove a native control
  • Confuses being unbypassable with being expressive
  • Calls it detective because the resource is checked at create time

context

open as a page

What does a provider-native cloud control cost you compared with the same rule in your own policy engine?

level: middleimportance: should knowfreq 51%

basics

~20 s

You give up the pre-change verdict, the wording of the denial, the policy language itself, portability to another provider, and the ability to unit-test the rule locally in CI. You buy coverage and unbypassability with all of that.

open as a page

Your cloud provider's native control already blocks public IPs; should you duplicate that rule in your own engine?

level: seniorimportance: nice to knowfreq 34%

basics

~20 s

Usually yes, but only as a pre-flight duplicate that gives earlier, better-worded feedback. The native control stays the enforcement; the duplicate is advisory, never proof of compliance, and must handle plan values that are unknown until apply.

open as a page