

 Amazon Forecast は新規顧客には利用できなくなりました。Amazon Forecast の既存のお客様は、通常どおりサービスを引き続き使用できます。[詳細はこちら](https://aws.amazon.com/blogs/machine-learning/transition-your-amazon-forecast-usage-to-amazon-sagemaker-canvas/)

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

# Amazon Forecast におけるデータ保護
<a name="data-protection"></a>

責任 AWS [共有モデル](https://aws.amazon.com/compliance/shared-responsibility-model/)、Amazon Forecast でのデータ保護に適用されます。このモデルで説明されているように、 AWS はすべての を実行するグローバルインフラストラクチャを保護する責任があります AWS クラウド。ユーザーは、このインフラストラクチャでホストされるコンテンツに対する管理を維持する責任があります。また、使用する「 AWS のサービス 」のセキュリティ設定と管理タスクもユーザーの責任となります。データプライバシーの詳細については、[データプライバシーに関するよくある質問](https://aws.amazon.com/compliance/data-privacy-faq/)を参照してください。欧州でのデータ保護の詳細については、*AWS セキュリティブログ*に投稿された「[AWS 責任共有モデルおよび GDPR](https://aws.amazon.com/blogs/security/the-aws-shared-responsibility-model-and-gdpr/)」のブログ記事を参照してください。

データ保護の目的で、認証情報を保護し AWS アカウント 、 AWS IAM アイデンティティセンター または AWS Identity and Access Management (IAM) を使用して個々のユーザーを設定することをお勧めします。この方法により、それぞれのジョブを遂行するために必要な権限のみが各ユーザーに付与されます。また、次の方法でデータを保護することもお勧めします:
+ 各アカウントで多要素認証 (MFA) を使用します。
+ SSL/TLS を使用して AWS リソースと通信します。TLS 1.2 は必須ですが、TLS 1.3 を推奨します。
+ で API とユーザーアクティビティのログ記録を設定します AWS CloudTrail。CloudTrail 証跡を使用して AWS アクティビティをキャプチャする方法については、「 *AWS CloudTrail ユーザーガイド*」の[CloudTrail 証跡の使用](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-trails.html)」を参照してください。
+  AWS 暗号化ソリューションと、その中のすべてのデフォルトのセキュリティコントロールを使用します AWS のサービス。
+ Amazon Macie などの高度な管理されたセキュリティサービスを使用します。これらは、Amazon S3 に保存されている機密データの検出と保護を支援します。
+ コマンドラインインターフェイスまたは API AWS を介して にアクセスするときに FIPS 140-3 検証済みの暗号化モジュールが必要な場合は、FIPS エンドポイントを使用します。利用可能な FIPS エンドポイントの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

お客様の E メールアドレスなどの極秘または機密情報を、タグ、または **[名前]** フィールドなどの自由形式のテキストフィールドに含めないことを強くお勧めします。これは、コンソール、API、または SDK を使用して Forecast AWS CLIまたは他の AWS のサービス を使用する場合も同様です。 AWS SDKs タグ、または名前に使用される自由記述のテキストフィールドに入力したデータは、請求または診断ログに使用される場合があります。外部サーバーに URL を提供する場合、そのサーバーへのリクエストを検証できるように、認証情報を URL に含めないことを強くお勧めします。

## 保管時の暗号化
<a name="encryption-at-rest"></a>

Amazon Forecast では、[CreateDataset](API_CreateDataset.md) および [CreatePredictor](API_CreatePredictor.md) オペレーション中に暗号化設定が提供されます。CreateDataset オペレーションで暗号化設定を指定した場合、保存時の暗号化用の CMK と IAM ロールが [CreateDatasetImportJob](API_CreateDatasetImportJob.md) オペレーションで使用されます。

例えば、CreateDataset オペレーションの EncryptionConfig ステートメントでキーの KMSKeyArn と RoleArn を指定した場合、Forecast はその役割を引き受け、キーを使用してデータセットを暗号化します。構成が指定されていない場合、Forecast は暗号化にデフォルトのサービスキーを使用します。さらに、CreatePredictor オペレーションの EncryptionConfig 情報を指定すると、CreatePredictorExplanability、CreateForecast、CreatePredictorBacktestExportJob などの後続のすべてのオペレーションは、同じ構成を使用して保存時の暗号化を実行します。繰り返しになりますが、暗号化設定を指定しない場合、Forecast はデフォルトのサービス暗号化を使用します。

Amazon S3 バケットに保存されているデータは、デフォルトの Amazon S3 キーによって暗号化されます。独自の AWS KMS キーを使用してデータを暗号化し、Forecast にこのキーへのアクセスを許可することもできます。Amazon S3 でのデータ暗号化の詳細については、「[暗号化によるデータの保護](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingEncryption.html)」を参照してください。独自の AWS KMS キーの管理については、「 *AWS Key Management Service デベロッパーガイド*」の[「キーの管理](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html)」を参照してください。

## 転送時と処理時の暗号化
<a name="encryption-in-transit"></a>

 Amazon Forecast は証明書で TLS AWS を使用して、他の AWS サービスに送信されるデータを暗号化します。他の AWS サービスとの通信は HTTPS 経由で行われ、Forecast エンドポイントは HTTPS 経由の安全な接続のみをサポートします。

 Amazon Forecast は、アカウントからデータをコピーし、内部 AWS システムで処理します。データを処理する際に、Forecast は Forecast AWS KMS キーまたは指定した AWS KMS キーを使用してデータを暗号化します。

## Amazon Forecast が KMS AWS で許可を使用する方法
<a name="kms-grants"></a>

Amazon Forecast には、カスタマー管理キーを使用するための[グラント](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html)が必要です。

Forecast は、[CreatePredictor](https://docs.aws.amazon.com/forecast/latest/dg/API_CreatePredictor.html#forecast-CreatePredictor-request-EncryptionConfig) または [CreateDataset](https://docs.aws.amazon.com/forecast/latest/dg/API_CreateDataset.html#forecast-CreateDataset-request-EncryptionConfig) オペレーションの **EncryptionConfig** 中に渡される IAM ロールを使用してグラントを作成します。Forecast がロールを引き受け、ユーザーに代わってグラント作成操作を行います。詳細については、[IAM ロールの設定](https://docs.aws.amazon.com/forecast/latest/dg/aws-forecast-iam-roles.html)について参照してください。

ただし、カスタマーマネージドキーで暗号化された予測子を作成すると、Amazon Forecast は [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) リクエストを送信してユーザーに代わって許可を作成します AWS KMS。の権限 AWS KMS は、Amazon Forecast に顧客アカウントの AWS KMS キーへのアクセスを許可するために使用されます。

Amazon Forecast では、暗号化されたデータセットアーティファクトを読み取る AWS KMS ために、カスタマーマネージドキーを使用して Decrypt リクエストを に送信できるように、 許可が必要です。Forecast は、トレーニングアーティファクトを Amazon S3 に[暗号化](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) AWS KMS するために、権限を使用して GenerateDataKey リクエストを に送信します。

グラントへのアクセスの取り消しや、カスタマーマネージドキーに対するサービスのアクセスの取り消しは、いつでもできます。これを行うと、Amazon Forecast はカスタマーマネージドキーによって暗号化されたすべてのデータにアクセスできなくなり、そのデータに依存しているオペレーションが影響を受けます。例えば、Amazon Forecast がアクセスできない暗号化された予測子に対して CreateForecast オペレーションを実行しようとすると、そのオペレーションは AccessDeniedException エラーを返します。

## カスタマーマネージドキーを作成する
<a name="customer-managed-key"></a>

対称カスタマーマネージドキーは、 AWS マネジメントコンソール または AWS KMS API を使用して作成できます。対称カスタマーマネージドキーを作成するには、AWS Key Management Service デベロッパーガイドの「[対称暗号化 KMS キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html#create-symmetric-cmk)」のステップに従います。

キーポリシーは、カスタマーマネージドキーへのアクセスを制御します。すべてのカスタマーマネージドキーには、キーポリシーが 1 つだけ必要です。このポリシーには、そのキーを使用できるユーザーとその使用方法を決定するステートメントが含まれています。カスタマーマネージドキーを作成する際に、キーポリシーを指定することができます。詳細については、AWS Key Management Service デベロッパーガイド の「[カスタマーマネージドキーへのアクセスの管理](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#managing-access)」を参照してください。

Amazon Forecast リソースでカスタマーマネージドキーを使用するには、キーポリシーで次の API オペレーションを許可する必要があります。
+ [kms:DescribeKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html) – カスタマーマネージドキーの詳細を提供し、Amazon Forecast がキーを検証できるようにします。
+ [kms:CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) – カスタマーマネージドキーに権限を追加します。指定された AWS KMS キーへのアクセスを制御する権限を付与します。これにより、Amazon Forecast が必要とする[オペレーションを付与](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html#terms-grant-operations)するためのアクセスが許可されます。このオペレーションにより、Amazon Forecast は `GenerateDataKey` を呼び出して、暗号化されたデータキーを生成して保存します。データキーは暗号化にすぐには使用されないからです。また、この操作により Amazon Forecast が `Decrypt` の呼び出しを行い、保存されている暗号化されたデータキーを使用して暗号化されたデータにアクセスできるようになります。
+ [kms:RetireGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_RetireGrant.html) - オペレーションが完了した後に、`CreateGrant` オペレーション中に提供された権限をすべて廃止します。

**注記**  
Amazon Forecast は、発信者の ID に `kms:Decrypt` と `kms:GenerateDataKey` の検証を行います。呼び出し元が該当する権限を持っていない場合は、AccessDeniedException を受け取ります。キーポリシーは次のコードのようになっているはずです。  

```
"Effect": "Allow",
"Principal": {
    "AWS": “AWS Invoking Identity”
},
"Action": [
    "kms:Decrypt",
    "kms:GenerateDataKey”
    ],
    "Resource": "*"
}
```

詳細については、「[IAM ポリシー](https://docs.aws.amazon.com/forecast/latest/dg/security_iam_id-based-policy-examples.html)」を参照してください。

Amazon Forecast に追加できるポリシーステートメントの例を以下に示します。これらは最低限必要な権限ですが、IAM ポリシーを使用して追加することもできます。

```
  "Statement" : [ 
    {"Sid" : "Allow access to principals authorized to use Amazon Forecast",
      "Effect" : "Allow",
      "Principal" : {"AWS" : "arn:aws:iam::111122223333:role/ROLE_PASSED_TO_FORECAST"
      },
      "Action" : [ 
        "kms:DescribeKey", 
        "kms:CreateGrant",
        "kms:RetireGrant"
      ],
      "Resource" : "*",
      "Condition" : {"StringEquals" : {"kms:ViaService" : "forecast.region.amazonaws.com",
          "kms:CallerAccount" : "111122223333"
        }
    },
    {"Sid": "Allow access for key administrators",
      "Effect": "Allow",
      "Principal": {"AWS": "arn:aws:iam::111122223333:root"
       },
      "Action" : [ 
        "kms:*"
       ],
      "Resource": "arn:aws:kms:region:111122223333:key/key_ID"
    }
  ]
```

[ポリシーのアクセス権限の指定](https://docs.aws.amazon.com/kms/latest/developerguide/control-access-overview.html#overview-policy-elements)および[キーアクセスのトラブルシューティング](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html#example-no-iam)の詳細については、「AWS Key Management Service デベロッパーガイド」を参照してください。

## Amazon Forecast Service の暗号化キーを監視する
<a name="monitoring-keys"></a>

Amazon Forecast Service リソースで AWS KMS カスタマーマネージドキーを使用する場合、 [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html)または [Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) を使用して、Forecast が送信するリクエストを追跡できます AWS KMS。次の例は`CreateGrant`、カスタマーマネージドキーによって暗号化されたデータにアクセス`DescribeKey`するために Amazon Forecast によって呼び出される AWS KMS オペレーションをモニタリングするための `RetireGrant`、、および の AWS CloudTrail イベントです。

------
#### [ DescribeKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
                "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2022-10-05T21:16:23Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2022-10-05T21:16:23Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "region",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "keyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "ECDHE-RSA-AES256-GCM-SHA384",
        "clientProvidedHostHeader": "kms.region.amazonaws.com"
    }
}
```

------
#### [ CreateGrant ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
                "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2022-10-05T23:10:27Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2022-10-05T23:10:27Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "region",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": {
        "operations": [
            "Decrypt",
            "GenerateDataKey"
        ],
        "granteePrincipal": "AWS Internal",
        "keyId": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "ECDHE-RSA-AES256-GCM-SHA384",
        "clientProvidedHostHeader": "kms.region.amazonaws.com"
    }
}
```

------
#### [ RetireGrant ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
                "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Admin"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2022-10-06T04:56:14Z",
                "mfaAuthenticated": "false"
            }
        }
    },
    "eventTime": "2022-10-06T04:56:14Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "RetireGrant",
    "awsRegion": "region",
    "sourceIPAddress": "172.12.34.56",
    "userAgent": "ExampleDesktop/1.0 (V1; OS)",
    "requestParameters": null,
    "responseElements": null,
    "additionalEventData": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "111122223333",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:region:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "ECDHE-RSA-AES256-GCM-SHA384",
        "clientProvidedHostHeader": "kms.region.amazonaws.com"
    }
}
```

------