Nested Step Function in a Step Function Unknown Error ...not authorized to create managed-rule
Master System Design with Codemia
Enhance your system design skills with over 120 practice problems, detailed solutions, and hands-on exercises.
Introduction
This error usually appears when a parent AWS Step Functions state machine starts another state machine synchronously and the execution role does not have permission to work with the EventBridge rule that Step Functions uses internally. The phrase not authorized to create managed-rule is a clue that the missing permission is not only states:StartExecution.
In practice, nested workflows are simple when started asynchronously, but synchronous nested workflows need extra permissions. The hidden dependency is what catches most people.
Why Nested Step Functions Need More Than StartExecution
If the parent workflow uses a synchronous integration such as states:startExecution.sync or states:startExecution.sync:2, Step Functions has to wait for the child execution to finish. To do that efficiently, AWS uses EventBridge behind the scenes.
That is why a role with only this permission is not enough:
The parent can start the child, but it cannot create or manage the AWS-managed EventBridge rule needed to observe the child execution lifecycle.
Typical Parent State Definition
A synchronous nested execution often looks like this:
This pattern is valid, but it implies more IAM permissions than an ordinary async states:startExecution call.
Permissions the Execution Role Usually Needs
The execution role for the parent state machine typically needs permission to:
- start the child execution
- describe the child execution while waiting
- sometimes stop the child execution if the parent is canceled or times out
- work with the EventBridge managed rule used by Step Functions
A representative policy looks like this:
Depending on how you manage the environment and cleanup path, you may also need related EventBridge rule-management permissions. The exact least-privilege shape depends on the integration pattern and account setup, but the missing EventBridge actions are the core reason for this error.
Async Nested Workflows Are Different
If you do not need the parent to wait for the child result, an asynchronous nested start is simpler.
In that case, states:StartExecution may be enough because the parent is not waiting on the child with the synchronous integration behavior.
How to Diagnose It Quickly
When you see not authorized to create managed-rule, check three things in order:
- whether the parent uses a synchronous nested Step Functions integration
- which IAM role the parent state machine is actually assuming at runtime
- whether that role has the required EventBridge rule permissions on the managed rule resource
CloudWatch logs and the execution history usually make it clear that the failure happens during orchestration setup, not inside the child workflow logic itself.
Common Pitfalls
- Granting only
states:StartExecutionand assuming that is sufficient for synchronous nested workflows. - Forgetting that
.syncintegrations add hidden infrastructure permissions through EventBridge. - Updating the wrong IAM role because the deployed state machine is using a different execution role than expected.
- Debugging the child workflow definition even though the failure occurs before the child is fully orchestrated.
- Using overly broad permissions to make the error disappear instead of understanding which EventBridge actions are actually required.
Summary
- The error usually means a synchronous nested Step Functions workflow lacks EventBridge managed-rule permissions.
- '
states:StartExecutionalone is not enough for.syncnested executions.' - The parent execution role typically also needs
states:DescribeExecution, possiblystates:StopExecution, and EventBridge rule permissions. - If you do not need to wait for the child result, asynchronous
states:startExecutionavoids this specific requirement. - Focus on the parent workflow's IAM role, not just the child state machine definition.

