【发布时间】:2020-02-17 11:27:36
【问题描述】:
我对将 Istio 与 EKS 一起使用感到有些困惑。我们有 2 个 Spring Boot 微服务,一个是 REST 服务提供者,另一个是消费者。我们想使用 Istio 实现 Authn 和 authz。
为此: 1. 在提供者服务方面:我有一个 VirtualService,一个 Destination Rule(声明 TLS 模式应该是 ISTIO_MUTUAL 用于传入流量),一个 AuthorizationPolicy,它基本上将客户端服务帐户列入白名单。我还有一个 AuthenticationPolicy 如下:
apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
name: $APP_NAME-$FEATURE_NAME-authenticationpolicy
namespace: $NAME_SPACE
spec:
targets:
- name: "$APP_NAME-$FEATURE_NAME"
peers:
- mtls:
mode: STRICT
我的理解是,此政策不允许任何非 mtls 的传入流量。
现在我怀疑如何配置我的客户端 pod 以发送所有 mtls 传出流量。我知道我必须创建一个 ServiceAccount,它使用 Authz 策略在提供商端列入白名单。我更关心我的客户端 pod在这里,因为我不确定如何在 pod 级别启用 mtls。仅供参考,我不想在命名空间级别启用 mtls。我想使用 yaml 文件在 pod 级别启用。
我对 Destination 规则、Authn 和 Authz 策略的使用理解是否正确? Destination rule、Authn 和 Authz 策略必须在服务提供商级别是否正确?客户端只需启用 MTLS 即可成功进行通信?我一直在阅读 Istio 文档,但这是我有疑问的地方
【问题讨论】:
标签: kubernetes istio amazon-eks