知识卡片
传输认证与来源认证是两个正交维度
内容
“这个连接是谁建立的”和”这个请求代表谁发起的”是两个完全独立的问题:传输认证(mTLS)验证的是直连的对端服务身份,回答”谁在跟我通信”;来源认证(如 JWT)验证的是请求携带的终端用户或设备身份,回答”这个请求背后站着谁”,即使中间经过好几跳服务转发,JWT 也能一路带着终端用户的身份不丢失。两者可以只用一个,也可以叠加要求——只有 TLS 加密连接、且携带有效 JWT 的请求才放行,任一条件缺失都拒绝。发散:这本质是”连接层身份”和”应用层身份”的分离,类似 HTTPS 证书只能证明”你连的是这台服务器”,并不能证明”发请求的这个人是谁”,后者永远需要应用层单独解决。
参考来源
《Istio入门与实战》第10章《服务与身份认证》