AWS Step Functions の「グローバルサービスプリンシパル states.amazonaws.com、またはリージョン別サービスが、指定されたロールを引き受ける権限がありません」というエラーをトラブルシューティングするにはどうすればよいですか?

最終更新日: 2021 年 8 月 16 日

AWS Step Functions ステートマシンを実行しようとすると、「グローバルサービスプリンシパル states.amazonaws.com、またはリージョン別サービスが、指定されたロールを引き受ける権限がありません」というエラーが表示されます。 この問題をトラブルシューティングする方法を教えてください。

解決方法

ステートマシンが引き受ける AWS Identity and Access Management (IAM) ロールに、必要な信頼関係が設定されていることを確認します。

IAM ロールの信頼ポリシーで、次のいずれかが、信頼できるエンティティとしてリストされている必要があります。

  • AWS リージョン別エンドポイント: states.<region>.amazonaws.com
  • AWS グローバルエンドポイント:states.amazonaws.com

ステートマシンが引き受ける IAM ロールの信頼ポリシーを確認および編集するには、「ロールの信頼ポリシーの変更 (コンソール)」の手順に従います。詳細については、「AWS Step Functions が IAM と連携する方法」を参照してください。

注:StartExecution API アクションが呼び出されると、Step Functions は、アクションの実行中にステートマシンに関連付けられた IAM ロールを使用します。ステートマシンが引き受ける IAM ロールがアクションの実行中に変更された場合、IAM ロールはその API アクションで使用されません。

ステートマシンが引き受ける IAM ロールがまだ存在することを確認します

1.    Step Functions コンソールを開きます。

2.    左側のナビゲーションペインで、[ステートマシン] を選択します。

3.    ステートマシンの名前を選択します。

4.    [詳細] セクションで、[IAM ロール ARN] の下にあるリンクを選択します。IAM ロールが存在する場合、IAM コンソールでロールが開きます。IAM ロールが存在しない場合、IAM コンソールで [エンティティが見つかりません] というページが開きます。

ステートマシンが引き受ける IAM ロールが存在しない場合は、必要なアクセス許可を含む別の名前の新しい IAM ロールを作成します。次に、作成した新しい IAM ロールを引き受けるようにステートマシンを設定します。詳細については、「AWS Step Functions が IAM と連携する方法」を参照してください。

重要: 作成する新しい IAM ロールは、以前の IAM ロールとは異なる名前にする必要があります。


この記事は役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?