

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Fargate 聯邦資訊處理標準 (FIPS-140)
<a name="ecs-fips-compliance"></a>

美國聯邦資訊處理標準 (FIPS-140) 是一項美國和加拿大政府的安全標準，具體說明密碼模組的安全要求，以保護敏感資訊。FIPS-140 定義了一組經驗證的密碼函數，可用於加密傳輸中的資料和靜態資料。

當您啟用 FIPS-140 合規時，您可以在 Fargate 上以符合 FIPS-140 的方式執行工作負載。如需有關 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 不支援雙堆疊 FIPS 端點，因此無法監控採用純 IPv6 組態且需符合 FIPS-140 規範的 Amazon ECS 任務。
+ 您的任務必須使用下列組態才能符合 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。當 API 和主控台活動在 Amazon ECS 中發生時，該活動會與**事件歷史記錄**中的其他 AWS 服務事件一起記錄在 CloudTrail 事件中。您可以在 AWS 帳戶中檢視、搜尋和下載最近的事件。如需詳細資訊，請參閱《使用 CloudTrail 事件歷史記錄檢視事件》[https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

若要持續記錄您 AWS 帳戶中的事件，包括 Amazon ECS 的事件，請建立 CloudTrail 用來將日誌檔案交付至 Amazon S3 儲存貯體的線索。根據預設，當您在主控台建立線索時，線索會套用到所有 區域。線索會記錄 AWS 分割區中所有區域的事件，並將日誌檔案傳送到您指定的 Amazon S3 儲存貯體。此外，您可以設定其他 AWS 服務，以進一步分析和處理 CloudTrail 日誌中所收集的事件資料。如需詳細資訊，請參閱[使用 記錄 Amazon ECS API 呼叫 AWS CloudTrail](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"
    }
}
```