API Gateway stage-to-backend integration has no client certificate

Severity
Low
Service
API Gateway
Check ID
APIGW_NO_CLIENT_CERT

What this check finds

This API Gateway stage does not use a client certificate for backend integration. Without mutual TLS, the backend cannot verify that requests originate from API Gateway.

Passing looks like: API Gateway backend integration uses a client certificate.

How to fix it

Generate a client certificate and associate it with the stage.

AWS CLI

  1. aws apigateway generate-client-certificate
  2. Then attach it to the stage:

    aws apigateway update-stage --rest-api-id API_ID --stage-name STAGE --patch-operations op=replace,path=/clientCertificateId,value=CERT_ID

Names in capitals are placeholders for your own resource. Review a command before you run it.

AWS console

API Gateway → Stage → Settings → Client Certificate.

Compliance controls it is evidence for

A failing result counts against these controls in KloudLytics; a passing one is evidence towards them. How compliance mapping works

Compliance controls mapped to API Gateway stage-to-backend integration has no client certificate
FrameworkControls
NIST SP 800-53 Rev5 (Moderate)
  • IA-2 Identification and Authentication (Organizational Users)
  • SC-8 Transmission Confidentiality and Integrity
NIST Cybersecurity Framework 2.0
  • PR.AA-03 Users, services, and hardware are authenticated
  • PR.DS-02 Data-in-transit is protected
ISO/IEC 27001:2022 Annex A
  • A.8.5 Secure authentication
  • A.8.24 Use of cryptography

Checked on every scan

KloudLytics runs this check each time it scans a connected AWS account, through a read-only role, and lists every affected resource with its region. On Pro and Business a fix is written for the specific resource rather than the general case above. The exact access it needs

More API Gateway checks

All API Gateway checks

Find out what is actually exposed in your AWS environment.

Connect one AWS account and run your first security assessment.

No credit card · Agentless · Read-only