以下是我尝试通过XACML / ABAC实现学习目的的要求:
资源:建筑,单位
主题:客房服务人员
任何指针?
基本上我的担心是:如果要求是这样的话,如果他/她对“unitX”有“开放”许可,管家可以“打开”“unitX”。在这里,我只想写一个简单的规则。
但是,根据我的实际要求,问题是:
由于没有一个特定的资源,但是同一类型的资源很多,我应该为每个资源编写一个单独的策略吗?防爆。建立“B1”的单独政策,“B2”的另一个政策等等?
政策如何“了解”建筑与单位之间的等级关系。
现在我对此进一步考虑,我认为以下方法应该有效(?)
resource:/ {buildingId} / {unitId} //这就是策略将如何知道父子关系
行动:开启
主题:subjectId以及该主题可能具有的所有权限(仍然在考虑如何表示权限,任何建议?)
有什么建议吗?
谢谢,
Jatin
答案 0 :(得分:1)
您需要在ABAC模型上定义以下属性:
属性 - 构建,属性值 - B1,B2,B3
属性 - 单位,属性值 - B1U1,B1U2,B1U3,B2U1,B2U2,B2U3,B3U1,B3U2,B3U3
属性 - 构建动作,属性值 - 打开
属性 - 构建居民,属性值 - Resident1,Resident2
建筑单元和建筑单元之间的层次关系需要在资源继承关系上定义。
受益人 - 建筑物:B1,继承值 - 单位:B1U1,单位:B1U2,单位:B1U3
受益人 - 建筑:B2,继承值 - 单位:B2U1,单位:B2U2,单位:B2U3
受益人 - 建筑:B3,继承值 - 单位:B3U1,单位:B3U2,单位:B3U3
现在您需要在ABAC策略上定义规则。现在,您可以使用策略自动化工具,这样您就不需要在规则创建期间考虑继承关系。您曾经定义这些关系,稍后在创建规则时,自动化工具将自动记住这些关系并自动为您创建规则。您可以下载此类工具名称“安全策略工具”。这是一个商业工具,但您可以下载免费的演示,其中还包括一个完整的xacml编辑器。请在下面查看SPT中模型的屏幕截图:
然后,通过此工具,您可以自动将ABAC策略转换为XACML,并在内置的xacml编辑器中进一步编辑以进行微调。