Skip to main content
Insecure IAM is the root of many cloud security failures
  • Cloud Security

Insecure IAM is the root of many cloud security failures

Christian Heselton & Joe Durbin

24 Mar 2026 6 Min Read

TL;DR  

  • Weak IAM can undermine every other cloud security control 
  • In one Azure assessment, managed identity abuse led to Key Vault secrets being exposed 
  • Control plane access can be enough to bypass protections without public exposure 
  • Common issues include excessive privileges, weak MFA, and poor role assignment 
  • Least privilege, short-lived credentials, and stronger access controls reduce the risk 

Introduction

Identity and Access Management, or IAM, is one of the most important security controls in any cloud environment. If it is weak, attackers can often work around the protections that sit on top of it. 

We see this regularly in cloud penetration tests. Once an attacker has access to compromised credentials, they can often make changes that undermine other security controls. In some cases, that means modifying network security rules to expose services that were previously protected. Databases, key management systems, and secrets stores can all become reachable through a single API call if the wrong identity has the wrong permissions. 

That is why insecure IAM so often sits at the centre of serious cloud security incidents. It is not just another configuration issue. It is the control that governs access to almost everything else. 

Why IAM goes wrong 

IAM is difficult to manage well. 

Cloud environments are dynamic by nature. New services appear, teams change, applications scale, and permissions evolve over time. At the same time, organisations need to manage a growing mix of human users, service accounts, managed identities, roles, policies, and trust relationships. 

The result is often a compromise between security and convenience. Permissions get granted too broadly. Authentication controls are not applied consistently. Role assignments become hard to track. Over time, these gaps create opportunities for attackers to gain access, escalate privileges, and move further into the environment than they should. 

A real example from an Azure assessment 

During an Azure assessment, we were able to abuse managed identities to extract privileged cloud credentials. 

None of the target resources were publicly accessible. On paper, the environment looked reasonably locked down. In practice, the identities available to us gave control-plane access that let us modify the firewall rules protecting an Azure Key Vault. 

We added our own IP address to the allowlist and then accessed the vault contents. That allowed us to dump all stored secrets, including credentials for the client’s Azure B2C environment. From there, the attack surface expanded significantly. 

This is a good example of how cloud compromise does not always start with an exposed service. Sometimes the route in is through the control plane. If IAM is too permissive, an attacker does not need direct access to a sensitive resource. They only need permission to change the rules around it. 

Common IAM issues we see in cloud assessments 

Unrestricted resource deployment 

Allowing users to deploy resources directly through the cloud portal, CLI, or SDK without peer review reduces organisational control. It increases the chance of misconfiguration, encourages shadow IT, and can give attackers a simple route to create or expose infrastructure once they have access. 

Overly privileged roles 

Users and services often end up with more permissions than they need. This can happen through direct assignments, inherited policies, or a combination of role-based and resource-based access. When those identities are compromised, the attacker inherits that same reach. 

Insecure role assignments 

Granting permissions directly to individual users instead of managing access through groups, roles, or policy makes IAM harder to audit and maintain. It also increases the chance of hidden admin access building up over time. 

Cross-environment access 

Poorly controlled trust relationships between subscriptions, accounts, or projects can give attackers a path to move laterally. In Azure, AWS, and GCP alike, cross-environment access needs tight control. Otherwise, compromise in one area can become compromise across many. 

Weak authentication controls 

Weak password policies, poor conditional access design, and inconsistent multi-factor authentication all make account compromise more likely. High privilege roles without strong authentication are especially dangerous. 

Quick wins to reduce IAM risk 

Limit direct access to cloud environments 

Use deployment pipelines and peer review to enforce security checks wherever possible. That gives organisations more control than allowing broad direct access through portals and command line tooling. 

Apply least privilege properly 

Grant only the permissions needed for each role. Separate administrative activity from day-to-day user activity with dedicated admin accounts. Where possible, start with no access and add permissions gradually based on a real requirement. 

Use short-lived authentication 

Prefer managed identities, service accounts, and short-term tokens over static credentials. Long-lived access keys and hard-coded secrets create unnecessary risk and are often left in place for too long. 

Enforce strong authentication 

Require multi-factor authentication for privileged accounts and apply conditional access policies to reduce the likelihood of account takeover. 

Enable logging and monitoring for IAM activity 

Track role changes, policy edits, permission grants, and authentication events using cloud-native logging and alerting. If IAM changes are not being monitored, it becomes much harder to spot abuse early. 

Implement just-in-time access 

Reduce standing privilege by granting elevated access only when it is needed. Approval workflows and step-up authentication can make this much harder for attackers to abuse. 

Rotate credentials regularly 

Automate credential rotation wherever possible so that access keys, passwords, and tokens are not left unchanged for long periods. 

IAM failures rarely stay contained 

The danger with IAM weaknesses is not just initial access. It is what that access allows an attacker to do next. 

A single over-permissioned identity can be enough to expose secrets, weaken network controls, create persistence, or pivot across environments. Once that happens, the rest of the cloud security stack may still be technically present, but it is no longer doing its job. 

That is why IAM deserves much more attention than it often gets. In the cloud, access is everything. If identities are not properly controlled, attackers do not need to break through every defence. They can simply ask the platform to let them in.