Resource Explorer indexes exist
AWS Resource Explorer has user-owned indexes present in the account. The assessment determines whether at least one index exists in any enabled Region for resource cataloging and search.
Risk
Absent indexes reduce asset visibility, creating blind spots where misconfigured or orphaned resources go unnoticed. This degrades confidentiality (unseen public exposure), integrity (unauthorized changes undetected), and availability (slower containment and recovery), prolonging incident response and enabling lateral movement.
Run this check with Prowler
Run in Prowler Cloudprowler aws --checks resourceexplorer2_indexes_foundRecommendation
Create Resource Explorer indexes in all active Regions and designate an aggregator index for cross-Region search. Apply least-privilege access to views, align with tagging standards, and routinely verify indexing status. This improves inventory accuracy, supports defense-in-depth, and speeds detection and remediation.
Remediation
CLI
aws resource-explorer-2 create-index --region <REGION>Terraform
resource "aws_resourceexplorer2_index" "<example_resource_name>" {
type = "LOCAL" # Critical: creates a local index so the check passes
}NativeIaC
Resources:
<example_resource_name>:
Type: AWS::ResourceExplorer2::Index
Properties:
Type: LOCAL # Critical: creates a local index in this Region so the check finds at least one indexOther
Check Code
from prowler.lib.check.models import Check, Check_Report_AWS
from prowler.providers.aws.services.resourceexplorer2.resourceexplorer2_client import (
resource_explorer_2_client,
)
class resourceexplorer2_indexes_found(Check):
def execute(self):
findings = []
if resource_explorer_2_client.indexes is not None:
report = Check_Report_AWS(
metadata=self.metadata(),
resource={},
)
report.status = "FAIL"
report.status_extended = "No Resource Explorer Indexes found."
report.region = resource_explorer_2_client.region
report.resource_arn = "NoResourceExplorer"
report.resource_id = resource_explorer_2_client.audited_account
report.resource_arn = resource_explorer_2_client.index_arn_template
if resource_explorer_2_client.indexes:
report.region = resource_explorer_2_client.indexes[0].region
report.resource_arn = resource_explorer_2_client.indexes[0].arn
report.status = "PASS"
report.status_extended = f"Resource Explorer Indexes found: {len(resource_explorer_2_client.indexes)}."
findings.append(report)
return findings