我正在使用Fiware开发一个新的应用程序,并且我对使用特定的Fiware GE添加一个安全层感兴趣:
从这教程开始,我首先设置了这些组件的本地安装。几分钟后,我成功地安装了所有三个组件&运行。
然后,我开始创建应用程序、角色、权限、为用户分配角色等等。事情是在玩了一会儿的组件,AuthZforce崩溃了,我不得不重新启动它。之后,我注意到所有策略和域都从AuthZForce中删除了。
我做了一些调查,发现所有内容都保存在AuthZForce的内存中,也保存在IdM数据库中,所以如果AuthZForce崩溃,那么除非从IdM数据库中恢复策略和应用程序域,否则就会丢失所有策略和应用程序域。
问题是当您重新启动AuthZForce时,存储在IdM数据库中的所有策略和应用程序都不会自动与AuthZForce同步。要强制同步,必须对应用程序执行一些更改,例如使用IdM接口更改应用程序描述。然后IdM重新创建应用程序域和所有应用程序策略。
是否有理由这样做呢?为什么同步不自动完成?AuthZForce本身能对这些策略的持久性负责吗?
发布于 2017-12-18 08:53:13
就AuthzForce而言,IdM成功推送给Authzforce的所有策略都被保存到AuthzForce服务器的/opt/authzforce-ce-server/authzforce目录中的磁盘中。据我所知,AuthzForce服务器没有理由从那里删除数据,除非它是通过REST请求的,例如IdM。如果您在某个时候检查这个目录的内容并且它是空的,原因之一可能是IdM根本没有将任何策略推送给AuthzForce。如果您确实发现AuthzForce崩溃会擦除/opt/authzforce-ce- server /data中的所有文件(显然假设以前有一些文件),那么请使用相关的服务器日志和足够的信息来复制问题。。
回到最后一个问题,同样,AuthzForce将从IdM收到的策略保存到磁盘。但是,一方面,IdM使用自己的简化格式来管理来自GUI的角色权限,而AuthzForce则使用XACML标准。IdM图形用户界面目前还不支持XACML的全部表现力,这还远远不够。因此,当您在角色权限编辑器中单击Save时,IdM图形用户界面在推进到AuthzForce之前,会从自己的格式转换为XACML (使用简单的模板处理),这只是单向的。因此,IdM无法从AuthzForce恢复自己格式的策略(据我所知,XACML格式转换没有实现),因此IdM不能仅依赖AuthzForce进行策略存储。因为我不是IdM开发团队的一员,所以我不能深入了解细节和原因。所以如果你想要一个更好的答案,请问他们。
https://stackoverflow.com/questions/47777700
复制相似问题