

# AWS Fargate 美国联邦信息处理标准（FIPS-140）
<a name="ecs-fips-compliance"></a>

联邦信息处理标准（FIPS-140）是美国和加拿大政府标准，其中规定了对保护敏感信息的加密模块的安全要求。FIPS-140 定义了一组经过验证的加密函数，可用于加密传输中数据和静态数据。

开启 FIPS-140 合规性后，您可以以符合 FIPS-140 的方式在 Fargate 上运行工作负载。有关 FIPS-140 合规性的更多信息，请参阅 [Federal Information Processing Standard (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 不支持可用于监控仅 IPv6 配置中使用 FIPS-140 合规性的 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"
   ```

## 将 CloudTrail 用于 Fargate FIPS-140 审核
<a name="fips-cloud-trail"></a>

在您创建账户时，您的 AWS 账户中已启用 CloudTrail。当 Amazon ECS 中发生 API 和控制台活动时，该活动将记录在 CloudTrail 事件中，并与其他 AWS 服务事件一同保存在**事件历史记录**中。您可以在 AWS 账户中查看、搜索和下载最新事件。有关更多信息，请参阅[使用 CloudTrail 事件历史记录查看事件](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

如要持续记录 AWS 账户中的事件（包括 Amazon ECS 事件），请创建跟踪记录，CloudTrail 将使用跟踪记录向 Amazon S3 存储桶传送日志文件。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有区域。此跟踪记录在 AWS 分区中记录所有区域中的事件，并将日志文件传送至您指定的 Amazon S3 存储桶。此外，您可以配置其他 AWS 服务，进一步分析在 CloudTrail 日志中收集的事件数据并采取行动。有关更多信息，请参阅 [使用 AWS CloudTrail 记录 Amazon ECS API 调用](logging-using-cloudtrail.md)。

下面的示例显示了一个 CloudTrail 日志条目，该条目说明了 `PutAccountSettingDefault` API 操作：

```
{
    "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"
    }
}
```