简体   繁体   English

具有多个资源,多个规则和多个操作的XACML策略

[英]XACML Policy with Multiple Resources with Multiple Rules and Multiple Actions

In a multiple decision profile scenario I want to create a policy for a particular Tenant and for the root resources like Customer. 在多决策概要方案中,我想为特定租户和根客户(例如客户)创建策略。 Here my scenario is like I have a Tenant T1 and Tenant T1 is allowed to access Root resource Customer. 在这里,我的情况就像我有一个租户T1,并且租户T1被允许访问根资源Customer。 Customer is the Top level resource and it will contain sub child resources like: Sub-Resources: name, email . 客户是顶级资源,它将包含子子资源,例如: Sub-Resources: name, email In my scenario how can i create a policy so that i can enforce multiple rules for each sub resources like: 在我的方案中,如何创建策略,以便可以为每个子资源强制执行多个规则,例如:

Rule-1: Admin Permit access to resource- {name: create,read,update,delete}, {email: create,read,update,delete} Rule-2: Employee Permit access to resource- {name: read,update}, {email: read} Please share the policy structure and the Request format for the same. 规则1:管理员允许访问资源- {name: create,read,update,delete}, {email: create,read,update,delete}规则2:员工允许访问资源- {name: read,update}, {email: read} {name: create,read,update,delete}, {email: create,read,update,delete} {name: read,update}, {email: read}请共享相同的政策结构和请求格式。

In the request format i want to pass only the Tenant Id and the Root level resource Customer . 在请求格式中,我只希望传递租户ID和根级别资源Customer。

In this scenario, what you would want to do is pass in the field id you are interested in. 在这种情况下,您想要做的就是传递您感兴趣的字段ID。

The request would be: "Can Alice view the name field of customer record #123"? 该请求将是:“ Alice可以查看客户记录#123的名称字段”吗?

You could express this as a multiple decision request eg: 您可以将其表示为多重决策请求,例如:

"Can Alice view the name, email, and job title fields of customer record #123"? “ Alice可以查看客户记录#123的名称,电子邮件和职位名称字段”吗?

Either way your policy would be field-centric. 无论哪种方式,您的政策都将以领域为中心。 It would protect a given field or set of fields. 它将保护给定的字段或一组字段。 You could actually define a set of non-sensitive fields and a set of sensitive fields. 您实际上可以定义一组非敏感字段和一组敏感字段。 You could also even write the policy in terms of field metadata. 您甚至可以根据字段元数据编写策略。 Instead of saying "a user can view field 'email'", you could write "a user can view a field if the user's clearance > field's sensitivity". 与其说“用户可以查看字段'email'”,不如说“如果用户的权限>字段的敏感度,则用户可以查看字段”。

Alternatively, you could also use Reverse Query - that's specific to Axiomatics' APIs though. 另外,您也可以使用反向查询-尽管它特定于Axiomatics的API。 Reverse Query lets you do the following type of requests / responses: 反向查询使您可以执行以下类型的请求/响应:

  • Q: list the fields Alice can view 问:列出爱丽丝可以查看的字段
  • A: name, email 答:姓名,电子邮件

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM