

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

# 安全性的最佳實務
<a name="security"></a>

**提示**  
 透過 Amazon EKS 研討會[探索](https://aws-experience.com/emea/smb/events/series/get-hands-on-with-amazon-eks?trk=4a9b4147-2490-4c63-bc9f-f8a84b122c8c&sc_channel=el)最佳實務。

本指南提供保護依賴 EKS 的資訊、系統和資產的建議，同時透過風險評估和緩解策略提供商業價值。此處的指引是 AWS 發佈的一系列最佳實務指南的一部分，可協助客戶根據最佳實務實作 EKS。績效、卓越營運、成本最佳化和可靠性指南將在未來幾個月提供。

## 本指南的使用方式
<a name="how-to-use-this-guide"></a>

本指南適用於負責實作和監控 EKS 叢集及其支援工作負載之安全控制有效性的安全從業人員。本指南會組織成不同的主題區域，以便於使用。每個主題都從簡短的概觀開始，接著是保護 EKS 叢集的建議和最佳實務清單。主題不需要以特定順序讀取。

## 了解共同的責任模型
<a name="understanding-the-shared-responsibility-model"></a>

使用 EKS 等受管服務時，安全與合規會被視為共同的責任。一般而言，AWS 負責雲端的安全，而身為客戶的您負責雲端的安全。使用 EKS，AWS 負責管理 EKS 受管 Kubernetes 控制平面。這包括 Kubernetes 控制平面節點、ETCD 資料庫，以及 AWS 提供安全可靠服務所需的其他基礎設施。身為 EKS 的消費者，您主要負責本指南中的主題，例如 IAM、Pod 安全性、執行期安全性、網路安全等。

在基礎設施安全性方面，當您從自我管理的工作者、受管節點群組到 Fargate 時，AWS 將承擔額外的責任。例如，使用 Fargate，AWS 會負責保護用來執行 Pod 的基礎執行個體/執行時間。

 **共同責任模型 - Fargate** 

![\[共同責任模型 - Fargate\]](http://docs.aws.amazon.com/zh_tw/eks/latest/best-practices/images/security/SRM-EKS.jpg)


AWS 也將承擔使用 Kubernetes 修補程式版本和安全性修補程式將 EKS 最佳化 AMI 保持在最新狀態的責任。使用受管節點群組 (MNG) 的客戶負責透過 EKS API、CLI、Cloudformation 或 AWS 主控台將其節點群組升級至最新的 AMI。此外，與 Fargate 不同，MNGs不會自動擴展您的基礎設施/叢集。這可由[叢集自動擴展器](https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md)或其他技術處理，例如 [Karpenter](https://karpenter.sh/)、原生 AWS Autoscaling、SpotInst 的 [Ocean](https://spot.io/product/ocean) 或 Atlassian 的 [Escalator](https://github.com/atlassian/escalator)。

 **共同責任模型 - MNG** 

![\[共同責任模型 - MNG\]](http://docs.aws.amazon.com/zh_tw/eks/latest/best-practices/images/security/SRM-MNG.jpg)


在設計您的系統之前，請務必了解您的責任與服務供應商 (AWS) 之間的分界線。

如需有關共同責任模型的其他資訊，請參閱 https：//https://aws.amazon.com/compliance/shared-responsibility-model/

## 簡介
<a name="introduction"></a>

使用 EKS 等受管 Kubernetes 服務時，有幾個相關的安全最佳實務領域：
+ 身分和存取權管理
+ Pod 安全性
+ 執行期安全性
+ 網路安全
+ 多租用
+ 多租戶的多帳戶
+ Detective 控制項
+ 基礎設施安全性
+ 資料加密和秘密管理
+ 法規合規
+ 事件回應和鑑識
+ 映像安全性

在設計任何系統時，您需要考慮其安全性影響，以及可能影響安全性狀態的實務。例如，您需要控制誰可以對一組資源執行動作。您也需要能夠快速識別安全事件、保護您的系統和服務免於未經授權的存取，以及透過資料保護維護資料的機密性和完整性。擁有一組明確定義且經過預演的程序來回應安全事件，也會改善您的安全狀態。這些工具和技術之所以重要，因為能支援諸多目的，例如防止財務損失或遵循法規義務。

AWS 透過提供一組豐富的安全服務來協助組織實現其安全與合規目標，這些服務根據廣泛的安全意識客戶的意見回饋而演進。透過提供高度安全的基礎，客戶可以在「無差別繁重」上花費較少的時間，並在實現業務目標上花費更多時間。

## 意見回饋
<a name="feedback"></a>

本指南已在 GitHub 上發佈，以便收集更廣泛的 EKS/Kubernetes 社群的直接意見回饋和建議。如果您有最佳實務，認為我們應該包含在指南中，請在 GitHub 儲存庫中提出問題或提交 PR。我們的目的是在新功能新增至服務時或新的最佳實務演進時，定期更新指南。

## 深入閱讀
<a name="further-reading"></a>

 [Kubernetes 安全白皮書](https://github.com/kubernetes/sig-security/blob/main/sig-security-external-audit/security-audit-2019/findings/Kubernetes%20White%20Paper.pdf)由安全稽核工作群組贊助，此白皮書說明 Kubernetes 攻擊面和安全架構的關鍵層面，旨在協助安全從業人員做出健全的設計和實作決策。

CNCF 也發佈了一份有關雲端原生安全性的[白皮書](https://github.com/cncf/tag-security/blob/efb183dc4f19a1bf82f967586c9dfcb556d87534/security-whitepaper/v2/CNCF_cloud-native-security-whitepaper-May2022-v2.pdf)。本文探討技術環境如何演進，並倡導採用符合 DevOps 程序和敏捷方法的安全實務。

## 工具和資源
<a name="tools-and-resources"></a>

 [Amazon EKS 安全沉浸研討會](https://catalog.workshops.aws/eks-security-immersionday/en-US) 