Istio 中的授权策略和请求身份验证有什么区别?

asd*_*3ea 2 authentication authorization kubernetes istio

我正在测试 Istio(服务网格)授权和身份验证功能,并进行了一些测试以在微服务环境中实现 JWT。并且文档不清楚对象类型“AuthorizationPolicy”和“RequestAuthentication”之间的区别,

Jul*_*sta 6

不确定您是否检查过这两个文档页面:

授权策略RequestAuthentication

使用授权策略,您可以允许或拒绝请求,但无法定义身份验证,因此请求将被接受或不接受,但不考虑身份验证方法。

另一方面,RequestAuthentication 将定义用于验证请求的身份验证方法,但根本不会限制未经身份验证的请求,因此您需要链接到它的授权规则。

RequestAuthentication 文档中的这句话对此进行了解释:

不包含任何身份验证凭据的请求将被接受,但不会具有任何经过身份验证的身份。要仅限制对经过身份验证的请求的访问,应附有授权规则

因此,在您的授权策略中,您可以定义允许或拒绝请求的策略,并且通过 RequestAuthentication 您可以定义您的身份验证方法。

如果您想将其限制为经过身份验证的请求,那么您将需要两者。基本上,最好的方法将取决于您的用例。