

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

# Amazon ECS 的加密最佳實務
<a name="ecs"></a>

[Amazon Elastic Container Service (Amazon ECS)](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/Welcome.html) 是快速、可擴展的容器管理服務，可協助您執行、停止和管理叢集上的容器。

透過 Amazon ECS，您可以使用下列任何一種方法來加密傳輸中的資料：
+ 建立服務網格。使用 AWS App Mesh設定已部署 [Envoy](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy.html) 代理與網格端點之間的 TLS 連線，例如[虛擬節點](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_nodes.html)或[虛擬閘道](https://docs.aws.amazon.com/app-mesh/latest/userguide/virtual_gateways.html)。您可以從 AWS 私有憑證授權單位 或客戶提供的憑證使用 TLS 憑證。如需詳細資訊和逐步解說，請參閱[AWS App Mesh 使用 AWS Certificate Manager (ACM) 或客戶提供的憑證在 中的服務之間啟用流量加密](https://aws.amazon.com/blogs/containers/enable-traffic-encryption-between-services-in-aws-app-mesh-using-aws-certificate-manager-or-customer-provided-certificates/) (AWS 部落格文章）。
+ 如果支援，請使用 [AWS Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave.html)。 AWS Nitro Enclaves 是一種 Amazon EC2 功能，可讓您從 Amazon EC2 執行個體建立稱為 *enclaves* 的隔離執行環境。其旨在協助保護您最敏感的資料。或者，[ACM for Nitro Enclaves](https://docs.aws.amazon.com/enclaves/latest/user/nitro-enclave-refapp.html) 可讓您透過以 AWS Nitro Enclaves 在 Amazon EC2 執行個體上執行的 Web 應用程式和 Web 伺服器，使用公有和私有 SSL/TLS 憑證。如需詳細資訊，請參閱 [AWS Nitro Enclaves – 處理機密資料的隔離 EC2 環境](https://aws.amazon.com/blogs/aws/aws-nitro-enclaves-isolated-ec2-environments-to-process-confidential-data/) (AWS 部落格文章）。
+ 搭配 Application Load Balancer 使用伺服器名稱指示 (SNI) 通訊協定。您可以在 Application Load Balancer 的單一 HTTPS 接聽程式後方部署多個應用程式。每個接聽程式都具有自己的 TLS 憑證。您可以使用 ACM 提供的憑證，也可以使用自我簽署憑證。[Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/create-https-listener.html) 和 [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/create-tls-listener.html) 都支援 SNI。如需詳細資訊，請參閱 [Application Load Balancer 現在支援使用 SNI 進行智慧選擇的多個 TLS 憑證](https://aws.amazon.com/blogs/aws/new-application-load-balancer-sni/) (AWS 部落格文章）。
+ 為了提高安全性和彈性，請使用 AWS 私有憑證授權單位 部署具有 Amazon ECS 任務的 TLS 憑證。如需詳細資訊，請參閱[維護 TLS 至您的容器第 2 部分：使用 AWS 私有 CA](https://aws.amazon.com/blogs/compute/maintaining-transport-layer-security-all-the-way-to-your-container-part-2-using-aws-certificate-manager-private-certificate-authority/)(AWS 部落格文章）。
+ 使用[機密探索服務](https://www.envoyproxy.io/docs/envoy/latest/configuration/security/secret) (Envoy) 或 [ACM 中託管](https://github.com/aws/aws-app-mesh-examples/tree/main/walkthroughs/howto-mutual-tls-file-provided)的憑證 (GitHub) 在 App Mesh 中實作雙向 TLS ([mTLS](https://docs.aws.amazon.com/app-mesh/latest/userguide/mutual-tls.html))。

請考慮此服務的下列加密最佳實務：
+ 在技術上可行的情況下，為了增強安全性，在 AWS PrivateLink中設定 [Amazon ECS 介面 VPC 端點](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/vpc-endpoints.html)。透過 VPN 連線存取這些端點會加密傳輸中的資料。
+ 安全地儲存敏感材料，例如 API 金鑰或資料庫憑證。您可以將這些參數作為加密參數儲存在 Parameter Store ( AWS Systems Manager的功能) 中。不過，我們建議您使用 ， AWS Secrets Manager 因為此服務可讓您自動輪換秘密、產生隨機秘密，以及跨 共用秘密 AWS 帳戶。
+ 如果資料中心的使用者或應用程式或 Web 上的外部第三方正在向 提出直接 HTTPS API 請求 AWS 服務，請使用從 AWS Security Token Service () 取得的臨時安全登入資料簽署這些請求AWS STS。