Table: aws_apigatewayv2_apis

This table shows data for Amazon API Gateway v2 APIs.

https://docs.aws.amazon.com/apigatewayv2/latest/api-reference/apis.html (opens in a new tab)

The composite primary key for this table is (account_id, arn).

Relations

The following tables depend on aws_apigatewayv2_apis:

Columns

NameType
_cq_iduuid
_cq_parent_iduuid
account_id (PK)utf8
regionutf8
arn (PK)utf8
idutf8
nameutf8
protocol_typeutf8
route_selection_expressionutf8
api_endpointutf8
api_gateway_managedbool
api_idutf8
api_key_selection_expressionutf8
cors_configurationjson
created_datetimestamp[us, tz=UTC]
descriptionutf8
disable_execute_api_endpointbool
disable_schema_validationbool
import_infolist<item: utf8, nullable>
tagsjson
versionutf8
warningslist<item: utf8, nullable>

Example Queries

These SQL queries are sampled from CloudQuery policies and are compatible with PostgreSQL.

API Gateway REST and WebSocket API logging should be enabled

(
  SELECT
    DISTINCT
    'API Gateway REST and WebSocket API logging should be enabled' AS title,
    r.account_id,
    'arn:' || 'aws' || ':apigateway:' || r.region || ':/restapis/' || r.id
      AS resource_id,
    CASE
    WHEN s.logging_level NOT IN ('"ERROR"', '"INFO"') THEN 'fail'
    ELSE 'pass'
    END
      AS status
  FROM
    view_aws_apigateway_method_settings AS s
    LEFT JOIN aws_apigateway_rest_apis AS r ON s.rest_api_arn = r.arn
)
UNION
  (
    SELECT
      DISTINCT
      'API Gateway REST and WebSocket API logging should be enabled' AS title,
      a.account_id,
      'arn:' || 'aws' || ':apigateway:' || a.region || ':/apis/' || a.id
        AS resource_id,
      CASE
      WHEN s.default_route_settings->>'LoggingLevel' IN (NULL, 'OFF')
      THEN 'fail'
      ELSE 'pass'
      END
        AS status
    FROM
      aws_apigatewayv2_api_stages AS s
      LEFT JOIN aws_apigatewayv2_apis AS a ON s.api_arn = a.arn
  );

Find all API Gateway V2 instances (HTTP and Webhook) that are publicly accessible

SELECT
  'Find all API Gateway V2 instances (HTTP and Webhook) that are publicly accessible'
    AS title,
  account_id,
  arn AS resource_id,
  'fail' AS status
FROM
  aws_apigatewayv2_apis;