Back to Checks
Trusted Advisor check has no errors or warnings
trustedadvisor_errors_and_warnings
Service: trustedadvisorSeverity: medium
OfficialBuilt-inVerified
Resource Type:Other
AWS Trusted Advisor check statuses are assessed to identify items in warning or error. The finding reflects the state reported by Trusted Advisor across categories such as Security, Fault Tolerance, Service Limits, and Cost, indicating where configurations or quotas require attention.
Risk
Unaddressed warnings/errors can leave misconfigurations that impact CIA:
- Confidentiality: public access or weak auth exposes data
- Integrity: overly permissive settings allow unwanted changes
- Availability: limit exhaustion or poor resilience triggers outages They can also increase unnecessary cost.
Run this check with Prowler
Run in Prowler CloudRun
prowler aws --checks trustedadvisor_errors_and_warningsRecommendation
Adopt a continuous process to remediate Trusted Advisor findings:
- Prioritize
errorthenwarning - Assign ownership and SLAs
- Integrate alerts with workflows
- Enforce least privilege, segmentation, encryption, MFA, and tested backups
- Reassess regularly to confirm fixes and prevent regression
Remediation
Other
1Sign in to the AWS Console and open Trusted Advisor
2Go to Checks and filter Status to Warning and Error
3Open each failing check and click View details/Recommended actions
4Apply the listed fix to the affected resources
5Click Refresh on the check and repeat until all checks show OK
Check Code
from prowler.lib.check.models import Check, Check_Report_AWS
from prowler.providers.aws.services.trustedadvisor.trustedadvisor_client import (
trustedadvisor_client,
)
class trustedadvisor_errors_and_warnings(Check):
def execute(self):
findings = []
if trustedadvisor_client.premium_support:
if trustedadvisor_client.premium_support.enabled:
if trustedadvisor_client.checks:
for check in trustedadvisor_client.checks:
if (
check.status != "not_available"
): # avoid not_available checks since there are no resources that apply
report = Check_Report_AWS(
metadata=self.metadata(), resource=check
)
report.status = "FAIL"
report.status_extended = f"Trusted Advisor check {check.name} is in state {check.status}."
if check.status == "ok":
report.status = "PASS"
findings.append(report)
else:
report = Check_Report_AWS(
metadata=self.metadata(),
resource={},
)
report.status = "MANUAL"
report.status_extended = "Amazon Web Services Premium Support Subscription is required to use this service."
report.resource_id = trustedadvisor_client.audited_account
report.resource_arn = trustedadvisor_client.account_arn_template
report.region = trustedadvisor_client.region
findings.append(report)
return findings