需要有关Istio / kubernates中的自定义身份验证的帮助

编程入门 行业动态 更新时间:2024-10-10 09:17:29

需要有关Istio / kubernates中的<a href=https://www.elefans.com/category/jswz/34/1771438.html style=自定义身份验证的帮助"/>

需要有关Istio / kubernates中的自定义身份验证的帮助

我是Istio的新手,我学到了很多东西,并将其应用于由许多微服务组成的项目中。在使用Istio时,我陷入了身份验证]

所以问题是这个。 Istio提供的身份验证涉及使用Google Oauth,Oauth或任何其他提供程序。然后,我们可以设置AuthPolicy并定义我们希望将其应用于哪些微服务。我已附上我的身份验证政策yaml,并且工作正常。现在可能在Job上进行的项目需要我也使用自定义身份验证。换句话说,我有一个处理身份验证的微服务。该auth微服务具有三个端点/ login,/ singup,/ logout和/ auth。通常,在我的应用程序中,在进行其他任何调用以确保用户已登录之前,我会先将/ auth作为中间件进行调用。微服务中的/ auth首次登录时会读取存储在cookie中的jwt令牌。放置并检查它是否有效。现在我的问题是如何添加我的自定义身份验证而不是使用Oauth?现在,如您所知,我附加的auth policy.yaml将在sidecar代理级别触发auth检查。因此我不需要将流量引导至入口网关;这意味着我的网关负责mtls,而sidecar负责jwt auth检查。因此,如何在policy.yaml中插入我的自定义身份验证或其他方式,例如“我不需要将所有流量重定向到入口网关”。

简而言之,请帮助我如何添加我的自定义auth jwt签入policy.yaml,如图片中所示或以任何其他方式,如果需要,还可以修改我的auth [micro-service] [1]代码。人们建议将流量重定向到入口网关,并在其中添加使节过滤器代码,以将流量重定向到auth微服务。但是,我不必将所有调用都重定向到入口网关并在那里运行envoy过滤器。我想通过定义策略yaml和jwt auth检查在sidecar代理级别使用policy.yaml来实现istio已经做的事情;因此我们不会将流量重定向到入口网关。

Np:我的所有微服务都在ClusterIP中,只有前端暴露在外面期待您的帮助/咨询

这里是我的身份验证策略代码。yaml

apiVersion: "authentication.istio.io/v1alpha1"
kind: "Policy"
metadata:
  name: reshub
spec:
  targets:
  - name: hotelservice // auth check when ever call is made to this microservice
 peers:
  - mtls: {}
  origins:
  - jwt:
      issuer: "/"
      jwksUri: "/.well-known/jwks.json"
  principalBinding: USE_ORIGIN

这是我用于身份验证微服务的代码,仅向您显示我当前检查jwt的日志

@app.route('/auth/varifyLoggedInUser',methods=['POST'])
def varifyLoggedInUser():
    isAuthenticated = False
    users = mongo.db.users 
    c = request.cookies.get('token')
    token = request.get_json()['cookie']
    print(token)
    if token:
        decoded_token = decode_token(token)
        user_identity =decoded_token['identity']['email']
        user = users.find_one({'email': user_identity,'token':token})
        if user:
            isAuthenticated = True     
    return jsonify({'isAuthenticated' : isAuthenticated,'token':c})
回答如下:

在这里尝试似乎旨在改善Istio的AuthService项目,该项目目前是IMO的不足:

https://github/istio-ecosystem/authservice

[我认为Istio文档暗示它比实际支持更多-Istio将接受并验证authorization的JWT令牌,但它不提供authentication的任何方式。

更多推荐

需要有关Istio / kubernates中的自定义身份验证的帮助

本文发布于:2024-05-07 15:54:25,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1757011.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:自定义   身份验证   Istio   kubernates

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!