

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

# API を使用して時系列予測用の AutoML ジョブを作成する
<a name="autopilot-create-experiment-timeseries-forecasting"></a>

機械学習における予測とは、過去のデータやパターンに基づいて将来の結果や傾向を予測するプロセスを指します。機械学習アルゴリズムは、過去の時系列データを分析し、根底にあるパターンを特定することで、予測を行い、将来の行動に関する貴重なインサイトを提供できます。予測における目標は、入力変数とターゲット変数の関係を時間の経過とともに正確に把握できるモデルを開発することです。これには、データ内の傾向、季節性、その他の関連パターンなど、さまざまな要因を調べることが含まれます。収集された情報は、機械学習モデルのトレーニングに使用されます。トレーニング済みモデルは、新しい入力データを取得し、学習したパターンと関係を適用することにより予測を生成できます。販売予測、株式市場の動向、天気予報、需要予測など、幅広いユースケースの予測を提供できます。

以下の手順は、SageMaker [API リファレンス](https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-reference.html)を使用して時系列予測の問題タイプのパイロット実験として Amazon SageMaker Autopilot ジョブを作成する方法を示しています。

**注記**  
テキストと画像の分類、時系列予測、大規模言語モデルのファインチューニングなどのタスクは、[AutoML REST API](autopilot-reference.md) のバージョン 2 でのみ利用できます。選択した言語が Python の場合は、[AWS SDK for Python (Boto3)](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker/client/create_auto_ml_job_v2.html) を参照することも、Amazon SageMaker Python SDK の [AutoMLV2 オブジェクト](https://sagemaker.readthedocs.io/en/stable/api/training/automlv2.html#sagemaker.automl.automlv2.AutoMLV2)を直接参照することもできます。  
ユーザーインターフェイスの利便性を優先するユーザーは、[Amazon SageMaker Canvas](https://docs.aws.amazon.com/sagemaker/latest/dg/canvas-getting-started.html) を使用して、事前にトレーニングされたモデルや生成 AI 基盤モデルにアクセスしたり、特定のテキスト、画像分類、予測のニーズ、または生成 AI に合わせたカスタムモデルを作成したりできます。

Amazon SageMaker Autopilot または AWS CLIでサポートされている任意の言語で [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html) API を呼び出すことで、Autopilot の時系列予測実験をプログラムで作成できます。

この API アクションが選択した言語の関数にどのように変換されるかについては、「`CreateAutoMLJobV2`」の「[関連項目](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_SeeAlso)」セクションを参照して SDK を選択してください。例として、Python ユーザーの場合は、「 AWS SDK for Python (Boto3)」の「`[create\_auto\_ml\_job\_v2](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_auto_ml_job_v2)` のすべてのリクエスト構文」を参照してください。

Autopilot は、ターゲットとなる時系列で複数のモデル候補をトレーニングし、与えられた目標メトリクスに最適な予測モデルを選択します。モデル候補がトレーニングされると、`[BestCandidate](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateProperties.html#sagemaker-Type-CandidateProperties-CandidateMetrics)` の `[DescribeAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeAutoMLJobV2.html)` へのレスポンスから最適な候補メトリクスを見つけることができます。

以下のセクションでは、時系列予測に使用される `CreateAutoMLJobV2` API の必須およびオプションの入力リクエストパラメータを定義します。

**注記**  
実用的なハンズオン時系列予測の例については、ノートブックの「[Time-Series Forecasting with Amazon SageMaker Autopilot](https://github.com/aws/amazon-sagemaker-examples/blob/main/autopilot/autopilot_time_series.ipynb)」を参照してください。このノートブックでは、Amazon SageMaker Autopilot を使用して時系列モデルをトレーニングし、トレーニング済みモデルを使用して予測を作成します。ノートブックは、Amazon S3 にある表形式の履歴データの既製のデータセットを取得する手順について説明します。

## 前提条件
<a name="autopilot-timeseries-forecasting-prerequisites"></a>

Autopilot を使用して SageMaker AI で時系列予測実験を作成する前に、以下の点を確認してください。
+ 時系列データセットを準備します。データセットの準備には、さまざまなソースから関連データを収集し、クリーニングとフィルタリングを行ってノイズや不整合を取り除き、構造化された形式に整理することが含まれます。Autopilot の時系列フォーマットの要件について詳しくは、「[時系列データセットの形式と欠損値の filling メソッド](timeseries-forecasting-data-format.md)」を参照してください。オプションで、選択した国の祝日カレンダーをデータセットに追加して、関連するパターンを把握することもできます。祝日カレンダーの詳細については、「[祝祭日カレンダー](autopilot-timeseries-forecasting-holiday-calendars.md)」を参照してください。
**注記**  
予測する将来のデータポイント 1 つにつき、少なくとも 3 ～ 5 つの履歴データポイントを提供することをお勧めします。例えば、日次データに基づいて 7 日前 (1 週間) に予測を行うには、21 ～ 35 日以上の履歴データに基づいてモデルをトレーニングします。必ず、季節的なパターンと反復的なパターンをキャプチャするのに十分なデータを提供してください。
+ 時系列データを Amazon S3 バケットに配置します。
+ 実験を実行するために使用した SageMaker AI 実行ロールに、入力データを含む Amazon S3 バケットへの完全なアクセス権を付与します。これが完了すると、Autopilot API リクエストでこの実行ロールの ARN を使用できます。
  + SageMaker AI 実行ロールの取得については、「[実行ロールを取得する](sagemaker-roles.md#sagemaker-roles-get-execution-role)」を参照してください。
  + Amazon S3 の 1 つ以上の特定のバケットにアクセスするためのアクセス許可を SageMaker AI 実行ロールに付与する方法については、「[実行ロールを作成する](sagemaker-roles.md#sagemaker-roles-create-execution-role)」の「*Add Additional Amazon S3 Permissions to a SageMaker AI Execution Role*」を参照してください。

## 必須パラメータ
<a name="timeseries-forecasting-api-required-params"></a>

`[CreateAutoMLJobV2](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html)` を呼び出して、時系列予測用のオートパイロットテストを作成する場合は、以下の値を指定する必要があります。
+ ジョブの名前を指定する `[AutoMLJobName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#API_CreateAutoMLJobV2_RequestSyntax)`。名前は `string` 型で、最小長は 1 文字、最大長は 32 文字です。
+ `[AutoMLJobInputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLJobInputDataConfig)` に少なくとも 1 つの `[AutoMLJobChannel](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobChannel.html)` を指定し、データが含まれている Amazon S3 バケット名を指定します。オプションで、コンテンツ (CSV または Parquet ファイル) と圧縮 (GZip) タイプを指定できます。
+ 時系列予測ジョブの設定を構成する `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` タイプの `[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)`。特に、以下を指定する必要があります。
  + 予測の目的の粒度 (時間単位、日単位、月単位など) を指す、予測の**頻度**。

    有効な間隔は、整数の後に `Y` (年)、`M` (月)、`W` (週)、`D` (日)、`H` (時)、`min` (分) をつけたものです。例えば、`1D` は毎日を示し、`15min` は 15 分ごとを示します。頻度の値は、次に大きい頻度と重ならないようにします。たとえば、`60min` の代わりに `1H` の頻度を使用する必要があります。

    各頻度の有効な値は以下のとおりです。
    + 分 - 1～59
    + 時間 - 1～23
    + 日 - 1～6
    + 週 - 1～4
    + 月 - 1～11
    + 年 - 1
  + 予測における予測の**期間**。モデルが予測するタイムステップの数を指します。予測期間は予測長とも呼ばれます。最大予測期間は、500 タイムステップまたはデータセット内のタイムステップの 1/4 のいずれか小さい方です。
  + [TimeseriesConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesConfig.html) では、以下を指定してデータセットのスキーマを定義し、列ヘッダーを予測にマッピングします。
    + `TargetAttributeName`: 予測するターゲットフィールドの履歴データを含む列。
    + `TimestampAttributeName`: 特定の項目のターゲット値が記録された時点を含む列。
    + `ItemIdentifierAttributeName`: ターゲット値を予測する項目識別子を含む列。

  これらのパラメータのリクエストの例を次に示します。この例では、20 日間にわたる特定の項目の予想数量または需要水準の日次予測を設定します。

  ```
  "AutoMLProblemTypeConfig": { 
          "ForecastFrequency": "D",
          "ForecastHorizon": 20,
          "TimeSeriesConfig": {
              "TargetAttributeName": "demand",
              "TimestampAttributeName": "timestamp",
              "ItemIdentifierAttributeName": "item_id"
          },
  ```
+ AutoML ジョブのアーティファクトを保存する Amazon S3 出力パスを指定する `[OutputDataConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLOutputDataConfig.html)`。
+ データへのアクセスに使用するロールの ARN を指定する `[RoleArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJob.html#sagemaker-CreateAutoMLJob-request-RoleArn)`。データへのアクセス権が付与された実行ロールの ARN を使用できます。

その他のすべてのパラメータは省略可能です。例えば、特定の予測分位数を設定したり、データセット内の欠損値の filling メソッドを選択したり、予測頻度と合わないデータの集計方法を定義したりすることができます。これらの追加パラメータの設定方法については、「[任意指定のパラメータ](#timeseries-forecasting-api-optional-params)」を参照してください。

## 任意指定のパラメータ
<a name="timeseries-forecasting-api-optional-params"></a>

以下のセクションでは、時系列予測の AutoML ジョブに渡すことができるいくつかのオプションパラメータの詳細を説明します。

### アルゴリズムの指定方法
<a name="timeseries-forecasting-algorithms-selection"></a>

デフォルトで Autopilot ジョブは、データセットにあらかじめ定義されたアルゴリズムのリストをトレーニングします。ただし、デフォルトで選択されているアルゴリズムのサブセットを指定できます。

時系列予測では、`[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)` のタイプとして `[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)` を選択する必要があります。

その後、[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html) の `AlgorithmsConfig` 属性に、選択した `AutoMLAlgorithms` の配列を指定できます。

以下は、`AutoMLAlgorithms` フィールドに 3 つのアルゴリズム ("cnn-qr"、"prophet"、"arima") を指定した `AlgorithmsConfig` 属性の例です。

```
{
   "[AutoMLProblemTypeConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-AutoMLProblemTypeConfig)": {
        "[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html)": {
          "[CandidateGenerationConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html)": {
            "[AlgorithmsConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CandidateGenerationConfig.html#sagemaker-Type-CandidateGenerationConfig-AlgorithmsConfig)":[
               {"[AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html)":["cnn-qr", "prophet", "arima"]}
            ]
         },
       },
     },
  }
```

時系列予測に使用できるアルゴリズムのリストについては、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLAlgorithmConfig.html#sagemaker-Type-AutoMLAlgorithmConfig-AutoMLAlgorithms)」を参照してください。各アルゴリズムの詳細については、「[アルゴリズムは時系列予測をサポートします。](timeseries-forecasting-algorithms.md)」を参照してください。

### カスタム分位数の指定方法
<a name="timeseries-forecasting-custom-quantiles"></a>

Autopilot は、ターゲットの時系列で 6 つのモデル候補をトレーニングし、スタッキングアンサンブルメソッドを使用してこれらのモデルを組み合わせ、特定の目標メトリクスに最適な予測モデルを作成します。各オートパイロット予測モデルは、P1 と P99 の間の分位数で予測を生成することによって確率予測を生成します。これらの分位数は、予測の不確実性を考慮するために使用されます。デフォルトでは、0.1 (`p10`)、0.5 (`p50`)、0.9 (`p90`) の予測が生成されます。独自の分位数を指定することもできます。

Autopilot では、[TimeSeriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `ForecastQuantiles` 属性で、0.01 (p1) から 0.99 (p99) までの最大 5 つの予測分位数を、0.01 以上の増分で指定できます。

次の例では、20 日間にわたる特定の品目の予測数量または需要レベルについて、10 パーセンタイル、25 パーセンタイル、50 パーセンタイル、75 パーセンタイル予測、90 パーセンタイル予測を毎日設定しています。

```
"AutoMLProblemTypeConfig": { 
        "ForecastFrequency": "D",
        "ForecastHorizon": 20,
        "ForecastQuantiles": ["p10", "p25", "p50", "p75", "p90"],
        "TimeSeriesConfig": {
            "TargetAttributeName": "demand",
            "TimestampAttributeName": "timestamp",
            "ItemIdentifierAttributeName": "item_id"
        },
```

### さまざまな予測頻度のデータを集計する方法
<a name="timeseries-forecasting-aggregation"></a>

予測モデル (実験における最適なモデル候補とも呼ばれる) を作成するには、予測頻度を指定する必要があります。予測頻度によって、予測に含まれる予測の頻度が決定します。例えば、月次販売予測です。Autopilot の最適なモデルは、データが記録される頻度よりも高いデータ頻度の予測を生成することができます。

トレーニング中、Autopilot は指定した予測頻度と一致しないデータを集約します。例えば、日次データはあるが、毎週予測頻度を指定するような場合です。Autopilot は、そのデータが属する週に基づいて日次データを調整します。その後、Autopilot はそれを週ごとに 1 つのレコードにまとめます。

集約時、デフォルトの変換メソッドは、データを合計することです。AutoML ジョブを作成する際に、[TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `Transformations` 属性で集約を設定できます。サポートされている集約メソッドは `sum` (デフォルト) `avg`、`first`、`min`、`max` です。集約はターゲット列でのみサポートされます。

次の例では、個々のプロモーション予測の平均を計算し、最終的な集約予測値を提供するように集約を構成します。

```
"Transformations": {
            "Aggregation": {
                "promo": "avg"
            }
        }
```

### 入力データセット内の欠損値を処理する方法
<a name="timeseries-forecasting-fill-missing-values"></a>

Autopilot には、時系列データセットのターゲット列やその他の数値列の欠損値を処理するための filling メソッドが多数用意されています。サポートされている filling メソッドのリストと使用可能な filling ロジックについては、「[欠損値の処理](timeseries-forecasting-data-format.md#timeseries-missing-values)」を参照してください。

AutoML ジョブを作成する際に、[TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `Transformations` 属性で filling 戦略を設定します。

filling メソッドを設定するには、キーと値のペアを指定する必要があります。
+ キーは、filling メソッドを指定する列の名前です。
+ キーに関連付けられている値は、その列の filling 戦略を定義するオブジェクトです。

1 つの列に複数の filling メソッドを指定できます。

filling メソッドに特定の値を設定するには、fill パラメータに目的の filling メソッド値 (例: `"backfill" : "value"`) を設定し、「\_value」をサフィックスを付けた追加パラメータで実際の filling 値を定義します。たとえば、`backfill` の値を `2` に設定するには、`"backfill": "value"` および `"backfill_value":"2"` の 2 つのパラメータを含める必要があります。

以下の例では、不完全データ列「price」の filling 戦略を以下のように指定します。項目の最初のデータポイントから最後のデータポイントまでの間の欠損値はすべて `0` に設定され、その後、データセットの終了日まで、すべての欠損値は値 `2` で埋められます。

```
"Transformations": {
            "Filling": {
                "price": {
                        "middlefill" : "zero",
                        "backfill" : "value",
                        "backfill_value": "2"
                }
            }
        }
```

### 目標メトリクスの指定方法
<a name="timeseries-forecasting-set-objective-metric"></a>

Autopilot は、モデル候補を評価し、予測の生成に使用するモデルを選択するのに役立つ精度メトリクスを生成します。時系列予測実験を実行する場合、AutoML を選択して Autopilot に予測子を最適化させるか、手動で予測子のアルゴリズムを選択することができます。

デフォルトでは、Autopilot は平均重み付き分位損失を使用します。ただし、AutoML ジョブを作成する際に、[AutoMLJobObjective](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_AutoMLJobObjective.html) の `MetricName` 属性で目標メトリクスを設定することができます。

利用可能なアルゴリズムのリストについては、「[アルゴリズムは時系列予測をサポートします。](timeseries-forecasting-algorithms.md)」を参照してください。

### 祝祭日情報をデータセットに組み込む方法
<a name="timeseries-forecasting-add-holiday-calendar"></a>

Autopilot では、特徴エンジニアリングされた祝祭日情報データセットを時系列に組み込むことができます。Autopilot は 250 か国の祝祭日カレンダーをネイティブにサポートします。国を選択すると、Autopilot は、トレーニング中にその国の祝祭日カレンダーを、データセット内のすべての項目に適用します。これにより、モデルは特定の祝祭日に関連するパターンを特定できます。

AutoML ジョブを作成する際に [TimeseriesForecastingJobConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TimeSeriesForecastingJobConfig.html) の `HolidayConfig` 属性に [HolidayConfigAttributes](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HolidayConfigAttributes.html) オブジェクトを渡すことで、祝祭日特徴量化を有効にできます。`HolidayConfigAttributes` オブジェクトには、時系列データセットを補強するために使用される祝祭日カレンダーの国を決定する 2 文字の `CountryCode` 属性が含まれています。

サポートされているカレンダーのリストとそれに対応する国コードについては、「[国コード](autopilot-timeseries-forecasting-holiday-calendars.md#holiday-country-codes)」を参照してください。

### 自動デプロイを有効にする方法
<a name="timeseries-forecasting-auto-model-deployment"></a>

Autopilot を使用すると、予測モデルをエンドポイントに自動的にデプロイできます。AutoML ジョブの最適なモデル候補の自動デプロイを有効にするには、AutoML ジョブリクエストに `[ModelDeployConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateAutoMLJobV2.html#sagemaker-CreateAutoMLJobV2-request-ModelDeployConfig)` を含めます。これにより、最適なモデルを SageMaker AI エンドポイントにデプロイできます。カスタマイズできる設定は以下のとおりです。
+ Autopilot にエンドポイント名を生成させるには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を `True` に設定します。
+ エンドポイントに独自の名前を指定するには、`[AutoGenerateEndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents) to False and provide a name of your choice in [EndpointName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ModelDeployConfig.html#API_ModelDeployConfig_Contents)` を設定します。

### 大規模なデータセットのために EMR Serverless でリモートジョブを開始するように AutoML を設定する方法
<a name="autopilot-set-emr-serverless-api-forecasting"></a>

大規模なデータセットを処理するために追加のコンピューティングリソースが必要なときに、Amazon EMR Serverless で自動的にリモートジョブを開始するように AutoML ジョブ V2 を設定できます。必要に応じて EMR Serverless にシームレスに移行することで、AutoML ジョブは、ユーザーが手動で介入することなく、最初にプロビジョニングされたリソースを超えるデータセットを処理できます。EMR Serverless は、表形式および時系列の問題タイプで使用できます。30 GB を超える時系列データセットには、このオプションを設定することをお勧めします。

AutoML ジョブ V2 が大規模なデータセットに対して EMR Serverless に自動的に移行できるようにするには、`ExecutionRoleARN` フィールドを含む `EmrServerlessComputeConfig` オブジェクトを、AutoML ジョブ V2 入力リクエストの `AutoMLComputeConfig` に指定する必要があります。

`ExecutionRoleARN` は、EMR Serverless ジョブを実行するために必要なアクセス許可を AutoML ジョブ V2 に 付与する IAM ロールの ARN です。

このロールには、次の信頼関係が必要です。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "emr-serverless.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

以下を行うアクセス許可を付与します。
+ EMR Serverless アプリケーションを作成、一覧表示、更新する。
+ EMR Serverless アプリケーションでのジョブの実行を開始、一覧表示、取得、またはキャンセルする。
+ EMR Serverless リソースにタグを付ける。
+ 実行のために IAM ロールを EMR Serverless サービスに渡す。

  `iam:PassRole` アクセス許可を付与することで、AutoML ジョブ V2 は一時的に `EMRServerlessRuntimeRole-*` ロールを引き受け、EMR Serverless サービスに渡すことができます。これらは、EMR Serverless ジョブ実行環境が、データアクセス用の Amazon S3、ログ記録用の CloudWatch、 AWS Glue データカタログへのアクセス、ワークロード要件に基づくその他のサービスなど、ランタイムに必要な他の AWS サービスとリソースにアクセスするために使用する IAM ロールです。

  このロールのアクセス許可の詳細については、「[Amazon EMR Serverless のジョブランタイムロール](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html)」を参照してください。

提供されている JSON ドキュメントで定義された IAM ポリシーでは、これらのアクセス許可が付与されます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
           "Sid": "EMRServerlessCreateApplicationOperation",
           "Effect": "Allow",
           "Action": "emr-serverless:CreateApplication",
           "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListApplicationOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListApplications",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessApplicationOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:UpdateApplication",
                "emr-serverless:GetApplication"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessStartJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:StartJobRun",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessListJobRunOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:ListJobRuns",
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessJobRunOperations",
            "Effect": "Allow",
            "Action": [
                "emr-serverless:GetJobRun",
                "emr-serverless:CancelJobRun"
            ],
            "Resource": "arn:aws:emr-serverless:*:*:/applications/*/jobruns/*",
            "Condition": {
                "StringEquals": {
                    "aws:ResourceTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "EMRServerlessTagResourceOperation",
            "Effect": "Allow",
            "Action": "emr-serverless:TagResource",
            "Resource": "arn:aws:emr-serverless:*:*:/*",
            "Condition": {
                "StringEquals": {
                    "aws:RequestTag/sagemaker:is-canvas-resource": "True",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
        },
        {
            "Sid": "IAMPassOperationForEMRServerless",
            "Effect": "Allow",
            "Action": "iam:PassRole",
            "Resource": "arn:aws:iam::*:role/EMRServerlessRuntimeRole-*",
            "Condition": {
                "StringEquals": {
                    "iam:PassedToService": "emr-serverless.amazonaws.com",
                    "aws:ResourceAccount": "${aws:PrincipalAccount}"
                }
            }
         }
    ]
}
```

------