Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes Istio:HTTP授权:验证用户是否为资源所有者_Kubernetes_Jwt_Authorization_Microservices_Istio_Abac - Fatal编程技术网

Kubernetes Istio:HTTP授权:验证用户是否为资源所有者

Kubernetes Istio:HTTP授权:验证用户是否为资源所有者,kubernetes,jwt,authorization,microservices,istio,abac,Kubernetes,Jwt,Authorization,Microservices,Istio,Abac,研究如何使用Istio处理Kubernetes中基于微服务体系结构构建的应用程序的授权 我们希望实现的一件事是通过利用Istio授权来解耦服务的授权 我们的API网关(Kong)将处理JWT令牌的验证/解析,并将任何必需的属性(用户名、组、角色等)作为标题传递,例如x-username:homer@somewhere.com(从服务中提取) 我们要完成的是根据角色等进行验证,我们还希望确保x用户名也是资源的所有者,例如,如果他们正在访问: /user/{userID}/resource 这意味

研究如何使用Istio处理Kubernetes中基于微服务体系结构构建的应用程序的授权

我们希望实现的一件事是通过利用Istio授权来解耦服务的授权

我们的API网关(Kong)将处理JWT令牌的验证/解析,并将任何必需的属性(用户名、组、角色等)作为标题传递,例如x-username:homer@somewhere.com(从服务中提取)

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

/user/{userID}/resource
这意味着如果userId与x-username头的值匹配,我们可以继续为请求提供服务,否则我们将发送401等等

是否有办法将其配置为Istio授权的一部分


提前感谢您的时间

您需要的是基于属性的访问控制()。查看授权引擎,例如直接插入香港并提供该级别访问控制(所有权检查)的Axiomatics

  • 香港授权

  • 关于一体化的技术问题

您还可以选择使用基于Istio的适配器从Istio调用Axiomatics

Axiomatics中的策略使用XACML或ABAC/细粒度授权的2个OASIS标准编写

您可以很容易地按照以下几行编写条件:

rule checkOwner{
    deny
    condition not(owner==user.uid)
}
顺便说一句,你可能想发回403而不是401。后者指的是失败的身份验证