Back to Checks
aws

AWS account is subscribed to an AWS Premium Support plan

trustedadvisor_premium_support_plan_subscribed
Service: trustedadvisorSeverity: low
OfficialBuilt-inVerified
Categories:resilience
Resource Type:Other

AWS account is subscribed to an AWS Premium Support plan (e.g., Business or Enterprise)

Risk

Without Premium Support, critical incidents face slower response, reducing availability and delaying containment of security events. Limited Trusted Advisor coverage lets misconfigurations persist, risking data exposure and privilege misuse. Lack of expert guidance increases change risk during production impacts.

Run this check with Prowler

Run in Prowler Cloud
Run
prowler aws --checks trustedadvisor_premium_support_plan_subscribed

Recommendation

Adopt Business or higher for production and mission-critical accounts.

  • Integrate Support into IR with defined contacts/severity
  • Enforce least privilege for case access
  • Use Trusted Advisor for proactive hardening
  • If opting out, ensure an equivalent 24/7 support and escalation path

Remediation

Other

1Sign in to the AWS Management Console as the account root user
2Open https://console.aws.amazon.com/support/home#/plans
3Click "Change plan"
4Select "Business Support" (or higher) and click "Continue"
5Review and confirm the upgrade

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_premium_support_plan_subscribed(Check):
    def execute(self):
        findings = []
        if (
            trustedadvisor_client.premium_support
            and trustedadvisor_client.audit_config.get(
                "verify_premium_support_plans", True
            )
        ):
            report = Check_Report_AWS(
                metadata=self.metadata(),
                resource=trustedadvisor_client.premium_support,
            )
            report.status = "FAIL"
            report.status_extended = (
                "Amazon Web Services Premium Support Plan isn't subscribed."
            )
            report.region = trustedadvisor_client.region
            report.resource_id = trustedadvisor_client.audited_account
            report.resource_arn = trustedadvisor_client.account_arn_template
            if trustedadvisor_client.premium_support.enabled:
                report.status = "PASS"
                report.status_extended = (
                    "Amazon Web Services Premium Support Plan is subscribed."
                )
            findings.append(report)
        return findings