通过使用Istio端点身份验证,使用firebase对JWT进行身份验证



我有一个带GLCB的GKE后端(使用Ingress GCP,根据到各种bakend服务的路径进行路由(。我需要验证头中的令牌,并将请求传递给后端,如果它是有效的令牌。为了检查令牌的有效性,我需要将其传递给firebase。一旦firebase说可以,然后路由到正确的后端。

我最初使用的是ingress GCE,但这似乎只能通过使用Istio来实现。有人能建议如何进行基于istio的最终用户身份验证吗?

您可以使用AuthorizationPolicy和RequestAuthentication来执行此操作。istio文档中有这样的例子。

Istio在RequestAuthentication中做什么?

如上所述

RequestAuthentication定义了工作负载支持的请求身份验证方法。如果请求包含无效的身份验证信息,则根据配置的身份验证规则,If将拒绝该请求。不包含任何身份验证凭据的请求将被接受,但不会具有任何经过身份验证的身份。要限制仅访问经过身份验证的请求,应附带授权规则。


如上所述

发行人->标识发布JWT的发行人。请参见发行人。具有不同iss索赔的JWT将被拒绝。

示例:https://foobar.auth0.com示例:1234567-compute@developer.gserviceaccount.com

jwksUri->用于验证JWT签名的提供程序公钥集的URL。请参阅OpenID发现。

示例:https://www.googleapis.com/oauth2/v1/certs

有两个用于firebase的jwtRules和jwskUri示例。

  • https://github.com/envoyproxy/envoy/issues/5702
  • https://discuss.istio.io/t/istio-authentication-with-firebase/468/6

其他资源:

  • https://cloud.google.com/solutions/authenticating-cloud-run-on-gke-end-users-using-istio-and-identity-platform

相关内容

  • 没有找到相关文章

最新更新