

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

# Step Functions で Amazon EMR Serverless アプリケーションを作成および管理する
<a name="connect-emr-serverless"></a>

Step Functions を使用して EMR Serverless でアプリケーションを作成、開始、停止、削除する方法について説明します。このページでは、サポートされている API を一覧表示し、一般的なユースケースを実行するための `Task` 状態の例を示します。

Step Functions での AWSサービスとの統合については、[ サービスとの統合](integrate-services.md)「」および「」を参照してください[Step Functions でサービス API にパラメータを渡す](connect-parameters.md)。

**最適化された EMR Serverless 統合の主な機能**  
 最適化された EMR Serverless サービス統合には、基になる EMR Serverless API をラップする [API](#connect-emr-serverless-custom-apis) のカスタマイズされたセットがあります。このカスタマイズにより、最適化されたEMR Serverless統合は AWSSDK サービス統合とは大きく異なります。
さらに、最適化された EMR Serverless 統合は [ジョブの実行 (.sync)](connect-to-resource.md#connect-sync) 統合パターンをサポートします。
[タスクトークンのコールバックまで待機する](connect-to-resource.md#connect-wait-token) 統合パターンは**サポートされていません**。

## EMR Serverless サービス統合 API
<a name="connect-emr-serverless-custom-apis"></a>

AWS Step Functions を EMR Serverless と統合するために、以下の 6 つの EMR Serverless サービス統合 API を使用できます。これらのサービス統合 API は、対応する EMR Serverless API に似ていますが、渡されるフィールドと返される応答にいくつかの違いがあります。

各 EMR Serverless サービス統合 API と対応する EMR Serverless API の違いを次の表に示します。


| EMR Serverless サービス統合 API | 対応する EMR Serverless API | 相違点 | 
| --- | --- | --- | 
|  *createApplication*  アプリケーションを作成します。 EMR Serverless はサービスリンクロールとして知られる IAM ロールの一意のタイプにリンクされています。`createApplication` と `createApplication.sync` が機能するには、サービスリンクロール `AWSServiceRoleForAmazonEMRServerless` を作成するために必要なアクセス許可が設定されている必要があります。IAM アクセス許可ポリシーに追加できるステートメントなど、詳細については、「[EMR Serverless のサービスにリンクされたロールの使用](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/using-service-linked-roles.html)」を参照してください。  |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  | なし | 
|  *createApplication.sync*  アプリケーションを作成します。  |  [CreateApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CreateApplication.html)  |  EMR Serverless API と EMR Serverless サービス統合 API のリクエストとレスポンスには違いはありません。ただし、*createApplication.sync* はアプリケーションが `CREATED` 状態に達するまで待機します。  | 
|  *startApplication* 指定されたアプリケーションを起動し、設定されている場合はアプリケーションの初期容量を初期化します。  |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  |  EMR Serverless API レスポンスにはデータは含まれませんが、EMR Serverless サービス統合 API レスポンスには以下のデータが含まれます。 <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *startApplication.sync* 指定されたアプリケーションを起動し、設定されている場合は初期容量を初期化します。  |  [StartApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartApplication.html)  |  EMR Serverless API レスポンスにはデータは含まれませんが、EMR Serverless サービス統合 API レスポンスには以下のデータが含まれます。 <pre>{<br />  "ApplicationId": "string"<br />}</pre> また、*startApplication.sync* はアプリケーションが `STARTED` 状態に達するまで待機します。  | 
|  *stopApplication* 指定されたアプリケーションを停止し、設定されている場合は初期容量を解放します。アプリケーションを停止する前に、スケジュールされたジョブと実行中のジョブをすべて完了またはキャンセルする必要があります。  |  [StopApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  |  EMR Serverless API レスポンスにはデータは含まれませんが、EMR Serverless サービス統合 API レスポンスには以下のデータが含まれます。 <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *stopApplication.sync* 指定されたアプリケーションを停止し、設定されている場合は初期容量を解放します。アプリケーションを停止する前に、スケジュールされたジョブと実行中のジョブをすべて完了またはキャンセルする必要があります。  |  [StopApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StopApplication.html)  |  EMR Serverless API レスポンスにはデータは含まれませんが、EMR Serverless サービス統合 API レスポンスには以下のデータが含まれます。 <pre>{<br />  "ApplicationId": "string"<br />}</pre> また、*stopApplication.sync* はアプリケーションが `STOPPED` 状態に達するまで待機します。  | 
|  *DeleteApplication* アプリケーションを削除します アプリケーションを削除するには、そのアプリケーションが `STOPPED` または `CREATED` 状態になっている必要があります。  |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  |  EMR Serverless API レスポンスにはデータは含まれませんが、EMR Serverless サービス統合 API レスポンスには以下のデータが含まれます。 <pre>{<br />  "ApplicationId": "string"<br />}</pre>  | 
|  *deleteApplication.sync* アプリケーションを削除します アプリケーションを削除するには、そのアプリケーションが `STOPPED` または `CREATED` 状態になっている必要があります。  |  [DeleteApplication](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_DeleteApplication.html)  |  EMR Serverless API レスポンスにはデータは含まれませんが、EMR Serverless サービス統合 API レスポンスには以下のデータが含まれます。 <pre>{<br />  "ApplicationId": "string"<br />}</pre> また、*stopApplication.sync* はアプリケーションが `TERMINATED` 状態に達するまで待機します。  | 
|  *startJobRun* ジョブ実行を開始します。  |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  | なし | 
|  *startJobRun.sync* ジョブ実行を開始します。  |  [StartJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)  |  EMR Serverless API と EMR Serverless サービス統合 API のリクエストとレスポンスには違いはありません。ただし、*startJobRun.sync* はアプリケーションが `SUCCESS` 状態に達するまで待機します。  | 
|  *cancelJobRun* ジョブ実行をキャンセルします。  |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  | なし | 
|  *cancelJobRun.sync* ジョブ実行をキャンセルします。  |  [CancelJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_CancelJobRun.html)  |  EMR Serverless API と EMR Serverless サービス統合 API のリクエストとレスポンスには違いはありません。ただし、*cancelJobRun.sync* はアプリケーションが `CANCELLED` 状態に達するまで待機します。  | 

## EMR サーバーレス統合のユースケース
<a name="connect-emr-serverless-use-cases"></a>

最適化された EMR Serverless サービス統合では、アプリケーションを 1 つ作成して、そのアプリケーションを使用して複数のジョブを実行することをお勧めします。例えば、1 つのステートマシンに、同じアプリケーションを使用する複数の [startJobRun](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html) リクエストを含めることができます。以下の [Task ワークフロー状態](state-task.md) 状態の例は、API EMR Serverless を Step Functions と統合するユースケースを示しています。EMR Serverless のその他のユースケースの情報については、「[Amazon EMR Serverless とは](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html)」を参照してください。

**ヒント**  
EMR Serverless と統合して複数のジョブを実行するステートマシンの例をデプロイするには、「[EMR Serverless ジョブを実行する](sample-emr-serverless-job.md)」を参照してください。
+ [アプリケーションの作成](#connect-emr-serverless-task-state-createapp)
+ [アプリケーションの起動](#connect-emr-serverless-task-state-startapp)
+ [アプリケーションの停止](#connect-emr-serverless-task-state-stopapp)
+ [アプリケーションの削除](#connect-emr-serverless-task-state-deleteapp)
+ [アプリケーションでのジョブの開始](#connect-emr-serverless-task-state-startjobrun)
+ [アプリケーションでのジョブのキャンセル](#connect-emr-serverless-task-state-canceljobrun)

を他の AWSサービスStep Functionsで使用する際のIAMアクセス許可の設定については、「」を参照してください[Step Functions が統合サービスの IAM ポリシーを生成する方法](service-integration-iam-templates.md)。

以下のユースケースの例で*斜体で示されている*テキストを、リソース固有の情報に置き換えてください。例えば、*yourApplicationId* を EMR Serverless アプリケーションの ID (`00yv7iv71inak893` など) に置き換えてください。

### アプリケーションの作成
<a name="connect-emr-serverless-task-state-createapp"></a>

次のタスクステートの例では、*createApplication.sync* サービス統合 API を使用してアプリケーションを作成しています。

```
"Create_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:createApplication.sync",
    "Arguments": {
        "Name": "MyApplication",
        "ReleaseLabel": "emr-6.9.0",
        "Type": "SPARK"
    },
    "End": true
}
```

### アプリケーションの起動
<a name="connect-emr-serverless-task-state-startapp"></a>

次のタスク状態の例では、*startApplication.sync* サービス統合 API を使用してアプリケーションを起動します。

```
"Start_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:startApplication.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId"
    },
    "End": true
}
```

### アプリケーションの停止
<a name="connect-emr-serverless-task-state-stopapp"></a>

次のタスク状態の例では、*stopApplication.sync* サービス統合 API を使用してアプリケーションを停止します。

```
"Stop_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:stopApplication.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId"
    },
    "End": true
}
```

### アプリケーションの削除
<a name="connect-emr-serverless-task-state-deleteapp"></a>

次のタスク状態の例では、*deleteApplication.sync* サービス統合 API を使用してアプリケーションを削除します。

```
"Delete_Application": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:deleteApplication.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId"
    },
    "End": true
}
```

### アプリケーションでのジョブの開始
<a name="connect-emr-serverless-task-state-startjobrun"></a>

次のタスク状態の例では、*startJobRun.sync* サービス統合 API を使用してアプリケーションでジョブを開始します。

```
"Start_Job": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:startJobRun.sync",
    "Arguments": {
        "ApplicationId": "yourApplicationId",
        "ExecutionRoleArn": "arn:aws:iam::account-id:role/myEMRServerless-execution-role",
        "JobDriver": {
            "SparkSubmit": {
                "EntryPoint": "s3://<amzn-s3-demo-bucket>/sample.py",
                "EntryPointArguments": ["1"],
                "SparkSubmitParameters": "--conf spark.executor.cores=4 --conf spark.executor.memory=4g --conf spark.driver.cores=2 --conf spark.driver.memory=4g --conf spark.executor.instances=1"
            }
        }
    },
    "End": true
}
```

### アプリケーションでのジョブのキャンセル
<a name="connect-emr-serverless-task-state-canceljobrun"></a>

次のタスク状態の例では、*cancelJobRun.sync* サービス統合 API を使用してアプリケーション内のジョブをキャンセルします。

```
"Cancel_Job": {
    "Type": "Task",
    "Resource": "arn:aws:states:::emr-serverless:cancelJobRun.sync",
    "Arguments": {
        "ApplicationId": "{% $states.input.ApplicationId %}",
        "JobRunId": "{% $states.input.JobRunId %}"
    },
    "End": true
}
```

## Amazon EMR Serverless を呼び出すための IAM ポリシー
<a name="emr-serverless-iam"></a>

コンソールを使用してステートマシンを作成すると、必要な最小特権を持つステートマシンの実行ロールがStep Functions によって自動的に作成されます。これらの自動生成されたIAMロールは、ステートマシンを作成する AWS リージョンで有効です。

次のサンプルテンプレートは、 がステートマシン定義のリソースに基づいて IAM ポリシーAWS Step Functionsを生成する方法を示しています。詳細については、「[Step Functions が統合サービスの IAM ポリシーを生成する方法](service-integration-iam-templates.md)」および「[Step Functions でサービス統合パターンを検出する](connect-to-resource.md)」を参照してください。

IAM ポリシーを作成するときは、ポリシーにワイルドカードを含めないことをお勧めします。セキュリティのベストプラクティスとして、ポリシーの範囲をできるだけ絞り込む必要があります。動的ポリシーは、ランタイム中に特定の入力パラメータが不明な場合にのみ使用してください。

さらに、管理者ユーザーが非管理者ユーザーに、ステートマシンを実行するための実行ロールを付与する場合には注意が必要です。自分でポリシーを作成する場合は、実行ロールに PassRole ポリシーを含めることをお勧めします。また、実行ロールには `aws:SourceARN` および `aws:SourceAccount` のコンテキストキーを追加することをお勧めします。

### EMR Serverless と Step Functions の統合の場合の IAM ポリシーの例
<a name="emr-serverless-iam-policy-eg"></a>
+ [CreateApplication の IAM ポリシーの例](#emr-serverless-policy-createapp)
+ [StartApplication の IAM ポリシーの例](#emr-serverless-policy-startapp)
+ [StopApplication の IAM ポリシーの例](#emr-serverless-policy-stopapp)
+ [DeleteApplication の IAM ポリシーの例](#emr-serverless-policy-deleteapp)
+ [StartJobRun の IAM ポリシーの例](#emr-serverless-policy-startjobrun)
+ [CancelJobRun の IAM ポリシーの例](#emr-serverless-policy-canceljobrun)

#### CreateApplication の IAM ポリシーの例
<a name="emr-serverless-policy-createapp"></a>

以下は、CreateApplication が [Task ワークフロー状態](state-task.md) 状態でのステートマシンの IAM ポリシーの例です。

**注記**  
アカウントで初めてアプリケーションを作成するときには、IAM ポリシーで CreateServiceLinkedRole 許可を指定する必要があります。それ以降、この許可を追加する必要はありません。CreateServiceLinkedRole の詳細については、https://docs.aws.amazon.com/IAM/latest/APIReference/ の「[CreateServiceLinkedRole](https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateServiceLinkedRole.html)」を参照してください。

以下のポリシーは、静的リソースと動的リソースで同じです。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:CreateApplication"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetApplication",
                "emr-serverless:DeleteApplication"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::123456789012:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"
                }
            }
        }
   ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   
   "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:CreateApplication"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:CreateServiceLinkedRole",
            "Resource": "arn:aws:iam::123456789012:role/aws-service-role/ops.emr-serverless.amazonaws.com/AWSServiceRoleForAmazonEMRServerless*",
            "Condition": {
                "StringLike": {
                    "iam:AWSServiceName": "ops.emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

#### StartApplication の IAM ポリシーの例
<a name="emr-serverless-policy-startapp"></a>

**静的リソース**  
以下は、StartApplication が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の静的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication",
               "emr-serverless:GetApplication",
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        }
    ]
}
```

------

**動的リソース**  
以下は、StartApplication が[Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の動的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication",
               "emr-serverless:GetApplication",
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------

#### StopApplication の IAM ポリシーの例
<a name="emr-serverless-policy-stopapp"></a>

**静的リソース**  
以下は、StopApplication が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の静的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        }
    ]
}
```

------

**動的リソース**  
以下は、StopApplication が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の動的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StopApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------

#### DeleteApplication の IAM ポリシーの例
<a name="emr-serverless-policy-deleteapp"></a>

**静的リソース**  
以下は、DeleteApplication が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の静的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        }
    ]
}
```

------

**動的リソース**  
以下は、DeleteApplication が [Task ワークフロー状態](state-task.md) 状態でステートマシンを使用する場合の動的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication",
               "emr-serverless:GetApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessApplicationRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:DeleteApplication"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------

#### StartJobRun の IAM ポリシーの例
<a name="emr-serverless-policy-startjobrun"></a>

**静的リソース**  
以下は、StartJobRun が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の静的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

**動的リソース**  
以下は、StartJobRun が[Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の動的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun",
               "emr-serverless:GetJobRun",
               "emr-serverless:CancelJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:StartJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": [
                "arn:aws:iam::123456789012:role/jobExecutionRoleArn"
            ],
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com"
                }
            }
        }
    ]
}
```

------

#### CancelJobRun の IAM ポリシーの例
<a name="emr-serverless-policy-canceljobrun"></a>

**静的リソース**  
以下は、CancelJobRun が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の静的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun",
               "emr-serverless:GetJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/jobRunId"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/applicationId/jobruns/jobRunId"
            ]
        }
    ]
}
```

------

**動的リソース**  
以下は、CancelJobRun が [Task ワークフロー状態](state-task.md) 状態で、ステートマシンを使用する場合の動的リソースの IAM ポリシーの例です。

------
#### [ Run a Job (.sync) ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun",
               "emr-serverless:GetJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:PutTargets",
                "events:PutRule",
                "events:DescribeRule"
            ],
            "Resource": [
                "arn:aws:events:us-east-1:123456789012:rule/StepFunctionsGetEventsForEMRServerlessJobRule"
            ]
        }
    ]
}
```

------
#### [ Request Response ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
        {
           "Effect": "Allow",
           "Action": [
               "emr-serverless:CancelJobRun"
            ],
           "Resource": [
                "arn:aws:emr-serverless:us-east-1:123456789012:/applications/*"
            ]
        }
    ]
}
```

------