turbot/steampipe-mod-aws-compliance

Control: 6 AWS AppSync API caches should be encrypted in transit

Description

This control checks whether an AWS AppSync API cache is encrypted in transit. The control fails if the API cache isn't encrypted in transit.

Data in transit refers to data that moves from one location to another, such as between nodes in your cluster or between your cluster and your application. Data may move across the internet or within a private network. Encrypting data in transit reduces the risk that an unauthorized user can eavesdrop on network traffic.

Remediation

You can't change the encryption settings after enabling caching for your AWS AppSync API. Instead, you must delete the cache and and recreate it with encryption enabled. For more information, see Cache encryption in the AWS AppSync Developer Guide.

Usage

Run the control in your terminal:

powerpipe control run aws_compliance.control.foundational_security_appsync_6

Snapshot and share results via Turbot Pipes:

powerpipe login
powerpipe control run aws_compliance.control.foundational_security_appsync_6 --share

SQL

This control uses a named query:

select
arn as resource,
case
when (api_cache ->> 'TransitEncryptionEnabled')::bool then 'ok'
else 'alarm'
end as status,
case
when (api_cache ->> 'TransitEncryptionEnabled')::bool then title || ' encryption in transit enabled.'
else name || ' encryption in transit disabled.'
end as reason
, region, account_id
from
aws_appsync_graphql_api;

Tags