我正在测试Istio(服务网状结构)的授权和认证功能,并在微服务环境下做了一些测试,以实现JWT。而文档中并不清楚对象种类 "AuthorizationPolicy "和 "RequestAuthentication "之间的区别。
不知道你是否检查了那2个文档页面。
使用授权策略,你可以ALLOW或DENY一个请求,但你不能定义Authentication,所以请求将被接受或不接受,但不考虑认证方法。
而RequestAuthentication则会定义用来验证请求的认证方法,但这根本不限制没有认证的请求,所以你需要一个授权规则与之链接。
RequestAuthentication文档中的这句话解释了这一点。
一个不包含任何认证凭证的请求将被接受,但不会有任何认证的身份。如果要限制只对经过认证的请求进行访问,应该伴随着一个授权规则。.
所以在你的授权策略中,你可以定义ALLOW或DENY请求的策略,通过RequestAuthentication你可以定义你的认证方法。
如果你想限制它的认证请求,那么你将需要这两种方法.基本上,最好的方法将取决于你的用例。