Isito 入门(九):安全认证
内容提要
本文介绍了Istio中的认证机制,包括服务间认证和客户端请求认证,使用Peer Authentication实现双向TLS验证和Request Authentication和Authorization Policy实现JWT验证和基于角色的访问控制。提供了实验步骤和示例代码,并介绍了如何使用Authorization Policy限制不同服务的访问策略。
关键要点
-
本文介绍了Istio中的认证机制,包括服务间认证和客户端请求认证。
-
Peer Authentication用于服务间认证,确保服务之间的通信加密。
-
默认情况下,Istio不对服务间通信进行加密或身份验证。
-
Peer Authentication解决了服务间通信保护、密钥管理和身份标识问题。
-
Request Authentication用于外部请求的用户认证,支持JWT验证。
-
Request Authentication与Authorization Policy结合使用,实现基于角色的访问控制。
-
PeerAuthentication的配置可以针对整个集群或特定命名空间。
-
PeerAuthentication有三种模式:STRICT、PERMISSIVE和DISABLE。
-
RequestAuthentication需要搭配AuthorizationPolicy使用,负责验证JWT。
-
AuthorizationPolicy控制谁可以访问哪些服务,提供细粒度的权限管理。
-
AuthorizationPolicy的规则可以定义允许访问的来源和操作。
-
实验中使用了bookinfo微服务,启用mTLS和JWT验证。
-
提供了jwks.json的生成示例和RequestAuthentication的配置示例。
-
可以通过AuthorizationPolicy限制特定路径的访问权限。
-
Istio配置不同应用的访问权限和JWT验证可能较为繁琐。