skip to content

Platform Access Model

How a caller proves what it is to the platform and what that proof buys it: principals, attached permissions and short-lived credentials. Probed because one over-broad grant undoes the rest.

on this pageshow

questions

page 1 of 2

A workload on a rented machine stores no platform key anywhere, yet its API calls are authorized — where does its credential come from?

level: juniorimportance: must knowfreq 62%

answer

  1. nothing on disk, yet calls succeed
  2. the platform hands it over at runtime
  3. identity attached to the machine
  4. a local endpoint only that box reaches
  5. short-lived set, refreshed before expiry

basics

~20 s

The platform issues it on demand. An identity is attached to the machine, and a credential endpoint reachable only from that machine hands the workload a short-lived credential set, which is replaced before it expires.

solid answer

~40 s

An identity is attached to the machine as configuration when the machine is created, and the platform exposes a small HTTP endpoint at a fixed link-local address that only code on that machine can reach. The workload's client library reads that endpoint and receives a credential set — an identifier, a secret and a session token — with an expiry measured in hours. Nothing is written to disk, nothing is baked into the image, and no person ever handles the value, so there is no static key to distribute or rotate. The library re-reads the endpoint before expiry, so the refresh is invisible to application code. What you manage instead is the identity attached to the machine and the permissions on it; the credential itself is a derived, disposable artefact.

code

pseudocode · 13 lines
pseudocode
credential = cache.get("platform")

if credential is missing or (credential.expiresAt - now) < refreshMargin:
    response = httpGet(localCredentialEndpoint + "/credentials")
    credential = {
        identifier:   response.identifier,
        secret:       response.secret,
        sessionToken: response.sessionToken,
        expiresAt:    response.expiresAt
    }
    cache.put("platform", credential, until: credential.expiresAt - refreshMargin)

signRequest(outgoingCall, credential)

go deeper

for a junior

Recall the shape: an identity is attached to the machine, the platform exposes a local endpoint only that machine can reach, and the workload reads a short-lived credential from it. Nothing secret lives on disk.

for a middle

Explain the mechanics: what the endpoint returns, that the set carries an expiry, that the client library caches and refreshes with a margin, and why the attachment is configuration rather than a stored value.

for a senior

Show the operational consequences: an authorization failure that is really an expiry-and-clock problem, a workload that dies on a transient endpoint read, and the fact that detaching or regranting is now your revocation path.

for a principal

Frame the trade the mechanism makes. Distribution and rotation of secrets disappear, and in exchange the machine boundary becomes an identity boundary — which is a decision about deployment topology, not about credentials.

## What is attached to the machine When you create a machine on a cloud platform you can attach a **workload identity** to it — a principal the platform defines, with permissions granted to it, referenced from the machine's configuration record. The attachment is a pointer, not a value. Nothing secret is copied into the machine, into its image, or into any file the machine can read. Take a disk image of the running box, open it, and there is no key in it. The credential the workload actually signs its calls with is **derived from that attachment at runtime**, by the platform, on demand. ## The local credential endpoint Providers that rent you machines expose the same construct under different names: a small HTTP service reachable from the machine at a **fixed link-local address** — an address valid only on the local link, never routed. The platform's own host agent answers it, out of band from your private network. Two properties define it: - It is **reachable only from the machine itself**. There is no route to it from your private address range, from a peered network, or from the internet. - In its simplest form, **locality is the authorization**: the endpoint asks for nothing beyond the request having arrived from that machine. That is the whole elegance of the design and the whole of its exposure, which is why providers later added a request handshake and a reply hop limit on top of it. ## What comes back, and for how long A read of the credential path returns a small document — a handful of values and the moment they stop working: | Field | What it is | |---|---| | identifier | the non-secret half, which appears in request signatures and in platform-side records | | secret | the signing material, never sent on the wire in a normal signed request | | session token | the value telling the platform this is a derived session rather than a standing key | | expiry | the timestamp after which the set stops being accepted, usually hours away rather than days | The exact lifetime is set by the platform and by how the identity was configured. Treat it as short and never hard-code a number. ## Who refreshes it Application code almost never calls the endpoint directly. The platform's client library does, and the loop is always the same: 1. Check the cached credential. 2. If there is none, or its expiry is closer than a safety margin, read the endpoint again. 3. Cache the new set until its own expiry minus that margin. 4. Sign the outgoing call with whatever is cached. The margin matters more than it looks. Without it, a long-running call can be signed with a credential that lapses before the platform validates it, and you get an authorization failure that looks like a permissions bug and is really a clock. Failure to reach the endpoint deserves deliberate handling too: it is a local dependency, and a workload that treats one failed read as fatal will restart itself over a blip that a retry would have covered. ## What you manage instead "No key on disk and nothing to rotate" removes a real class of work, and it is easy to hear it as "nothing to manage". What replaces rotation is: - **The attachment.** Which identity sits on which machine is now a first-class configuration decision, reviewed like a grant, because changing it changes what every process on that box can do. - **The permissions on that identity**, which are what the derived credential carries. The credential is disposable; the grant behind it is not. - **Expiry as the revocation story.** You do not replace the value. You detach the identity, change the grant, or wait out the lifetime — a different operational reflex from swapping a key, and one worth rehearsing before you need it. - **The endpoint's own settings** — whether the hardened request path is required, what the reply hop limit is, and whether the endpoint should answer on that machine at all. The mental model to keep is three separate things: the **identity** is the durable object you design and review, the **credential** is a short-lived artefact the platform mints from it, and the **endpoint** is the delivery mechanism between them. Being able to pull those three apart, and say which one you would change for a given problem, is most of what this question tests.

  • What happens if the credential expires while a long call is still in flight?
    The call was signed with whatever the library held when it started, so an already-lapsed credential is rejected as an authorization failure rather than being refreshed mid-request. That is why libraries refresh ahead of expiry with a safety margin: the margin exists to make sure no request is signed with a credential that will lapse before the platform validates it. The recovery is to refresh and retry, not to widen the grant.
  • If nothing is stored on the machine, what is actually left to review?
    Three things: which identity is attached to which machine, what that identity is permitted to do, and what else runs on that machine and can therefore read the same credential. Rotation is replaced by expiry, but attachment becomes a control in its own right — moving a machine to a wider identity is a permissions change that leaves no trace in the application's own configuration.

saying these in an interview costs you the question

  • Says the key must be baked into the machine image
  • Thinks the credential is permanent once fetched
  • Claims the credential endpoint is reachable from the internet
  • Confuses the attached identity with the credential it issues
  • Treats one failed endpoint read as fatal and restarts the workload
open as a page

In a cloud platform's access model, what is a principal, and how do human, group and workload principals differ?

level: juniorimportance: must knowfreq 70%

basics

~20 s

A principal is the identity a platform authenticates and names when it decides whether a call is allowed: a person's login, a workload such as a batch job or service, or a group that holds grants for the humans inside it.

open as a page

A long-lived platform access key is found in a public repository — why is issuing a replacement key not the first move?

level: juniorimportance: must knowfreq 72%

basics

~20 s

Creating a new key does not disable the old one. Revoke the exposed credential first so it stops authenticating immediately, then issue replacements, then read back what the leaked credential actually called before it was stopped.

open as a page

Why do engineers sign in to a production cloud account through the company directory instead of each holding a local platform login?

level: juniorimportance: must knowfreq 68%

basics

~20 s

Federated workforce logins keep one copy of each person, in the company directory: cloud access follows group membership, and disabling the directory account cuts every federated sign-in at once. Local platform logins are extra credentials nobody remembers to delete.

open as a page

A team can create workloads and attach any existing identity to them, but holds no administrator permission — why is that grant administrator access anyway?

level: middleimportance: must knowfreq 58%

basics

~20 s

Attaching an identity to a workload means running your own code as that identity. If any stronger identity can be attached, the team can launch code that borrows its permissions, so the attach grant is worth the strongest identity it reaches.

open as a page

A search indexer's grant allows every action on every resource — what does narrowing it by action, by resource and by condition each buy?

level: middleimportance: must knowfreq 70%

basics

~20 s

Each axis cuts a different dimension of blast radius: actions limit what the caller may do, resources limit what it may touch, conditions limit the circumstances in which the grant applies. Narrowing one leaves the other two wide.

open as a page

A grant can sit on the calling identity or on the resource being called — which side has to allow the call?

level: middleimportance: must knowfreq 76%

basics

~20 s

An identity-attached grant travels with the caller and cannot name a principal, because the principal is whatever it is attached to. A resource-attached grant lives with the thing being called and names the principal explicitly. Inside one account either side may allow; across an account boundary both normally must.

open as a page

Your ad-hoc analytics jobs share one long-lived platform key kept in a config file — why can nobody say how many copies exist?

level: middleimportance: must knowfreq 62%

basics

~20 s

Copying a credential leaves no trace. The platform records calls that presented the key, never who holds it, and every use — a clone, a build, a log line, a pasted message — creates another copy nobody counted.

open as a page

What can a cloud account's founding owner credential do that even a full administrator identity in that account cannot?

level: middleimportance: must knowfreq 54%

basics

~20 s

The founding owner credential is the identity a cloud account was created with, and the platform reserves a short list of account-level actions for it — closing the account, changing its registration and billing details, and recovering from a permission configuration that locked everyone else out.

open as a page

You will rewrite the indexer's wildcard grant from thirty days of recorded calls — what can that window miss, and how do you cover it?

level: seniorimportance: must knowfreq 58%

basics

~20 s

A usage window shows what was called, never what is needed. It misses work that did not run inside it — periodic jobs, failure and recovery paths, rarely-taken branches. Cover it with a window longer than the longest business cycle, a declared list of rare operations, and a watched rollout.

open as a page

Your machine's local credential endpoint is reachable from a link-preview feature that fetches any caller-supplied URL — what does the attacker get?

level: seniorimportance: must knowfreq 66%

basics

~20 s

The machine's whole credential set — identifier, secret and session token — in plain text, usable from anywhere until it expires. Nothing binds it to the machine, so the attacker then calls the platform directly as that workload.

open as a page

Your nightly job fails writing to another team's object store, yet the same write works from your own session — what do you check first?

level: seniorimportance: must knowfreq 58%

basics

~20 s

Check which principal the failed write actually ran as. Your session and the job are two different principals, so the grants that covered you need not cover it — and across an account boundary the store's owner must name the job's identity, which no change on your side can supply.

open as a page

A training fleet on your own hardware reads platform-held data using one static key copied to every node; what changes when the platform instead trusts the fleet's identity provider?

level: seniorimportance: must knowfreq 65%

basics

~20 s

Each node stops holding anything worth stealing. It asks its own issuer for a signed assertion and exchanges that for a short-lived platform credential per call, while the platform's trust sits on the issuer rather than on a secret you distributed.

open as a page

A retired feature's grant is still attached to a live workload — why does nobody remove it, and what does it cost?

level: middleimportance: should knowfreq 46%

basics

~20 s

Removal is all downside for whoever does it: an outage if they are wrong, no visible reward if they are right, and usually no way to prove nothing still calls it. The cost is standing access with no remaining function, unmonitored precisely because nothing legitimate uses it.

open as a page

A batch job shares a rented machine with your checkout service — what identity does the local credential endpoint give the batch job?

level: middleimportance: should knowfreq 46%

basics

~20 s

The same one the checkout service gets. The credential endpoint answers a machine, not a process or a local user, so everything running on that box receives the machine's identity and its full set of permissions.

open as a page

What does an explicit deny in a platform permission model do that simply not granting the permission does not?

level: middleimportance: should knowfreq 48%

basics

~20 s

Not granting produces an implicit deny, which any later allow overturns. An explicit deny is a rule that outranks every allow on either side, so it survives someone else adding a grant — and only editing or removing the deny itself undoes it.

open as a page

When a cloud platform trusts an outside identity provider for a workload, what does the platform store and what does it not?

level: middleimportance: should knowfreq 52%

basics

~20 s

The platform stores only a registration: which outside issuer it will accept, how narrowly, and which platform identity a matching caller may take on. It stores no secret belonging to the caller and nothing to rotate.

open as a page

A team's principal is allowed to update the permission document attached to itself; how does that single grant become full administrator access?

level: seniorimportance: should knowfreq 46%

basics

~20 s

Write access to the permission system is write access to your own limits: the principal appends an allow for every action, or attaches a stronger document to itself, and is administrator on the next call. Nothing else in the estate had to change.

open as a page

A support group may issue new credentials for existing identities but may not edit any permission — what does that grant actually reach?

level: seniorimportance: should knowfreq 42%

basics

~20 s

It reaches everything every identity it may issue for can do. Issuing credentials is authentication material, not authorization, so no permission changes anywhere — the holder simply authenticates as a stronger principal and acts as it.

open as a page

A credential endpoint answers only requests carrying a token obtained by a prior write — which property of a forged fetch does that exploit?

level: seniorimportance: should knowfreq 40%

basics

~10 s

That a forged fetch is one-shot and shape-constrained. The attacker controls a URL, not the method and not the headers, and cannot carry a value returned by one request into the next one.

open as a page

A six-hour data pipeline run started failing halfway through once session lifetimes were shortened — what is the job doing wrong?

level: seniorimportance: should knowfreq 47%

basics

~20 s

The job resolves its short-lived credential once at start-up and holds those values for the whole process. When the session expires mid-run, every later call is refused for authentication, not permissions. Re-resolve before the expiry the source returned.

open as a page

Your production cloud account keeps a break-glass login for emergencies — what must be true of it before it is safe to keep?

level: seniorimportance: should knowfreq 45%

basics

~20 s

A break-glass login is safe to keep only when it cannot be used quietly: a named trigger, an approval by a second person, a session that expires on its own, an alarm nobody can suppress, rotation afterwards, and a rehearsal recent enough to prove it still works.

open as a page

An engineer left a month ago and their production cloud access still worked — which access review failed, and what evidence would prove it now runs?

level: seniorimportance: should knowfreq 38%

basics

~20 s

The leaver leg of joiner-mover-leaver failed: nothing reconciled the account's own principals back to the company directory, so something created inside the account outlived the person. Evidence is a dated reconciliation naming every principal, its matched owner, the reviewer, and what was removed.

open as a page

Which external callers cannot be moved onto a cloud platform's outside-issuer federation, and what do you do for them instead?

level: seniorimportance: should knowfreq 44%

basics

~20 s

Three kinds: a caller nothing signs for, a caller that cannot reach its issuer and the platform when it needs to act, and a caller whose issuer belongs to someone else. The first two keep a stored credential; the better fix is a component you operate in front.

open as a page

You own a self-service platform where product teams write their own permission documents; what standard keeps a team from granting itself administrator?

level: principalimportance: should knowfreq 38%

basics

~20 s

Name the verb classes that are administrator regardless of how narrow they look — writing permissions, attaching an identity, issuing credentials, taking on an identity — cap every self-service principal with a ceiling it cannot write past, and review reachability rather than documents.

open as a page

Per-resource grants break on every new resource while broader grants stay true — how do you decide where your organisation draws that line?

level: principalimportance: should knowfreq 38%

basics

~20 s

Decide by how the grant is expressed and where the consequence is. Grants scoped by a rule the new resource automatically satisfies stay narrow without maintenance; strictness is then spent on the places where a mistake is unrecoverable, and relaxed where it is not.

open as a page

How would you choose the maximum session lifetime a platform team sets for every workload across an estate?

level: principalimportance: should knowfreq 36%

basics

~20 s

Not as one number. Classify callers by what an expiry costs them and what a leaked credential would cost you, set a short default with a documented ceiling, and grant exceptions that carry an owner and a review date.

open as a page

A principal may take on only one weak temporary identity, which may itself take on a third — why does reviewing each grant separately miss the escalation?

level: seniorimportance: nice to knowfreq 30%

basics

~20 s

Because each hop is narrow and correct on its own, and escalation is a property of the path, not of any single grant. Reachability has to be computed across the whole set; no document names the principal two hops away.

open as a page

How would you turn the claim that a team follows least privilege into a number you can report and trend?

level: seniorimportance: nice to knowfreq 32%

basics

~20 s

Count what is granted against what is exercised. Per principal, the permissions allowed but never used in a window, and the share of principals holding a wildcard on any axis, give two numbers that can be trended, attributed to an owner, and argued with.

open as a page

Setting the credential endpoint's reply hop limit to one blocks which callers on a rented machine, and which does it leave untouched?

level: seniorimportance: nice to knowfreq 27%

basics

~20 s

It blocks anything a routing hop away — a container on an address-translated network, a proxy relaying an outside request, a neighbouring machine — because the reply dies in transit. Code in the host's own network namespace is untouched.

open as a page

showing 1–30 of 32