AWS SWF 子工作流无法安排 lambda 任务

AWS SWF child workflow can't schedule lambda task

SWF 子工作流无法安排 lambda 任务,即使它们是使用有权访问 lambda 的角色创建的。任务失败并出现以下错误。

ASSUME_ROLE_FAILED

经过几个小时的调试,我找出了问题所在。

访问 swf api 的用户需要权限才能执行操作 "iam:PassRole"。使用以下策略使其正常工作。

{
"Version": "2012-10-17",
"Statement": [
    {
        "Sid": "Stmt14762077XXXXX",
        "Effect": "Allow",
        "Action": [
            "iam:PassRole"
        ],
        "Resource": [
            "arn:aws:iam::XXXXXXXXX:role/XXXXXXRole"
        ]
    }
]
}