IntegrAuth Academy
Identity, security and practical AI — free, from zero. Byte-sized lessons, real diagrams, hands-on labs, zero fluff. Two programs, each with its own exam and certificate.
English is hard? Your browser can translate this page into Tamil, Telugu, Kannada, Malayalam or Hindi. Tech words stay in English so you learn the real names.
How?
- Chrome on phone: ⋮ menu → Translate
- Chrome on computer: right-click → Translate to …
- Edge: the translate icon in the address bar
Least privilege for machines
Something fails and time is short. Someone gives the app admin, just to make it work. Months later the app is breached, and the attacker gets admin too. Your goal: give a machine only the power its job needs.
- A workload's permissions are the ceiling of a breach.
- Name the exact action and the exact resource.
- Watch real use, then trim. Watch long enough.
- Split strong abilities across identities.
- A guardrail caps the maximum. Use just-in-time elevation for risky power.
The admin shortcut that becomes the breach
Think of a night cleaner who only needs the store room. The office hands over the master key "to avoid trouble". A thief steals the key ring, and every room is open. Bot A is that cleaner.
Machines do not complain about too much access, so over-granting stays hidden. Bot A needs to read one queue and write one bucket. But it was created with admin:*, because that stopped the errors fastest.
A workload's permissions are the ceiling on what an attacker can do after taking it over. Least privilege means the ceiling matches the job exactly. A wildcard policy such as *:* allows all actions on all resources. An admin role for a service that reads one table is just as bad.
A bad dependency takes over Bot A. Bot A holds admin:*. So the attacker deletes the production database and creates a new admin user. With a right-sized Bot A, it holds only queue:read and storage:write on one bucket. The attacker can read a queue and write a bucket. The breach happens. The disaster does not.
Grant the verb and the noun, nothing more
A good machine permission is specific in two ways. It names the action (the verb: read, not *). It names the resource (the noun: one invoice folder, not every account). See RBAC, ABAC & ReBAC. There are two ways to get there:
🌱 Start small, add on denial
Grant nothing. Run the workload. Each time it is denied, add that one permission. It is slow for a day and correct for good.
✂️ Watch real use, then trim
This is permissions right-sizing. Let a broad policy run. Record which actions are really used over weeks. Delete the rest. Cloud tools can write the tight policy from access logs.
Watch long enough to see rare jobs. A report that runs once a quarter will not show up in a two-week log.
Separation of duties, even for robots
People get separation of duties. The person who asks for a payment cannot also approve it. Machines need it too. The workload that writes the audit log must not be able to delete it. The deploy job must not read customer data. Split strong abilities across different identities. Then no single stolen credential can do everything.
Guardrails: a limit that a bad policy cannot pass
People make mistakes, so add a backstop. A permission boundary sets the most that any identity in a scope may ever do. It is also called a guardrail. The real permission is the overlap of what is granted and what the guardrail allows.
Say someone adds admin:* by mistake. The guardrail can still forbid delete-all and create-admin across the whole organization. Those actions never go through.
admin:* cannot pass through it.Kill standing privilege with just-in-time elevation
Standing privilege is power that sits there day and night, waiting to be stolen. JIT elevation gives a risky ability only for the minutes a task needs it, then removes it. It is the machine version of break-glass and privileged access: request, approve, use, expire.
Least privilege does not stop a breach. It decides how bad the breach is. "The attacker owns everything" becomes "the attacker owns one bucket for five minutes".
Go deeper: CIEM: finding unused permissions at scale
CIEM stands for Cloud Infrastructure Entitlement Management. These tools list every identity and permission across your accounts and clouds. They compare what was granted with what was used, based on logs, and suggest cuts. It is the "watch real use, then trim" method, run as a product.
Judge any such tool on two points. Does it use real logs? Does a person review each cut before it is applied?
Go deeper: trim safely
Test a trimmed policy in a safe environment first. If your cloud has an audit mode, use it before you enforce. Keep a fast way back, and record who approved each cut.
🧪 Interactive lab — enable JavaScript to play with this one.
Score a workload's over-privilege against real usage with MCP Scopes. Grade a trust or resource policy for wildcard risk with IAM Trust Check.