IAM role with s3 listing and get privileges can be assumed by unexpected principals

Severity
High
Service
IAM
Check ID
IAM_UNEXPECTED_S3_EXFIL_PRINCIPAL

What this check finds

The ability to list s3 buckets, and get objects from them, should be restricted largely to people as compromising an EC2 with this privilege could lead to exfiltration of data.

Passing looks like: No S3-exfil role assumable by unexpected principals.

How to fix it

Remove broad S3 List/Get permissions from roles assumable by EC2 or services, or scope the S3 permissions to specific bucket ARNs. Update the trust policy to restrict principals.

AWS console

IAM → Roles → Permissions → 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 s3 listing and get privileges can be assumed by unexpected principals
FrameworkControls
NIST SP 800-53 Rev5 (Moderate)
  • AC-4 Information Flow Enforcement
  • AC-6 Least Privilege
NIST Cybersecurity Framework 2.0
  • PR.AA-05 Access permissions and authorizations are enforced with least privilege
  • PR.IR-01 Networks and environments are protected from unauthorized logical access and usage
ISO/IEC 27001:2022 Annex A
  • A.8.2 Privileged access rights
  • A.8.12 Data leakage prevention
  • A.8.22 Segregation of networks

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