Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
appsync_field_level_logging_enabledProvider: AWS
Service:
appsyncSeverity: MEDIUM
Categories:
loggingResource type:
AwsAppSyncGraphQLApiWhat this check verifies
AWS AppSync GraphQL APIs have field-level logging configured at the resolver level. The check looks for log levels ofERROR or ALL to confirm field resolution events are recorded.
Risk
Without field-level logs, resolver access and mutations lack auditability, reducing detection of data exfiltration and tampering (confidentiality and integrity). Limited traces hinder incident response and root-cause analysis, increasing recovery time.Recommendation
- Enable field-level logging at least
ERROR; raise toINFO/DEBUG/ALLonly for troubleshooting. - Enforce least privilege on the logging role.
- Avoid sensitive data in logs; limit verbose content.
- Set retention and consider log sampling to balance visibility and cost.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
References
- https://theburningmonk.com/2020/09/how-to-sample-appsync-resolver-logs/
- https://lumigo.io/blog/how-to-monitor-and-debug-appsync-apis/
- https://docs.aws.amazon.com/securityhub/latest/userguide/appsync-controls.html#appsync-2
- https://docs.aws.amazon.com/appsync/latest/APIReference/API_LogConfig.html
- https://blog.graphbolt.dev/debugging-aws-appsync-apis-with-cloudwatch
- https://support.icompaas.com/support/solutions/articles/62000233678-ensure-aws-appsync-should-have-field-level-logging-enabled
Where this check fires
This check runs on every scheduled scan against your AWS account. Findings appear at Cloud Security → Findings filterable byCheck ID = appsync_field_level_logging_enabled. To re-evaluate after a fix, hit Run now on the account’s schedule under Cloud Security → Schedules — the next scan re-checks this control and marks the finding fixed or keeps it persistent.
← Back to AWS checks