是否可以在不启用Istio mTLS的情况下使用服务呼叫案例中的K8S ServiceAccount对服务客户端进行身份验证?

时间:2019-03-29 23:01:45

标签: istio

使用K8S ServiceAccount验证Istio中的服务非常有趣。这是否意味着我们必须启用mTLS才能使用此功能?

1 个答案:

答案 0 :(得分:0)

实际上,Istio用两种用于标识和流量管理操作的单独方法来表示安全概念:AuthenticationAuthorization。但是,作为每个安全基础架构,Istio网格都需要在目标服务之前定义Identity,以便从基础身份验证策略中获得决定,如何由{{最初建立传输和服务到服务的身份验证。 3}};授权策略可用于启用整个命名空间中的基于角色的访问控制(Pilot)机制,对象内部RBAC中沿Istio网格的对象内的服务级别和方法级别的访问控制。

相互Mixer身份验证是在启用Envoy TLS的特定Istio网格对象内通过Envoy proxy进行服务到服务通信的安全方式;因此sidecar将创建TLS证书清单并执行策略规则。

您可能可以启动mTLS认证Citadel,也可以通过手动和自动辅助工具globally启动。

身份验证策略在injection内的客户端上传播其规则,因此您可以选择trafficPolicy:启用TLS模式:mode: ISTIO_MUTUAL或禁用

trafficPolicy:
   tls:
     mode: DISABLE

我建议您通过相关的实际示例Destination rules找到有关ISTIO安全模型的一些相关信息。