Check ID:
Provider: AWS
Service:
Severity: LOW
Categories:
Resource type:
accessanalyzer_enabledProvider: AWS
Service:
accessanalyzerSeverity: LOW
Categories:
identity-access, trust-boundariesResource type:
OtherWhat this check verifies
IAM Access Analyzer presence and status are evaluated per account and Region. An analyzer inACTIVE state indicates continuous analysis of supported resources and IAM activity to identify external, internal, and unused access.
Risk
Without an active analyzer, visibility into unintended public, cross-account, or risky internal access is lost. Adversaries can exploit exposed S3, snapshots, KMS keys, or permissive role trusts for data exfiltration and escalation. Unused permissions persist, enlarging the attack surface. This degrades confidentiality and integrity.Recommendation
Enable IAM Access Analyzer across all accounts and active Regions (or organization-wide). Operate on least privilege: continuously review findings, remove unintended access, and trim unused permissions. Use archive rules sparingly, integrate reviews into change/CI/CD workflows, and enforce separation of duties on policy changes.Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws accessanalyzer create-analyzer —analyzer-name example_resource —type ACCOUNT
References
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-manage-external.html
- https://aws.amazon.com/iam/access-analyzer/
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-getting-started.html
- https://docs.aws.amazon.com/access-analyzer/latest/APIReference/API_CreateAnalyzer.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-create-external.html
- https://docs.aws.amazon.com/access-analyzer/latest/APIReference/Welcome.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-create-internal.html
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = accessanalyzer_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks