Check provider logo

VPC endpoint service allows only trusted principals or none

vpc_endpoint_services_allowed_principals_trust_boundaries

Severityhigh
Servicevpc
by Prowler

VPC endpoint services are assessed for their allowed principals, comparing each to a configured set of trusted accounts and identifying any untrusted principals or a wildcard * present in the allowlist.

Risk

Untrusted or wildcard principals can create PrivateLink connections to your service, eroding segmentation. This enables unauthorized data access (confidentiality), abuse of internal APIs (integrity), and excess load on backends (availability).

Run this check with Prowler CLI

prowler aws --checks vpc_endpoint_services_allowed_principals_trust_boundaries

Recommendation

Apply least privilege: restrict allowed principals to vetted account IDs and avoid *. Maintain a central trust registry, enforce separation of duties with approval workflows, and review entries regularly. Use defense in depth with strong service authentication and continuous configuration monitoring.

Remediation

Native IaC
Terraform
Other
  1. Open the AWS VPC console and go to Endpoint services
  2. Select the endpoint service (<example_resource_id>)
  3. Open the Allowed principals tab and click Edit allowed principals
  4. Remove all entries that are not trusted, including any wildcard (*)
  5. Optionally leave the list empty (no principals) or keep only trusted account IDs/ARNs
  6. Save changes

Source Code

Resource Type

AwsEc2VpcEndpointService

References