web-dev-qa-db-ja.com

提供された役割を引き受ける権限がありません

AWS Step Functionsチュートリアル に従っています。ステートマシンプロセス全体は次のようになります。

enter image description here

私はstep_functions_basic_executionというロールにポリシーAWSLambdaRoleを付けています。ステップ関数のステートマシンがこのロールを使用しています。

私のステップ関数は

{
  "Comment": "A simple AWS Step Functions state machine that automates a call center support session.",
  "StartAt": "Open Case",
  "States": {
    "Open Case": {
      "Type": "Task",
      "Resource": "arn:aws:lambda:us-west-2:829495130000:function:OpenCaseFunction",
      "Next": "Assign Case"
    }, 
    ...
}

対応するOpen CaseLambda関数は

exports.handler = (event, context, callback) => {
    // Create a support case using the input as the case ID, then return a confirmation message   
   var myCaseID = event.inputCaseID;
   var myMessage = "Case " + myCaseID + ": opened...";   
   var result = {Case: myCaseID, Message: myMessage};
   callback(null, result);    
};

実行しようとしたところ、最初のステップで失敗しましたOpen Case

入力は

{
  "inputCaseID": "001"
}

エラーが発生します:

States.TaskFailed

グローバルサービスプリンシパルのstates.amazonaws.comも、リージョナルサービスプリンシパルも、提供された役割を引き受ける権限がありません。

それを修正する方法はありますか?ありがとう

5
Hongbo Miao

そのページのステップ2、3、および4からすべてを再確認します。残念ながら、エラーメッセージは、何が起こっているのかを正確に把握するのに十分な詳細情報ではありませんが、IAMが設定されたものです。

1
Joel Kinzel