Step Functions で Workflow Studio を使用して実行ロールを設定する - AWS Step Functions

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Step Functions で Workflow Studio を使用して実行ロールを設定する

Workflow Studio を使用して、ワークフローの実行ロールを設定できます。すべてのStep Functionsステートマシンには AWS Identity and Access Management (IAM) ロールが必要です。このロールは、 AWS サービス および リソースに対してアクションを実行したり、サードパーティーの を呼び出したりするためのアクセス許可をステートマシンに付与しますAPIs。このロールは、実行ロールと呼ばれます。

実行ロールには、ステートマシンが AWS Lambda関数を呼び出す、 AWS Batchジョブを実行する、Stripe を呼び出すことを許可するIAMポリシーなど、各アクションのポリシーが含まれている必要がありますAPI。 Step Functions では、次の場合に実行ロールを指定する必要があります。

  • ステートマシンは、コンソールで、 AWS SDKsまたは CreateStateMachine AWS CLI を使用して作成しますAPI。

  • 状態は、コンソールでテストするか AWS SDKs、 TestState AWS CLIを使用してテストしますAPI。

自動生成されたロールについて

Step Functions コンソールでステートマシンを作成すると、Workflow Studio は必要な IAM ポリシーを含む実行ロールを自動的に作成できます。Workflow Studio はステートマシンの定義を分析し、ワークフローの実行に必要な最小特権でポリシーを生成します。

Workflow Studio では以下の IAM ポリシーを生成できます。

Workflow Studio は、AWS SDK統合 AWS サービス を使用して他の を呼び出すタスク状態のIAMポリシーを生成できません。

ロールを自動生成する

  1. Step Functions コンソールを開き、[ステートマシンの作成] を選択します。

    既存のステートマシンを更新することもできます。ステートマシンを更新する場合は、ステップ 4 を参照してください。

  2. [テンプレートを選択] ダイアログボックスで [空白] を選択します。

  3. 選択 を選択して、 で Workflow Studio を開きますデザインモード

  4. [設定] タブを選択します。

  5. [アクセス許可] セクションまでスクロールして、次の操作を行います。

    1. [実行ロール] では、デフォルトの [新しいロールを作成] を選択したままにしてください。

      Workflow Studio は、ステートマシン定義内の有効なステートごとに、必要なすべての IAM ポリシーを自動的に生成します。[完全なアクセス許可で実行ロールが作成されます] というメッセージを含むバナーが表示されます。

      自動生成されたアクセス許可のプレビューを含む Config タブのスクリーンショット。
      ヒント

      Workflow Studio がステートマシンに対して自動的に生成するアクセス許可を確認するには、[自動生成されたアクセス許可をレビューする] を選択します。

      注記

      Step Functions が作成するIAMロールを削除した場合、Step Functions は後で再作成できません。同様に、ロールを変更した場合 (IAMポリシー内のプリンシパルから Step Functions を削除した場合など)、Step Functions は後で元の設定を復元できません。

      Workflow Studio で必要な IAM ポリシーをすべて生成できない場合、[特定のアクションのアクセス許可は自動生成できません] というメッセージを含むバナーが表示されます。IAM ロールは部分的なアクセス許可のみで作成されます。不足しているアクセス許可を追加する方法については、「ロール生成に関する問題を解決する」を参照してください。

    2. ステートマシンを作成する場合は [作成] を選択します。問題がなければ、[保存] を選択します。

    3. 表示されるダイアログボックスで、[確認] を選択します。

      Workflow Studio はステートマシンを保存し、新しい実行ロールを作成します。

ロール生成に関する問題を解決する

以下の場合、Workflow Studio は必要なすべてのアクセス許可を含む実行ロールを自動的に生成できません。

  • ステートマシンにエラーがある。Workflow Studio の検証エラーをすべて解決してください。また、保存中に発生したサーバー側のエラーには必ず対処してください。

  • ステートマシンには、統合を使用する AWS SDKタスクが含まれています。この場合、Workflow Studio は IAM ポリシーを自動生成できません。Workflow Studio には、[特定のアクションのアクセス許可は自動生成できません] というメッセージを含むバナーが表示されます。IAM ロールは部分的なアクセス許可のみで作成されます。[自動生成アクセス許可の確認] テーブルで、[ステータス] の内容を選択すると、実行ロールにないポリシーの詳細が表示されます。Workflow Studio は引き続き実行ロールを生成できますが、このロールにはすべてのアクションの IAM ポリシーが含まれるわけではありません。独自のポリシーを作成し、生成後にロールに追加するには、[ドキュメントリンク] の下のリンクを参照してください。これらのリンクは、ステートマシンを保存した後でも使用できます。

Workflow Studio でHTTPタスクをテストするためのロール

HTTP タスクの状態をテストするには、実行ロールが必要です。十分なアクセス許可を持つロールがない場合は、以下のオプションのいずれかを使用してロールを作成してください。

  • Workflow Studio でロールを自動生成する (推奨) — これは安全なオプションです。[ステートをテスト] ダイアログボックスを閉じて、ロールを自動生成する の指示に従います。そのためには、まずステートマシンを作成または更新してから、Workflow Studio に戻ってステートをテストする必要があります。

  • 管理者アクセスを持つロールを使用する – のすべてのサービスとリソースへのフルアクセスを持つロールを作成するアクセス許可がある場合は AWS、そのロールを使用してワークフロー内の任意のタイプの状態をテストできます。これを行うには、Step Functionsサービスロールを作成し、IAMコンソール でそのロールにAdministratorAccess ポリシーを追加しますhttps://console.aws.amazon.com/iam/

Workflow Studio で最適化されたサービス統合をテストするためのロール

最適化されたサービス統合を呼び出すタスクステートには実行ロールが必要です。十分なアクセス許可を持つロールがない場合は、以下のオプションのいずれかを使用してロールを作成してください。

  • Workflow Studio でロールを自動生成する (推奨) — これは安全なオプションです。[ステートをテスト] ダイアログボックスを閉じて、ロールを自動生成する の指示に従います。そのためには、まずステートマシンを作成または更新してから、Workflow Studio に戻ってステートをテストする必要があります。

  • 管理者アクセスを持つロールを使用する – のすべてのサービスとリソースへのフルアクセスを持つロールを作成するアクセス許可がある場合は AWS、そのロールを使用してワークフロー内の任意のタイプの状態をテストできます。これを行うには、Step Functionsサービスロールを作成し、IAMコンソール でそのロールにAdministratorAccess ポリシーを追加しますhttps://console.aws.amazon.com/iam/

Workflow Studio でサービス統合を AWS SDKテストするためのロール

AWS SDK 統合 を呼び出すタスク状態には実行ロールが必要です。十分なアクセス許可を持つロールがない場合は、以下のオプションのいずれかを使用してロールを作成してください。

  • Workflow Studio でロールを自動生成する (推奨) — これは安全なオプションです。[ステートをテスト] ダイアログボックスを閉じて、ロールを自動生成する の指示に従います。そのためには、まずステートマシンを作成または更新してから、Workflow Studio に戻ってステートをテストする必要があります。以下の操作を実行します。

    1. [ステートをテスト] ダイアログボックスを閉じます。

    2. [設定] タブを選択し、設定モードを表示します。

    3. [アクセス許可] セクションまで下にスクロールします。

    4. Workflow Studio には、[特定のアクションのアクセス許可は自動生成できません] というメッセージを含むバナーが表示されます。IAM ロールは部分的なアクセス許可のみで作成されます。[自動生成されたアクセス許可を確認] を選択します。

    5. [自動生成されたアクセス許可を確認] テーブルには、テストするタスクステートに対応するアクションを示す行が表示されます。カスタムロールに独自の IAM ポリシーを記述するには、[ドキュメントリンク] の下のリンクを参照してください。

  • 管理者アクセスを持つロールを使用する – のすべてのサービスとリソースへのフルアクセスを持つロールを作成するアクセス許可がある場合は AWS、そのロールを使用してワークフロー内の任意のタイプの状態をテストできます。これを行うには、Step Functionsサービスロールを作成し、IAMコンソール でそのロールにAdministratorAccess ポリシーを追加しますhttps://console.aws.amazon.com/iam/

Workflow Studio でフローステートをテストするためのロール

Workflow Studio でフローステートをテストするには実行ロールが必要です。フローステートは、選択ワークフローの状態並列ワークフローの状態マップワークフローの状態ワークフロー状態を渡すワークフロー状態を待機するワークフロー状態が成功、または ワークフローの状態の失敗 などの実行フローを指示する状態です。TestState API はマップ状態または並列状態では機能しません。次のいずれかのオプションを使用してフロー状態をテストするためのロールを作成します。

  • で任意のロールを使用する AWS アカウント (推奨) — フロー状態は AWS アクションやリソースを呼び出さないため、特定のIAMポリシーは必要ありません。したがって、 で任意のIAMロールを使用できます AWS アカウント。

    1. [ステートをテスト] ダイアログボックスで、[実行ロール] ドロップダウンリストから任意のロールを選択します。

    2. ドロップダウンリストにロールが表示されない場合は、以下の作業を行います。

      1. IAM コンソール でhttps://console.aws.amazon.com/iam/ロール を選択します。

      2. リストからロールを選択し、ロールの詳細ページARNからそのロールをコピーします。これは、テスト状態ダイアログボックスARNで指定する必要があります。

      3. テスト状態ダイアログボックスで、実行ロールARNドロップダウンリストからロールを入力を選択します。

      4. ロール ARNに ARNを貼り付けます。

  • 管理者アクセスを持つロールを使用する – のすべてのサービスとリソースへのフルアクセスを持つロールを作成するアクセス許可がある場合は AWS、そのロールを使用してワークフロー内の任意のタイプの状態をテストできます。これを行うには、Step Functionsサービスロールを作成し、IAMコンソール でAdministratorAccess ポリシーを追加しますhttps://console.aws.amazon.com/iam/