All checks
Medium APIGateway · regional

API Gateway REST API stages should be configured to use SSL certificates for backend authentication

Checks that the REST API stage has a client certificate, which API Gateway presents on calls to HTTP integrations so the backend can verify they come from API Gateway. Only the stage setting is read: it protects nothing until the backend requests and verifies the certificate.

service
APIGateway
severity
Medium
scope
evaluated in every region

How to fix it

  • Can break clients: Some backend servers do not support API Gateway's SSL client authentication and answer with a certificate error, so test the integration before switching production.

In the console

API Gateway → APIs → the REST API → Stages → the stage → Stage details

Client certificates
A certificate made with Generate certificate, or an imported or private ACM certificate
Client certificate
That certificate; a generated one is valid for 365 days, so rotate it before it expires

With the AWS CLI

aws apigateway update-stage --rest-api-id <rest-api-id> --stage-name <stage-name> --patch-operations op=replace,path=/clientCertificateId,value=<client-certificate-id>

With Terraform

resource "aws_api_gateway_stage" "this" {
  rest_api_id           = var.rest_api_id
  stage_name            = var.stage_name
  deployment_id         = var.deployment_id
  client_certificate_id = aws_api_gateway_client_certificate.this.id
}

See which of your accounts this check is failing on.

Book a live scan