CIEM — Cloud Infrastructure Entitlement Management
TL;DR: CIEM tools analyse cloud IAM permissions across AWS, Azure, GCP, K8s to find effective (not just configured) over-privilege. Where CSPM asks “is the bucket public?”, CIEM asks “which 47 humans + 312 service accounts can read the bucket, and which actually do?”. Right-sizing entitlements is the most under-addressed cloud control; CIEM is the operational tool.
What it is
Cloud IAM is staggeringly complex: AWS has 14,000+ actions across 300+ services; Azure has thousands of role definitions; GCP has 9,000+ predefined permissions. Multi-cloud orgs face combinatorial complexity. Most cloud breaches involve over-privileged identities — IAM is the primary attack surface.
CIEM tools:
- Map effective permissions — what can each identity actually do, including indirect (assume role chains, group memberships, federated identities)?
- Measure usage — which permissions are actually exercised vs theoretical
- Recommend reductions — least-privilege policies generated from observed usage
- Detect anomalies — sudden expansion of permissions or first-use of unusual permission
- Track shadow admins — identities with effective admin via subtle paths
Preconditions / where it applies
- Multi-account or multi-cloud environment with non-trivial IAM
- Existing CSPM may have basic IAM findings; CIEM goes deeper
- Compliance contexts requiring least-privilege evidence (SOC 2, ISO 27001, PCI)
Market landscape (2025)
| Vendor | Coverage | Strength |
|---|---|---|
| Wiz | AWS, Azure, GCP, OCI, K8s | CNAPP with strong CIEM; graph-based |
| Microsoft Defender for Cloud (CIEM) | Multi-cloud (Azure-first) | Bundled with Defender, Entra-native |
| Sonrai Security | AWS, Azure, GCP, identity graph | Identity-focused; cross-resource graph |
| Permiso | Multi-cloud + SaaS | Identity behaviour analytics |
| CyberArk Conjur Cloud / Secureworks | Multi-cloud | Identity governance focus |
| Ermetic (now Tenable Cloud Security) | Multi-cloud | Tenable-integrated |
| Britive | Multi-cloud JIT | Just-in-time access focus |
| Saviynt Cloud PAM | Multi-cloud | IGA-extended CIEM |
| AWS IAM Access Analyzer | AWS only | Native + free; policy-level findings |
| GCP Policy Intelligence / IAM Recommender | GCP only | Native + free |
CSPM tools (Prisma Cloud, Lacework, Orca) include CIEM modules; sometimes adequate, sometimes deeper specialty tool needed.
Core concepts
Configured vs effective permissions
Configured — what IAM policy text says. Effective — what the identity can actually do after evaluating all policies, group memberships, role chains, SCPs, deny boundaries.
CIEM computes effective by simulating policy evaluation across the entire identity graph.
Direct vs indirect privileges
Direct — identity has policy granting s3:GetObject on bucket. Indirect — identity can assume role X which can assume role Y which has s3:GetObject. Same outcome.
CIEM follows the assume-role chain.
Toxic combinations
Permissions individually fine, but combined enable escalation:
iam:CreateAccessKey+iam:ListUsers= can create keys for any useriam:PassRole+lambda:CreateFunction= can run code as any roles3:PutObjecton*+s3:GetObjectAclon*= data exfil + tampering- Service-linked role abuse (CVE-class for many services)
Unused permissions
Over a 90-day window, what fraction of granted permissions did the identity actually exercise? Typical results: 5-15% used. CIEM proposes right-sized policy based on usage.
Shadow admin
Identity with effective admin via paths the human owner doesn’t realise:
- Member of group with
*on* - Can assume role with elevated privileges
- Cross-account trust path
Tradecraft
Step 1 — Onboard cloud accounts to CIEM
- Read-only IAM role per cloud account
- Connection to CloudTrail / Activity Logs / Audit Logs
- Inventory of identities (users, groups, roles, service accounts)
Step 2 — Discover identity graph
CIEM ingests:
- Identities (humans + machine)
- Groups + memberships
- Roles + trust policies
- Permission boundaries / SCPs
- Resource policies (bucket policies, etc.)
Builds graph: identity → permissions → resources.
Step 3 — Compute effective permissions
For each identity, simulate IAM evaluation; produce effective permission set.
Step 4 — Observe usage
Ingest CloudTrail / Activity / Audit logs over 30-90 days. Mark each granted permission as “used” or “unused”.
Step 5 — Recommend right-sized policy
CIEM generates least-privilege policy preserving used permissions, removing unused.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// Before: managed policy AmazonS3FullAccess
// After: CIEM recommendation
{
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:ListBucket"
],
"Resource": [
"arn:aws:s3:::app-data-bucket",
"arn:aws:s3:::app-data-bucket/*"
]
}]
}
Step 6 — Test + apply
- Apply policy to dev / staging first
- Monitor for AccessDenied errors over 1-2 weeks
- Promote to prod once stable
Step 7 — Continuous monitoring
- New permissions granted: review
- Permissions expanded without business justification: alert
- First-time use of dormant permission: anomaly
- Identity drift: re-baseline quarterly
Just-in-Time (JIT) access
CIEM + JIT is the modern privilege management pattern:
- Default-deny standing privileges
- Privileged actions require time-bound elevation
- Tools: Britive, Saviynt, Entra PIM, AWS IAM Identity Center session policies, Boundary, Teleport
- Audit trail of every elevation: who, what, when, why
Cloud-specific patterns
AWS
- IAM Access Analyzer for unused access finding (native, free)
- Service Control Policies (SCPs) as deny boundaries at OU level (Control Tower)
- Permission boundaries on roles
- Resource-based policies (S3, KMS, SNS, SQS) layered with identity-based
- Common shadow admin:
iam:PassRole+ service-linked roles
Azure
- Entra ID built-in roles + custom roles
- Privileged Identity Management (PIM) for JIT
- Conditional Access for sign-in conditions
- Managed identities for resources
- Common shadow admin: service principal with
Application.ReadWrite.All
GCP
- IAM Recommender + Policy Intelligence
- Conditional IAM bindings
- Service account impersonation chains
- Hierarchical resource model
- Common shadow admin:
iam.serviceAccountTokenCreatoron broader scopes
Kubernetes
- ClusterRoles + ClusterRoleBindings
- Service Accounts + tokens
- IRSA / Pod Identity for cross-cloud auth
- Common shadow admin: cluster-admin via dangerous CRD operator install
Common implementation pitfalls
- CIEM findings without remediation workflow — discovery without action is shelf-ware
- Mass right-sizing all at once — breaks workloads; one team at a time, monitored rollout
- Ignoring service principals — humans audited, machine identities (often more numerous and privileged) ignored
- CSPM-only without CIEM depth — basic IAM rules miss indirect privilege paths
- Standing privileges normalisation — JIT installed but everyone has standing access “for emergencies”
- Federated identity blind spots — SAML/OIDC-federated users from external IdP appear differently than native identities
Building CIEM without a commercial tool
For smaller orgs, free / OSS options:
- AWS IAM Access Analyzer — generate least-privilege policies (free)
- GCP IAM Recommender — usage-based recommendations (free)
- Azure Defender for Cloud Entitlement — included in Defender CSPM ($)
- PMapper (NCC Group) — open-source AWS IAM graph tool
- Cloudsplaining (Salesforce) — AWS IAM policy assessment
- PolicySentry (Salesforce) — least-privilege AWS policy generator
- Crowbar / Khaos — community AWS IAM right-sizing
Combine native cloud tools + OSS scripts for poor-man’s CIEM. Doesn’t scale to large multi-cloud but works for small environments.
CIEM + ITDR (identity threat detection)
CIEM = right-sizing entitlements (proactive) ITDR = detecting identity attacks in real time (reactive)
Pair both. See itdr-identity-threat-detection-response.
OPSEC for blue team
- Effective-permission expansion = high-fidelity attack signal
- New trust policy granting cross-account access: audit
- Service account credentials suddenly exercising dormant permissions: anomaly
- Federated identity from unusual IdP: alert
- CIEM tool itself = high-priv; protect its IAM role
References
- Wiz CIEM blog — practitioner research
- Microsoft Defender CIEM — Entra Permissions Management
- AWS IAM Access Analyzer
- GCP Policy Intelligence
- Salesforce PolicySentry
- PMapper
- Cloudsplaining
- CSA — CIEM definitions and use cases
See also: cspm-cnapp-dspm-landscape, cloud-iam-misconfig-patterns, aws-iam-enum, aws-assumerole-chains, aws-iam-identity-center-internal-abuse, azure-managed-identity-abuse, gcp-workload-identity-federation-abuse, entra-id-enum, itdr-identity-threat-detection-response, zero-trust-architecture-practitioner, aws-control-tower-governance, azure-landing-zones