Check ID:
Provider: AWS
Service:
Severity: MEDIUM
Categories:
Resource type:
stepfunctions_statemachine_logging_enabledProvider: AWS
Service:
stepfunctionsSeverity: MEDIUM
Categories:
loggingResource type:
AwsStepFunctionStateMachineWhat this check verifies
AWS Step Functions state machines are configured to emit execution logs to CloudWatch Logs via a definedloggingConfiguration with a level set above OFF.
Risk
Without execution logs, workflow failures and anomalies are undetectable, increasing MTTR and risking silent data loss. Missing audit trails weaken integrity oversight and complicate forensics, enabling misuse of invoked services to go unnoticed and creating compliance gaps.Recommendation
Enable CloudWatch logging on all state machines at an appropriatelevel (e.g., ERROR or ALL) and send logs to a protected log group. Apply least privilege to log write/read, set retention, and avoid sensitive data unless required using includeExecutionData. Use X-Ray tracing for defense in depth.
Remediation
- CLI
- Terraform
- Native IaC
- Dashboard steps
aws stepfunctions update-state-machine —state-machine-arn <state-machine-arn> —logging-configuration file://logging-config.json
References
- https://docs.aws.amazon.com/step-functions/latest/dg/logging.html
- https://docs.aws.amazon.com/securityhub/latest/userguide/stepfunctions-controls.html#stepfunctions-1
- https://support.icompaas.com/support/solutions/articles/62000233757-ensure-step-functions-state-machines-should-have-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 = stepfunctions_statemachine_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