翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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。
トピック
自動生成されたロールについて
Step Functions コンソールでステートマシンを作成すると、Workflow Studio は必要な IAM ポリシーを含む実行ロールを自動的に作成できます。Workflow Studio はステートマシンの定義を分析し、ワークフローの実行に必要な最小特権でポリシーを生成します。
Workflow Studio では以下の IAM ポリシーを生成できます。
-
サードパーティーの を呼び出すHTTPタスクAPIs。
-
呼び出し 、、DynamoDB GetItemまたは など、最適化された統合 AWS サービス を使用して他の をLambda呼び出すタスク状態AWS Glue StartJobRun。
-
ネストされたワークフローを実行するタスクステート。
-
子ワークフロー実行の開始、Amazon S3 バケットのリスト、S3 オブジェクトの読み取りと記述などのポリシーを含む、分散マップ状態。
-
X-Ray トレース。Workflow Studio で自動生成されるすべてのロールには、X-Ray にトレースを送信するアクセス許可をステートマシンに付与するポリシーが含まれています。
-
ステートマシンでロギングが有効になっている場合の CloudWatch ログを使用した Step Functions の実行履歴のログ記録。
Workflow Studio は、AWS SDK統合 AWS サービス を使用して他の を呼び出すタスク状態のIAMポリシーを生成できません。
ロールを自動生成する
-
Step Functions コンソール
を開き、[ステートマシンの作成] を選択します。 既存のステートマシンを更新することもできます。ステートマシンを更新する場合は、ステップ 4 を参照してください。
-
[テンプレートを選択] ダイアログボックスで [空白] を選択します。
-
選択 を選択して、 で Workflow Studio を開きますデザインモード。
-
[設定] タブを選択します。
-
[アクセス許可] セクションまでスクロールして、次の操作を行います。
-
[実行ロール] では、デフォルトの [新しいロールを作成] を選択したままにしてください。
Workflow Studio は、ステートマシン定義内の有効なステートごとに、必要なすべての IAM ポリシーを自動的に生成します。[完全なアクセス許可で実行ロールが作成されます] というメッセージを含むバナーが表示されます。
ヒント
Workflow Studio がステートマシンに対して自動的に生成するアクセス許可を確認するには、[自動生成されたアクセス許可をレビューする] を選択します。
注記
Step Functions が作成するIAMロールを削除した場合、Step Functions は後で再作成できません。同様に、ロールを変更した場合 (IAMポリシー内のプリンシパルから Step Functions を削除した場合など)、Step Functions は後で元の設定を復元できません。
Workflow Studio で必要な IAM ポリシーをすべて生成できない場合、[特定のアクションのアクセス許可は自動生成できません] というメッセージを含むバナーが表示されます。IAM ロールは部分的なアクセス許可のみで作成されます。不足しているアクセス許可を追加する方法については、「ロール生成に関する問題を解決する」を参照してください。
-
ステートマシンを作成する場合は [作成] を選択します。問題がなければ、[保存] を選択します。
-
表示されるダイアログボックスで、[確認] を選択します。
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 に戻ってステートをテストする必要があります。以下の操作を実行します。
-
[ステートをテスト] ダイアログボックスを閉じます。
-
[設定] タブを選択し、設定モードを表示します。
-
[アクセス許可] セクションまで下にスクロールします。
-
Workflow Studio には、[特定のアクションのアクセス許可は自動生成できません] というメッセージを含むバナーが表示されます。IAM ロールは部分的なアクセス許可のみで作成されます。[自動生成されたアクセス許可を確認] を選択します。
-
[自動生成されたアクセス許可を確認] テーブルには、テストするタスクステートに対応するアクションを示す行が表示されます。カスタムロールに独自の IAM ポリシーを記述するには、[ドキュメントリンク] の下のリンクを参照してください。
-
-
管理者アクセスを持つロールを使用する – のすべてのサービスとリソースへのフルアクセスを持つロールを作成するアクセス許可がある場合は AWS、そのロールを使用してワークフロー内の任意のタイプの状態をテストできます。これを行うには、Step Functionsサービスロールを作成し、IAMコンソール でそのロールにAdministratorAccess ポリシーを追加しますhttps://console.aws.amazon.com/iam/
。
Workflow Studio でフローステートをテストするためのロール
Workflow Studio でフローステートをテストするには実行ロールが必要です。フローステートは、選択ワークフローの状態、並列ワークフローの状態、マップワークフローの状態、ワークフロー状態を渡す、ワークフロー状態を待機する、ワークフロー状態が成功、または ワークフローの状態の失敗 などの実行フローを指示する状態です。TestState API はマップ状態または並列状態では機能しません。次のいずれかのオプションを使用してフロー状態をテストするためのロールを作成します。
-
で任意のロールを使用する AWS アカウント (推奨) — フロー状態は AWS アクションやリソースを呼び出さないため、特定のIAMポリシーは必要ありません。したがって、 で任意のIAMロールを使用できます AWS アカウント。
-
[ステートをテスト] ダイアログボックスで、[実行ロール] ドロップダウンリストから任意のロールを選択します。
-
ドロップダウンリストにロールが表示されない場合は、以下の作業を行います。
-
IAM コンソール でhttps://console.aws.amazon.com/iam/
、ロール を選択します。 -
リストからロールを選択し、ロールの詳細ページARNからそのロールをコピーします。これは、テスト状態ダイアログボックスARNで指定する必要があります。
-
テスト状態ダイアログボックスで、実行ロールARNドロップダウンリストからロールを入力を選択します。
-
ロール ARNに ARNを貼り付けます。
-
-
-
管理者アクセスを持つロールを使用する – のすべてのサービスとリソースへのフルアクセスを持つロールを作成するアクセス許可がある場合は AWS、そのロールを使用してワークフロー内の任意のタイプの状態をテストできます。これを行うには、Step Functionsサービスロールを作成し、IAMコンソール でAdministratorAccess ポリシーを追加しますhttps://console.aws.amazon.com/iam/
。