title: Invoking AWS Step function from Lambda in python
body: <p>So I am trying to invoke a simple step function I wrote using a Lambda in python. I am using boto3 for this purpose </p>
  
  <pre><code>client = boto3.client('stepfunctions')
      response = client.start_execution(
          stateMachineArn='aws:states:.......',
          name='dev-hassan-pipeline-sf',
          input= json.dumps(returnVal)
      )
  </code></pre>
  
  <p>And I have created an IAM Role which has "AWSStepFunctionsFullAccess" policy </p>
  
  <pre><code>{
      "Version": "2012-10-17",
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "states:*",
              "Resource": "*"
          }
      ]
  }
  </code></pre>
  
  <p>I assign this role to my Lambda, but when I run the lambda I get the following error </p>
  
  <pre><code>An error occurred (AccessDeniedException) when calling the StartExecution operation: User: arn:aws:sts::xxxxxxxx:assumed-role/dev-hassan-role1/dev-hassan-pipeline-lambda is not authorized to access this resource: ClientError
  </code></pre>
  
  <p>dev-hassan-pipeline-lambda is my Lambda's name and dev-hassan-role1 is my role name</p>
  
  <p>Can some one help me out here, what am I doing wrong, why cant I invoke the step function from Lambda as I have given it the permissions it needs</p>