安全最佳實務 - Amazon EMR

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

安全最佳實務

Amazon EMR EKS 上的 EMR 提供的多種安全功能,可在您開發和實作自己的安全政策時考慮使用。以下最佳實務為一般準則,並不代表完整的安全解決方案。這些最佳實務可能不適用或無法滿足您的環境需求,因此請將其視為實用建議就好,而不要當作是指示。

適用最低權限準則

EKS 上的 Amazon EMR 為使用 IAM 角色的應用程序(如執行角色)提供了精細的訪問策略。這些執行角色通過 IAM 角色的信任策略映射到 Kubernetes 服務賬户。EKS 上的 Amazon EMR 在執行用户提供的應用程序代碼的註冊 Amazon EKS 命名空間中創建窗格。運行應用程序代碼的作業窗格在連接到其他AWS服務。我們建議僅授予執行角色作業所需的最低權限集,例如覆蓋您的應用程序和對日誌目標的訪問權限。我們還建議在應用程序代碼的任何更改時定期審核作業的權限。

終端的存取控制清單

只能為已設定至少使用 VPC 中的一個私有子網路的 EKS 羣集創建託管終端節點。此配置限制對託管終端節點創建的負載均衡器的訪問,以便只能從您的 VPC 訪問這些終端節點。為了進一步增強安全性,我們建議您使用這些負載均衡器配置安全組,以便它們可以將傳入流量限製為選定的 IP 地址集。

獲取自定義映像的最新安全更新

要將自定義映像與 EKS 上的 Amazon EMR 一起使用,您可以在映像上安裝任何二進制文件和庫。您負責為添加到映像的二進制文件進行安全修補。EKS 映像上的 Amazon EMR 會定期使用最新的安全修補程序進行修補。要獲取最新映像,只要存在新的 Amazon EMR 版本的基礎映像,您就必須重建自定義映像。如需更多詳細資訊,請參閱 Amazon EMR on EKS 版本如何選擇基礎映像 URI

限制 Pod 憑據存取

Kubernetes 支持多種向容器分配憑據的方法。置備多個憑據提供程序可以增加安全模型的複雜性。Amazon EMR EKS 上已採用服務賬户 (IRSA) 的 IAM 角色作為註冊 EKS 命名空間中的標準憑據提供程序。不支援其他方法,包括庫貝 2凱姆並使用集羣上運行的實例的 EC2 實例配置文件。

隔離不受信任的應用程序代碼

EKS 上的 Amazon EMR 不會檢查系統用户提交的應用程序代碼的完整性。如果您運行的是使用多個執行角色配置的多租户虛擬羣集,這些角色可用於運行任意代碼的不受信任租户提交作業,則存在惡意應用程序升級其權限的風險。在這種情況下,請考慮將具有相似權限的執行角色隔離到不同的虛擬羣集中。

角色型存取控制 (RBAC) 許可

管理員應嚴格控制 EKS 託管命名空間上 Amazon EMR 的基於角色的訪問控制 (RBAC) 權限。至少,不應在 EKS 託管命名空間上向 Amazon EMR 中的作業提交者授予以下權限。

  • Kubernetes RBAC 修改配置映射的權限‐因為在 EKS 上的 Amazon EMR 使用 Kubernetes 配置映射來生成具有託管服務帳户名稱的託管容器模板。此屬性不應變異。

  • Kubernetes RBAC 在 EKS 窗格上執行到 Amazon EMR 的權限‐以避免授予對具有託管 SA 名稱的託管容器模板的訪問權限。此屬性不應變異。此權限還可以授予對掛載到容器中的 JWT 令牌的訪問權限,然後該令牌可用於檢索執行角色憑據。

  • Kubernetes RBAC 創建窗格的權限‐以防止用户使用 Kubernetes 服務賬户創建窗格,該賬户可以映射到具有更多AWS權限,而不是用户。

  • Kubernetes RBAC 部署變異網絡掛鈎的權限‐以防止用户使用變異的網絡掛鈎來更改由 Amazon EMR 在 EKS 上創建的容器的 Kubernetes 服務帳户名稱。

  • Kubernetes RBAC 讀取 Kubernetes 祕密的權限‐以防止用户讀取存儲在這些機密中的機密數據。

限制對節點組 IAM 角色或實例配置文件證書的訪問

  • 建議您指定最低AWS權限添加到節點組的 IAM 角色。這有助於避免使用 EKS 工作節點的實例配置文件憑據運行的代碼提升權限。

  • 要完全阻止對 EKS 託管命名空間上 Amazon EMR 中運行的所有容器的實例配置文件憑據的訪問,我們建議您運行iptables命令。如需詳細資訊,請參閱「」限制對 Amazon EC2 執行個體描述檔憑證的存取。但是,請務必適當限制您的服務賬户 IAM 角色範圍,以便 Pod 擁有所有必要的許可。例如,節點 IAM 角色會被指派從 Amazon ECR 中提取容器映像的許可。如果 Pod 沒有分配到這些許可,則該 Pod 無法從 Amazon ECR 中提取容器映像。VPC CNI 插件也需要更新。如需詳細資訊,請參閱「」演練:更新 VPC CNI 外掛程式以使用服務帳户的 IAM 角色