为了限制特定的服务访问,需要对服务的来源身份进行认证,不仅防止外部的恶意访问,集群内部的服务也要做限制。实现认证一般有两种方式:
Istio 提供两种类型的认证:
Peer authentication:用于服务到服务的认证,以验证进行连接的客户端。Istio 提供双向 TLS 作为传输认证的全栈解决方案,无需更改服务代码就可以启用它。这个解决方案:
Request authentication:用于最终用户认证,以验证附加到请求的凭据。 Istio 使用 JSON Web Token(JWT)验证启用请求级认证,并使用自定义认证实现或任何 OpenID Connect 的认证实现来简化的开发人员体验。
在bookinfo app里,对default namespace添加peer authentication, 此时访问app service时,状态码不是200