Overview
IAM Access Analyzer should be enabled in every in-scope AWS region so public and cross-account access findings are generated where resources exist.
Why this matters
Access Analyzer is regional. If a region has no analyzer, findings for resources in that region can be missed.
What this control should detect
AWS accounts or connectors where one or more active regions do not have a supported account-level or organization-level analyzer.
Remediation guidance
AWS Remediation
Service-wide fix (recommended): enable an analyzer in every approved AWS region as part of account vending, region enablement, or Control Tower / landing-zone baselines.
When to use service-wide remediation
Use the service-wide path when many accounts or regions are affected. It is faster and prevents the same gap from reappearing when new regions are activated.
Console
- Open IAM in the target region.
- Select
Access Analyzer. - Choose
Create analyzer. - Select
Accountfor a single-account analyzer, orOrganizationif you manage findings centrally for AWS Organizations. - Enter a name and create the analyzer.
- Repeat in every in-scope region.
AWS CLI
Create an account-level analyzer in a region:
aws accessanalyzer create-analyzer \
--region <region> \
--analyzer-name external-access \
--type ACCOUNT
Create an organization-level analyzer in a region:
aws accessanalyzer create-analyzer \
--region <region> \
--analyzer-name org-external-access \
--type ORGANIZATION
Validate that the analyzer exists and is active:
aws accessanalyzer list-analyzers \
--region <region> \
--query 'analyzers[].{name:name,type:type,status:status}'
Operational notes
ORGANIZATIONanalyzers require the right AWS Organizations permissions and are usually created from the management account or a delegated administrator.- AWS allows only one account-level analyzer per analyzer type per account and region, so standardize the analyzer name and rollout process.
References
- https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html
- https://docs.aws.amazon.com/cli/latest/reference/accessanalyzer/create-analyzer.html
- https://docs.aws.amazon.com/IAM/latest/UserGuide/access-analyzer-quotas.html
Query logic
These are the stored checks tied to this control.
IAM Access analyzer is enabled for all regions
Connectors
Covered asset types
Expected check: eq []
AWS140IAM20{...AssetFragment}
AWS