

# AWS Fargate 連邦情報処理標準 (FIPS-140)
<a name="ecs-fips-compliance"></a>

連邦情報処理規格 (Federal Information Processing Standards/FIPS–140) は、機密情報を保護する暗号モジュールのセキュリティ要件を規定する、米国およびカナダ政府の基準です。FIPS-140 は、転送中のデータと保管中のデータの暗号化に使用できる、一連の検証済みの暗号化関数を定めています。

FIPS-140 コンプライアンスをオンにすると、FIPS-140 に準拠した態様で Fargate でワークロードを実行できます。FIPS-140 コンプライアンスの詳細については、「[連邦情報処理規格 (FIPS) 140-3](https://aws.amazon.com/compliance/fips/)」を参照してください。

## AWS Fargate FIPS-140 に関する考慮事項
<a name="fips-considerations"></a>

Fargate で FIPS-140 コンプライアンスを使用する場合は、次の点を考慮してください。
+ FIPS-140 コンプライアンスは、AWS GovCloud (US) リージョンでのみ利用できます。
+ Fargate が FIPS-140 バージョン 140.3 をサポート
+ FIPS-140 コンプライアンスは、デフォルトでオフになっています。オンにする必要があります。
+ Amazon CloudWatch は、FIPS–140 コンプライアンスを使用する IPv6 のみの設定で、Amazon ECS タスクのモニタリングに使用できるデュアルスタック FIPS エンドポイントをサポートしていません。
+ タスクでは、FIPS-140 コンプライアンスのために次の設定を使用する必要があります。
  + `operatingSystemFamily` は `LINUX` でなければなりません。
  + `cpuArchitecture` は `X86_64` でなければなりません。
  + Fargate プラットフォームバージョンは `1.4.0` 以降である必要があります。

## Fargate で FIPS を使用する
<a name="use-fips"></a>

Fargate で FIPS-140 コンプライアンスを使用するには、次の手順を実行します。

1. FIPS-140 コンプライアンスをオンにします。詳細については、「[AWS Fargate 連邦情報処理標準 (FIPS-140) コンプライアンス](ecs-account-settings.md#fips-setting)」を参照してください。

1. オプションで、ECS Exec を使用して次のコマンドを実行し、クラスターの FIPS-140 コンプライアンスステータスを検証できます。

   {{cluster-name}} をクラスターの名前に、{{task-id}} をタスクの ID または ARN に、{{container-name}} をコマンドを実行するタスク内のコンテナ名に置き換えます。

   戻り値「1」は、FIPS が使用されていることを示します。

   ```
   aws ecs execute-command \
       --cluster {{cluster-name}} \
       --task {{task-id}} \
       --container {{container-name}} \
       --interactive \
       --command "cat /proc/sys/crypto/fips_enabled"
   ```

## Fargate FIPS-140 監査に CloudTrail を使用する
<a name="fips-cloud-trail"></a>

CloudTrail は、アカウント作成時に AWS で有効になります。Amazon ECS で API およびコンソールアクティビティが発生すると、そのアクティビティは **[イベント履歴]** で AWS のその他のサービスのイベントとともに CloudTrail イベントにレコードされます。最近のイベントは、AWS アカウントで表示、検索、ダウンロードできます。詳細については、[CloudTrail イベント履歴でのイベントの表示](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)を参照してください。

Amazon ECS のイベントを含む、AWS アカウントでのイベントを継続的に記録するために、CloudTrail がログファイルを Amazon S3 バケットに配信する際に使用する証跡を作成します。デフォルトでは、コンソールで追跡を作成するときに、追跡がすべてのリージョンに適用されます。証跡は、AWS パーティションのすべてのリージョンからのイベントをログに記録し、指定した Amazon S3 バケットにログファイルを配信します。さらに、CloudTrail ログで収集したイベントデータをより詳細に分析し、それに基づいて対応するため、他の AWS サービスを構成できます。詳細については、「[AWS CloudTrail を使用して Amazon ECS API コールをログに記録する](logging-using-cloudtrail.md)」を参照してください。

`PutAccountSettingDefault` API アクションを示す CloudTrail ログエントリの例を次に示します。

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDAIV5AJI5LXF5EXAMPLE",
         "arn": "arn:aws:iam::123456789012:user/jdoe",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIPWIOFC3EXAMPLE",
    },
    "eventTime": "2023-03-01T21:45:18Z",
    "eventSource": "ecs.amazonaws.com",
    "eventName": "PutAccountSettingDefault",
    "awsRegion": "us-gov-east-1",
    "sourceIPAddress": "52.94.133.131",
    "userAgent": "aws-cli/2.9.8 Python/3.9.11 Windows/10 exe/AMD64 prompt/off command/ecs.put-account-setting",
    "requestParameters": {
        "name": "fargateFIPSMode",
        "value": "enabled"
    },
    "responseElements": {
        "setting": {
            "name": "fargateFIPSMode",
            "value": "enabled",
            "principalArn": "arn:aws:iam::123456789012:user/jdoe"
        }
    },
    "requestID": "acdc731e-e506-447c-965d-f5f75EXAMPLE",
    "eventID": "6afced68-75cd-4d44-8076-0beEXAMPLE",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management",
    "tlsDetails": {
        "tlsVersion": "TLSv1.2",
        "cipherSuite": "ECDHE-RSA-AES128-GCM-SHA256",
        "clientProvidedHostHeader": "ecs-fips.us-gov-east-1.amazonaws.com"
    }
}
```