skip to content

Control-Plane Audit Records

The control-plane audit record is often the only durable account of who assumed which role and changed what. Interviewers ask because the identity inside it is a role rather than a person.

on this pageshow

explore

questions

4

What does a cloud control-plane audit entry prove about an admin action, and what does it not?

level: juniorimportance: must knowfreq 72%

answer

  1. the platform's own account, not the host's
  2. written on the far side of the API
  3. credential accepted, not person present
  4. stops at the API boundary
  5. may outlive the resource entirely

basics

~20 s

A control-plane audit entry proves an authenticated API request reached the platform, which identity presented credentials, from where, and whether the platform allowed it. It proves nothing about who was at the keyboard or what happened inside the workload.

solid answer

~50 s

The control plane is the administrative API of the platform: create an instance, attach a policy, add a project member, create a pod. Every such call produces an audit entry written by the provider, on the far side of the API, carrying a timestamp, the calling identity, source address, client user agent, the action and target, and the outcome including denials. So it proves a credential was accepted and what the platform did with the request. It does not prove a person acted — credentials live in scripts, pipelines and stolen key files as often as in a browser — and it says nothing about activity inside the resource: it records that a pod was created, never what the container then executed. Its unique value is survival: when the node, pod or instance is gone, the control-plane entry is often the only account of it left.

go deeper

for a junior

Be ready to name the fields an entry carries — time, identity, source, action, target, outcome — and to say plainly that a credential being accepted is not the same as a person acting.

for a middle

An interviewer expects you to explain why the provider-side record resists host-level tampering, and where its boundary sits: the API call, not the workload behind it.

for a senior

Show that you treat control-plane records as primary evidence in ephemeral estates, and that you verify retention and collection coverage before reading silence as an absence of activity.

for a principal

Own the argument that control-plane audit coverage and retention are a prerequisite for being able to investigate a cloud estate at all, and that they must be decided before an incident, not during one.

## What the control plane is Every managed platform splits into a **control plane** and the workloads it runs. The control plane is the API you administer the platform through — launch a virtual machine, attach a policy to a role, add a member to a project, create or delete a Kubernetes pod, rotate a key. The workload is what then runs: processes, containers, application code. Every control-plane call is an API request, and the platform writes an audit record for it: AWS CloudTrail, Azure activity and directory audit logs, Google Cloud Audit Logs, the Kubernetes API server audit log. As a defender you should read these as **the platform's own account of an administrative action**. ## What one entry actually carries Schemas differ, but the field families are the same everywhere: | Family | What it holds | | --- | --- | | Time | when the request was received, and often when it completed | | Identity | the authenticated principal — a user, a role session, a service account, a workload identity | | Source | the source IP address and a self-reported client user agent | | Action | the operation name and the target resource | | Outcome | success, or the denial and its error code | Two properties make this source unusually good. First, the record is written **by the provider**, not by the host you are investigating, so an intruder holding root inside your instance cannot edit or delete it the way they can clear a local log. Second, **denials are recorded too**, so a burst of access-denied entries against a single identity is itself a finding. ## What it proves - That a **credential was accepted** by the platform's authentication layer for the named identity. - That the platform **received** a specific request against a specific resource. - What the platform **did** with it: performed it, or refused it and why. ## What it does not prove - **That a human acted.** An identity is a credential holder. The same role or service account is used by deployment pipelines, cron jobs, vendor integrations and stolen key files. Turning "identity X called DeleteVolume" into "person Y deleted the volume" is a separate piece of work, not something the record hands you. - **Anything inside the workload.** The entry says a pod was created; it does not say what the container executed. It says an instance was launched; it does not say what ran on it. That comes from process telemetry collected inside the workload, which is a different source with different gaps. - **Reads of the data inside a resource.** Control-plane records cover operations on the resource; access to the contents typically requires a separate resource-level access log that is often not enabled. - **Intent.** A destructive-looking call is equally consistent with an authorised operator working a change ticket, which is why a control-plane alert so often resolves to a benign true positive: the detection was correct about the behaviour and the behaviour was authorised. - **That the client is what it says it is.** The user agent is self-reported by the caller and can say anything. ## Why this source carries disproportionate weight now Modern estates are ephemeral. A node is scaled away, a pod restarts onto a different host, a build container lives for forty seconds. By the time an alert reaches a queue there may be nothing left to collect from the machine at all. In that world the control-plane entry stops being supporting evidence and becomes **the primary and sometimes the only surviving account** of what existed, who asked for it and when — which is why the first question about any cloud or container finding should be whether the corresponding control-plane records were retained, not whether the host can still be examined. ## How to answer in an interview State the proof and the limit in the same breath: *an authenticated request reached the API, the platform accepted or refused it, and the record survives the resource — but a credential is not a person and the entry stops at the API boundary.*

  • Why is a control-plane audit record often more trustworthy than a log pulled off the affected host?
    Because the platform writes it outside the compromised boundary. An intruder with root on an instance can clear or forge that host's local logs, but they would need control-plane permissions on the logging configuration itself to touch the provider-side record. That does not make it complete — it only covers API calls — but what is there is far harder to tamper with.
  • An alert fires on a control-plane call that deleted a production resource. What is your first move?
    Identify the calling identity and whether it is human-held or a workload credential, then check for a matching change or deployment. Most of these close as benign true positives: an authorised operator or a pipeline doing its job. Only when no authorised owner claims it does the entry become the start of an intrusion timeline.
  • Does the absence of a control-plane entry for an action mean the action never happened?
    No. It means no audited API call was recorded. The action could have happened inside a workload without touching the control plane, could belong to an event category that is not captured by default, or could postdate a collection gap. Confirm the source was actually recording over the window before treating silence as evidence.

It is the building's door-badge log. It reliably records which badge was presented at which door and whether it opened; it does not record who was holding the badge or what they did once inside the room.

saying these in an interview costs you the question

  • Treating the named identity as proof a specific person acted
  • Expecting the entry to show commands run inside the instance
  • Assuming the record covers reads of the data inside a resource
  • Trusting the user agent field as an authenticated fact
  • Saying no entry means the action did not occur

context

open as a page

At Metadata audit level, a Kubernetes entry shows a create on pods/exec into production — what can you establish?

level: middleimportance: should knowfreq 52%

basics

~20 s

That an authenticated identity was allowed to open an exec session into a named pod and container, when and from where, plus the command argv in the request URI. Nothing typed inside the session is audited.

open as a page

An audit entry names an assumed-role session, not a person — how do you prove who acted?

level: seniorimportance: should knowfreq 48%

basics

~20 s

Walk the chain backwards. The session identifier in the entry links to the role-assumption call that created it, and that call's own identity is the caller. Repeat for each hop until you reach an identity authenticated by a human login.

open as a page

You reset a compromised cloud admin, yet privileged API calls continue — what do you hunt in control-plane audit?

level: seniorimportance: nice to knowfreq 36%

basics

~20 s

Hunt every identity-creating and credential-adding event made inside the compromise window: new access keys, secrets or certificates added to an existing application or service principal, new service accounts, and roles newly trusted by an outside party.

open as a page