When a company gets compromised, the cinematic image is wrong. The attacker rarely smashes through a firewall. Far more often they sign in, with a password that was phished, reused, or bought for the price of a coffee, and the system waves them through because, as far as it can tell, they are a legitimate user. Identity and access management (IAM) is the set of controls that answers two questions every system has to answer thousands of times a day: who is this? and what are they allowed to do? Get those two answers right and most attacks lose their easiest route in.
The quick version
- Identity is proving who someone (or something) is, that's authentication. Access is what that proven identity is permitted to do, that's authorisation. IAM is the combined system for both.
- Stolen credentials are the workhorse of modern attacks. Verizon's 2024 breach report found stolen credentials have featured in roughly a third of breaches over the past decade, which is why "who gets in" is a leadership problem, not just an IT one.
- Two principles do most of the heavy lifting: least privilege (give each person only the access their job needs) and zero trust (verify every request instead of trusting anyone just because they're "inside the network").
- The cheapest, highest-impact move is multi-factor authentication. Microsoft has reported it blocks over 99.9% of account-compromise attacks, and most organisations still haven't switched it on everywhere.
The idea in depth: authentication, authorisation, and the four jobs of IAM
It helps to separate two words that get used interchangeably and shouldn't be. Authentication is establishing identity, proving you are who you claim to be, classically through something you know (a password), something you have (a phone or hardware key), or something you are (a fingerprint or face). Authorisation is the separate question of what that identity is then allowed to reach. A receptionist and a finance director might both authenticate perfectly well; they should not be authorised to touch the same things. IAM is the system that handles both, plus the unglamorous lifecycle around them, creating accounts when someone joins, adjusting them when they change roles, and (the step everyone forgets) removing them when they leave.
So the practical frame for a leader is four jobs, not one acronym. Joiner: provision the right access on day one. Mover: change it when the person changes roles, and crucially, take away the old access, not just add the new. Leaver: revoke everything the moment they go. Reviewer: periodically check that the access people have still matches the access they need. The "mover" and "reviewer" jobs are where most organisations rot: people accumulate permissions like barnacles across a decade of role changes, and nobody ever scrapes them off. Put a recurring access review on the calendar, quarterly for sensitive systems, and treat "privilege creep" as a real risk, not a tidiness preference.
flowchart LR A(["Request to access
a resource"]) --> B(["Authentication
who are you?"]) B --> C(["Authorisation
what may you do?"]) C --> D(["Access granted
least privilege only"]) B -.->|"fails"| X(["Denied"]) C -.->|"not permitted"| X
Least privilege: the oldest idea that still works
The single most durable principle in this field is also one of the oldest. In 1975, Jerome Saltzer and Michael Schroeder set out a now-classic list of security design principles in "The Protection of Information in Computer Systems", and the one that has aged best is least privilege: "every program and every user of the system should operate using the least set of privileges necessary to complete the job." The logic is brutally simple, you can't misuse access you were never granted, and an attacker who hijacks a low-privilege account can do less damage than one who lands on an admin.
Half a century on, the principle is everywhere in modern security guidance precisely because it limits the blast radius of any single failure. Start from zero and add; never start from "everyone can see everything" and trim. When someone asks for access, the question isn't "why not?", it's "what's the smallest grant that lets you do the job?" That includes standing access to production systems, which is the classic over-grant: many teams now issue it just in time, for a few hours when it's genuinely needed, rather than leaving it switched on permanently.
You can't misuse access you were never granted. Least privilege is the cheapest insurance in security.
An honest limitation. Least privilege is easy to state and hard to live with. Pushed too far, it generates a constant drizzle of access requests, frustrated employees, and shadow workarounds, people sharing logins or stashing data somewhere ungoverned just to get their jobs done. The point isn't to make access painful; it's to make it proportionate. If your least-privilege regime is so strict that staff are routing around it, you haven't secured the system, you've pushed the risk somewhere you can no longer see. Calibrate it against how sensitive the resource actually is.
Zero trust: stop trusting the network
The second big idea is a reaction to how badly the old model aged. For decades, security worked like a castle: a hard perimeter (the firewall) and a soft, trusting interior, once you were "on the network," you were largely trusted. That assumption collapsed the moment work went remote and data went to the cloud, because there is no longer a clean inside and outside. The response is zero trust, a term coined by analyst John Kindervag and later formalised by the US National Institute of Standards and Technology in Special Publication 800-207 (2020). NIST defines it as moving from implicit trust based on network location to continuous, per-request verification, "never trust, always verify." Identity becomes the core control, checked against device health and context on every request, not once at the door.
flowchart TD A(["Old model: castle & moat"]) --> B(["Inside the network
= trusted"]) B --> C(["One stolen login
roams freely"]) D(["Zero trust"]) --> E(["Verify every request
identity + device + context"]) E --> F(["A stolen login is
checked, limited, contained"])
The reason this matters to a leader is in the breach data. Verizon's 2024 Data Breach Investigations Report found stolen credentials have appeared in roughly a third of breaches over the past ten years, the most reliable way in for attackers, ahead of both phishing and exploiting software flaws. In a trust-the-network world, one stolen login is a skeleton key. Under zero trust, that same login is just one signal among several, checked again at every step and confined to least-privilege scope. The point isn't to buy a product labelled "zero trust." It's to stop granting access on the basis of where a request comes from and start granting it on the basis of verified identity plus least privilege, everywhere.
An honest limitation. Zero trust is a strategy, not a switch you flip, and the marketplace has thoroughly muddied it, vendors slap the label on everything. NIST's own document is careful to call it an evolving set of principles you architect toward over time, not a finished product you install. Treat any pitch promising "zero trust in a box" with suspicion; the real work is incremental and mostly about identity hygiene, not a single purchase.
A worked example
Take a mid-sized professional-services firm, call it Harlow & Co, running on a familiar setup: a cloud email and document suite, a finance system, and a client database. (Illustrative scenario throughout; not a real company.) An attacker buys a batch of stolen credentials and finds that one belongs to a Harlow account manager whose password matched. They log in. Because the firm trusts anyone "signed in," that single login opens email, shared drives, and, since the account manager once helped on a finance project and was never de-provisioned, the finance system too. The attacker quietly forwards invoices to a new bank account. Nobody notices for weeks.
Now rerun it with the two principles in place. Multi-factor authentication means the stolen password alone fails, the login is challenged for a second factor the attacker doesn't have, and most of these attacks die right there. Suppose they get past it anyway through a sophisticated phishing kit. Least privilege means the account manager's leftover finance access was stripped in the last quarterly review, so the door to invoices is simply not there. And zero trust means the sign-in from an unrecognised device and country triggers an extra check before anything sensitive opens. The same stolen credential that was a skeleton key in the first telling is, in the second, a key that opens almost nothing.
flowchart TD A(["Stolen password
account manager"]) --> B{"MFA enabled?"} B -->|"No"| C(["Logged in,
trusted everywhere"]) C --> D(["Reaches finance via
leftover access, fraud"]) B -->|"Yes"| E(["Second factor fails
attacker stopped"]) C -.->|"with least privilege"| F(["No finance access
damage contained"])
Nothing in the second telling required a big budget or a security team of twenty. It required MFA switched on everywhere, access reviewed so leftovers got removed, and sign-ins checked for context. That is IAM doing its job, and as cyber risk & incident response planning makes clear, the cheapest breach to handle is the one that never gets past the front door.
Frequently asked questions
What's the difference between authentication and authorisation?
Authentication proves who you are, passwords, a code from your phone, a fingerprint. Authorisation decides what you're allowed to do once you've proven it. They're separate steps: someone can authenticate perfectly (they really are who they say) and still be correctly denied access to a system that's none of their business. Good IAM keeps the two clearly distinct, because conflating them is how people end up with far more access than their identity should warrant.
Is multi-factor authentication really worth the friction?
By the numbers, it's the best return in security. Microsoft has reported that MFA blocks over 99.9% of account-compromise attacks, because a stolen password on its own stops being enough. It isn't perfect, sophisticated attackers can sometimes intercept or fatigue people into approving prompts, but the friction is small and the protection is enormous. If you do one thing after reading this, make it turning MFA on everywhere it isn't already, starting with admin accounts.
Should we still force everyone to change their password every 90 days?
Current guidance says no. NIST's digital identity guidelines (SP 800-63B) recommend against routine periodic password expiry, because forcing frequent changes drives people to weak, predictable patterns (Spring2026!, Summer2026!). Change passwords when there's evidence of compromise, encourage long passphrases, screen them against known-breached lists, and put the saved effort into MFA instead. This is a case where the old "best practice" actively made things worse.
What's "privilege creep" and why does it matter?
It's the slow accumulation of access rights as people move roles without anyone removing the old permissions. After a few years, a long-serving employee can quietly hold the keys to half the organisation, a huge prize if their account is ever compromised, and a temptation if they go rogue. The fix is dull but effective: periodic access reviews where managers confirm each person still needs what they hold, and anything unjustified is removed. Treat it as routine hygiene, like changing the locks when a tenant moves out.
Do small organisations really need all this?
The principles scale down cleanly, and the cheap parts are exactly the high-impact ones. A small firm won't run an enterprise identity platform, but it can turn on MFA, avoid shared logins, give people only the access they need, and remove accounts promptly when someone leaves. Attackers don't skip small organisations, they often prefer them, precisely because the basics are missing. The good news is that the basics are also the affordable bit.
Related in the Toolkit
IAM is one pillar of a broader security posture: it sits alongside how you reason about threats in the first place (security fundamentals & threat modelling) and feeds directly into what you do when something slips through (cyber risk & incident response).
- Security fundamentals & threat modelling, IAM is one control among many; threat modelling tells you where to point it first.
- Data privacy & PII handling (GDPR and equivalents), controlling who can access personal data is half of meeting privacy obligations.
- Data retention, residency & sovereignty, access controls decide who can reach data once you've decided where and how long to keep it.
- Product & data risk, over-broad access is one of the most common data risks a product carries.
- Cyber risk & incident response, when an account is compromised, IAM decides how far the damage can spread.
- Financial statements (P&L, balance sheet, cash flow), the finance systems behind these are exactly the high-value access IAM should guard most tightly.
- Lean, Six Sigma, Kaizen & continuous improvement, joiner/mover/leaver is a process that rewards being streamlined and continuously refined.
- Hosting & cloud architecture, modern IAM and zero trust are largely shaped by how your systems are hosted in the cloud.
Where to go next
- NIST SP 800-207: Zero Trust Architecture (2020), the authoritative, vendor-neutral definition of zero trust; surprisingly readable for a standards document.
- "The Protection of Information in Computer Systems", Saltzer & Schroeder (1975), the original source of least privilege and the design principles that still underpin the field.
- Verizon Data Breach Investigations Report (DBIR), the annual industry read on how breaches actually happen; the recurring lead role of stolen credentials makes the case for IAM better than any vendor can.
- "Implementing Best Practices for Zero Trust", John Kindervag (YouTube), the person who coined the term lays out a practical, step-by-step method, cutting through the marketing noise.