turbot/steampipe-mod-aws-compliance

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 login
powerpipe 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_id
from
aws_appsync_graphql_api;

Tags