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 loginpowerpipe 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_idfrom aws_appsync_graphql_api;