Kubernetes Istio:HTTP授权:验证用户是否为资源所有者
研究如何使用Istio处理Kubernetes中基于微服务体系结构构建的应用程序的授权 我们希望实现的一件事是通过利用Istio授权来解耦服务的授权 我们的API网关(Kong)将处理JWT令牌的验证/解析,并将任何必需的属性(用户名、组、角色等)作为标题传递,例如x-username:homer@somewhere.com(从服务中提取) 我们要完成的是根据角色等进行验证,我们还希望确保x用户名也是资源的所有者,例如,如果他们正在访问: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 这意味
/user/{userID}/resource
这意味着如果userId与x-username头的值匹配,我们可以继续为请求提供服务,否则我们将发送401等等
是否有办法将其配置为Istio授权的一部分
提前感谢您的时间您需要的是基于属性的访问控制()。查看授权引擎,例如直接插入香港并提供该级别访问控制(所有权检查)的Axiomatics
- 香港授权
- 关于一体化的技术问题
rule checkOwner{
deny
condition not(owner==user.uid)
}
顺便说一句,你可能想发回403而不是401。后者指的是失败的身份验证