IAM role with admin privileges can be assumed by unexpected principals

Severity
High
Service
IAM
Check ID
IAM_UNEXPECTED_ADMIN_PRINCIPAL

What this check finds

Admins in an account should be assumed by people. This rule detects IAM Roles that have admin privileges which can be granted to EC2s and other services.

Passing looks like: No admin role assumable by unexpected principals.

How to fix it

Restrict the role's trust policy to only allow assumption by specific, expected human principals (not EC2 or broad service principals). Remove admin permissions from roles intended for EC2 instances and replace with least-privilege policies.

AWS console

IAM → Roles → Trust relationships → Edit.

Compliance controls it is evidence for

A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works

Compliance controls mapped to IAM role with admin privileges can be assumed by unexpected principals
FrameworkControls
PCI-DSS v4.0.1
  • 7.3 Access to system components and data is managed via an access control system
NIST SP 800-53 Rev5 (Moderate)
  • AC-6 Least Privilege
NIST Cybersecurity Framework 2.0
  • PR.AA-05 Access permissions and authorizations are enforced with least privilege
ISO/IEC 27001:2022 Annex A
  • A.8.2 Privileged access rights

Checked on every scan

KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs

More IAM checks

All IAM checks

Find out what is actually exposed in your AWS environment.

Connect one AWS account and run your first security assessment.

No credit card · Agentless · Read-only