Control: 1 AWS AppSync API caches should be encrypted at rest
Description
This control checks whether an AWS AppSync API cache is encrypted at rest. The control fails if the API cache isn't encrypted at rest.
Data at rest refers to data that's stored in persistent, non-volatile storage for any duration. Encrypting data at rest helps you protect its confidentiality, which reduces the risk that an unauthorized user can access it.
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_1
Snapshot and share results via Turbot Pipes:
powerpipe loginpowerpipe control run aws_compliance.control.foundational_security_appsync_1 --share
SQL
This control uses a named query:
select arn as resource, case when (api_cache ->> 'AtRestEncryptionEnabled')::bool then 'ok' else 'alarm' end as status, case when (api_cache ->> 'AtRestEncryptionEnabled')::bool then title || ' encryption at rest enabled.' else name || ' encryption at rest disabled.' end as reason , region, account_idfrom aws_appsync_graphql_api;