gpt4 book ai didi

kubernetes - Istio:HTTP授权:验证用户是资源所有者

转载 作者:行者123 更新时间:2023-12-02 12:15:44 25 4
gpt4 key购买 nike

正在研究使用Istio为Kubernetes中基于微服务架构构建的应用程序处理授权。

我们希望完成的一件事是通过利用Istio授权来分离服务的授权。

我们的API网关(Kong)将处理JWT token 的验证/解析,并将所有必需的属性(用户名,组,角色等)作为 header 传递,例如x-用户名:homer@somewhere.com(从服务中抽象出来)

我们要完成的工作是基于角色等进行验证,我们还希望确保x用户名也是资源的所有者,例如如果他们正在访问:

/user/{userID}/resource

这意味着如果userId与x-username header 的值匹配,我们可以继续处理请求,否则我们将发送401等

是否可以将其配置为Istio授权的一部分?

在此先感谢您的时间

最佳答案

您正在寻找的是基于属性的访问控制()。查看授权引擎,例如直接插入Kong并提供该级别的访问控制(所有权检查)的公理学。

  • 孔授权handler on GitHub
  • 关于集成
  • 的技术 webcast

    您还可以选择使用基于Istio的 authorization template的适配器从Isitio调用公理学。

    公理学中的策略使用XACML或 ALFA编写,这是ABAC /细粒度授权的2种OASIS标准。

    您可以按照以下方式轻松编写条件:
    rule checkOwner{
    deny
    condition not(owner==user.uid)
    }

    顺便说一句,您可能想发送回403,而不是401。后者是指身份验证失败。

    关于kubernetes - Istio:HTTP授权:验证用户是资源所有者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56670269/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com