

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

# Step Functions で Workflow Studio を使用して実行ロールを設定する
<a name="manage-state-machine-permissions"></a>

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

この実行ロールには、ステートマシンが AWS Lambda 関数を呼び出したり、AWS Batch ジョブを実行したり、Stripe API を呼び出したりすることを許可する IAM ポリシーなど、アクションごとのポリシーが含まれている必要があります。Step Functions では、次の場合に実行ロールを指定する必要があります。
+ [CreateStateMachine](https://docs.aws.amazon.com/step-functions/latest/apireference/API_CreateStateMachine.html) API を使用して、コンソール、AWS SDK、または AWS CLI でステートマシンを作成する場合。
+ [TestState](https://docs.aws.amazon.com/step-functions/latest/apireference/API_TestState.html) API を使用して、コンソール、AWS SDK、または AWS CLI でステートを[テスト](test-state-isolation.md)する場合。

**Topics**
+ [自動生成されたロールについて](#wfs-auto-gen-roles)
+ [ロールを自動生成する](#auto-generating-roles)
+ [ロール生成に関する問題を解決する](#resolve-role-gen-problem)
+ [Workflow Studio で HTTP タスクをテストするためのロール](#test-state-role-http)
+ [Workflow Studio で最適化されたサービス統合をテストするためのロール](#test-state-role-optimized)
+ [Workflow Studio で AWS SDK サービス統合をテストするためのロール](#test-state-role-aws-sdk)
+ [Workflow Studio でフローステートをテストするためのロール](#test-state-role-flow)

## 自動生成されたロールについて
<a name="wfs-auto-gen-roles"></a>

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

Workflow Studio では以下の IAM ポリシーを生成できます。
+ HTTPS API を呼び出す [HTTP タスク](call-https-apis.md)。
+ [最適化された統合](integrate-optimized.md) を使用して他の AWS のサービス を呼び出す、[Lambda Invoke](connect-lambda.md)、[DynamoDB GetItem](connect-batch.md)、または [AWS Glue StartJobRun](connect-glue.md) などのタスクステート。
+ [ネストされたワークフロー](connect-stepfunctions.md)を実行するタスクステート。
+ 子ワークフロー実行の開始、Amazon S3 バケットのリスト、S3 オブジェクトの読み取りと記述などの[ポリシー](iam-policies-eg-dist-map.md)を含む、[分散マップ状態](state-map-distributed.md)。
+ [X-Ray](concepts-xray-tracing.md) トレース。Workflow Studio で自動生成されるすべてのロールには、X-Ray にトレースを送信するアクセス許可をステートマシンに付与する[ポリシー](concepts-xray-tracing.md#xray-iam)が含まれています。
+ ステートマシンでロギングが有効になっている場合の [CloudWatch Logs を使用した Step Functions の実行履歴のログ記録](cw-logs.md)。

Workflow Studio は、[AWS SDK 統合](supported-services-awssdk.md)を使用して他の AWS のサービス を呼び出すタスクステートの IAM ポリシーを生成できません。

## ロールを自動生成する
<a name="auto-generating-roles"></a>

1. [Step Functions コンソール](https://console.aws.amazon.com/states/home)を開き、メニューから **[ステートマシン]** を選択したら、**[ステートマシンの作成]** を選択します。

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

1. **[空白から作成]** を選択します。

1. ステートマシンに名前を付け、**[続行]** を選択して Workflow Studio でステートマシンを編集します。

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

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

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

      Workflow Studio は、ステートマシン定義内の有効なステートごとに、必要なすべての IAM ポリシーを自動的に生成します。**[完全なアクセス許可で実行ロールが作成されます]** というメッセージを含むバナーが表示されます。  
![\[自動生成されたアクセス許可のプレビューを含む Config タブのスクリーンショットの例。\]](http://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/images/wfs-full-permissions-role.png)
**ヒント**  
Workflow Studio がステートマシンに対して自動的に生成するアクセス許可を確認するには、**[自動生成されたアクセス許可をレビューする]** を選択します。
**注記**  
Step Functions が作成した IAM ロールを削除すると、Step Functions を後で再作成することはできません。同様に、ロールを変更すると (例えば、IAM ポリシーのプリンシパルから Step Functions を削除するなど)、後で Step Functions でそれを元の設定に復元することはできません。

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

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

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

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

## ロール生成に関する問題を解決する
<a name="resolve-role-gen-problem"></a>

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

## Workflow Studio で HTTP タスクをテストするためのロール
<a name="test-state-role-http"></a>

HTTP Task ステートの[テスト](call-https-apis.md#http-task-test)には、実行ロールが必要です。十分なアクセス許可を持つロールがない場合は、以下のオプションのいずれかを使用してロールを作成してください。
+ **Workflow Studio でロールを自動生成する (推奨)** — これは安全なオプションです。**[ステートをテスト]** ダイアログボックスを閉じて、[ロールを自動生成する](#auto-generating-roles) の指示に従います。そのためには、まずステートマシンを作成または更新してから、Workflow Studio に戻ってステートをテストする必要があります。
+ **管理者アクセス権を持つロールを使用する** — AWS 内のすべてのサービスとリソースへの完全なアクセスを持つロールを作成するアクセス許可がある場合は、そのロールを使用してワークフロー内のあらゆるタイプのステートをテストできます。これを行うには、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で Step Functions サービスロールを作成し、[AdministratorAccess ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)をそのサービスロールに追加します。

## Workflow Studio で最適化されたサービス統合をテストするためのロール
<a name="test-state-role-optimized"></a>

[最適化サービス統合](integrate-optimized.md)を呼び出す Task ステートには、実行ロールが必要です。十分なアクセス許可を持つロールがない場合は、以下のオプションのいずれかを使用してロールを作成してください。
+ **Workflow Studio でロールを自動生成する (推奨)** — これは安全なオプションです。**[ステートをテスト]** ダイアログボックスを閉じて、[ロールを自動生成する](#auto-generating-roles) の指示に従います。そのためには、まずステートマシンを作成または更新してから、Workflow Studio に戻ってステートをテストする必要があります。
+ **管理者アクセス権を持つロールを使用する** — AWS 内のすべてのサービスとリソースへの完全なアクセスを持つロールを作成するアクセス許可がある場合は、そのロールを使用してワークフロー内のあらゆるタイプのステートをテストできます。これを行うには、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で Step Functions サービスロールを作成し、[AdministratorAccess ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)をそのサービスロールに追加します。

## Workflow Studio で AWS SDK サービス統合をテストするためのロール
<a name="test-state-role-aws-sdk"></a>

[AWSSDK 統合](supported-services-awssdk.md)を呼び出す Task ステートにも、実行ロールが必要です。十分なアクセス許可を持つロールがない場合は、以下のオプションのいずれかを使用してロールを作成してください。
+ **Workflow Studio でロールを自動生成する (推奨)** — これは安全なオプションです。**[ステートをテスト]** ダイアログボックスを閉じて、[ロールを自動生成する](#auto-generating-roles) の指示に従います。そのためには、まずステートマシンを作成または更新してから、Workflow Studio に戻ってステートをテストする必要があります。以下の操作を実行します。

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

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

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

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

  1. **[自動生成されたアクセス許可を確認]** テーブルには、テストするタスクステートに対応するアクションを示す行が表示されます。カスタムロールに独自の IAM ポリシーを記述するには、**[ドキュメントリンク]** の下のリンクを参照してください。
+ **管理者アクセス権を持つロールを使用する** — AWS 内のすべてのサービスとリソースへの完全なアクセスを持つロールを作成するアクセス許可がある場合は、そのロールを使用してワークフロー内のあらゆるタイプのステートをテストできます。これを行うには、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で Step Functions サービスロールを作成し、[AdministratorAccess ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)をそのサービスロールに追加します。

## Workflow Studio でフローステートをテストするためのロール
<a name="test-state-role-flow"></a>

Workflow Studio でフローステートをテストするには実行ロールが必要です。フローステートは、[Choice ワークフローの状態](state-choice.md)、[Parallel ワークフローの状態](state-parallel.md)、[Map 状態のワークフロー](state-map.md)、[Pass ワークフロー状態](state-pass.md)、[Wait ワークフロー状態](state-wait.md)、[Succeed ワークフロー状態](state-succeed.md)、または [ワークフロー状態に失敗する](state-fail.md) などの実行フローを指示する状態です。[TestState](https://docs.aws.amazon.com/step-functions/latest/apireference/API_TestState.html) API は Map ステートや Parallel ステートでは機能しません。次のいずれかのオプションを使用してフロー状態をテストするためのロールを作成します。
+ **AWS アカウント の任意のロールを使用 (推奨)** — Flow ステートでは AWS アクションやリソースを呼び出さないため、特定の IAM ポリシーは必要ありません。そのため、AWS アカウント ではどの IAM ロールでも使用できます。

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

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

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

     1. リストからロールを選択し、ロールの詳細ページからその ARN をコピーします。この ARN は **[ステートをテスト]** ダイアログボックスに入力する必要があります。

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

     1. ARN を **[ロール ARN]** に貼り付けます。
+ **管理者アクセス権を持つロールを使用する** — AWS 内のすべてのサービスとリソースへの完全なアクセスを持つロールを作成するアクセス許可がある場合は、そのロールを使用してワークフロー内のあらゆるタイプのステートをテストできます。これを行うには、IAM コンソール [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) で Step Functions サービスロールを作成し、[AdministratorAccess ポリシー](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions.html#jf_administrator)をそのサービスロールに追加します。