如何使用启用“ mtls”的基于Istio的服务?

时间:2018-08-14 12:16:56

标签: kubernetes google-cloud-platform jwt istio

当前,我想将istio引入我们的微服务服务网格框架。我玩过一段时间(<1周),并且我的理解是Istio确实提供了一种确保服务与服务通信安全的简便方法。 Istio文档/文章的很多(或全部?)提供了一个示例,说明安装了istio-proxy(envoy)作为Sidecar容器的客户端和服务器如何使用implementation "com.google.android.gms:play-services-base:15.0.1" 方法建立安全通信。

但是,由于使用我们的服务(将迁移到使用istio)的现有客户端(我没有任何控制权)没有istio,因此我仍然不太了解我们应该如何做更好。

  • 是否有任何教程或示例可以更好地提供我的用例?
  • 基于非istio的客户端如何使用mtls来使用我们基于istio的服务?考虑使用基本的mtls命令来模拟这样的事情。
  • 此外,我正在考虑将特定的服务帐户(kubernetes,gcp iam服务帐户等)分配给客户端,以在调用我们的服务时限制客户端的特权。我对这些事情有很多疑问:gcp iam服务帐户,istio,rbac,mtls,jwt令牌等有助于保护我们的服务API?

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

您想在公共网络上通过SSL将第三方添加到网络之外的Istio网格中吗?

我认为Istio并非真正用于联合外部服务,但是您可以在网络边缘安装一个istio入口网关代理,以路由到您的应用程序和从中退出。

https://istio.io/docs/tasks/traffic-management/ingress/

如果您要构建微服务,那么肯定有一个端点或网关(对我来说似乎更明智),请尝试Apigee或其他方法。