我们有一个微服务架构,有REST服务通过HTTP相互交互。所有这些服务都托管在Kubernetes集群上。我们是否需要对此类服务交互进行显式身份验证,或者Kubernetes是否为其提供了足够的安全性?
Kubernetes仅为您的上传应用程序提供编排。它可以帮助您run,update,scale您的服务,并在集群内为他们提供delivering traffic的方式。大多数Kubernetes安全性与集群中的traffic management和role based administration有关。
像Istio这样的其他工具可以为您提供pod和其他一些流量管理功能之间的安全通信。
pod中的应用程序应具有基于本地文件/数据库或LDAP或OpenID等网络服务提供身份验证和授权的功能。
它完全基于您的设计,架构师,如何为您的系统创建SDD。在设计时,必须考虑安全加固并优先考虑。软件和工具带来了它们的功能,但您采用的方式很重要。 Kubernetes也不例外。
您正在使用HTTP运行微服务,并且在生产系统中,即使它在Kubernetes集群中运行,您也无法相信您的系统是安全的。 Kubernetes从安全角度带来了很酷的功能,如RBAC,CRD等,你可以在这里找到Kubernetes 1.8 Security, Workloads and Feature Depth。但是,仍然只利用这些功能是不够的。内部服务应该像外部一样安全。将工作负载运行到kubernetes集群后,您应该注意以下几点:
kubectl
。希望这可以帮助。