规则和流程旨在执行任意代码以完成其工作,但在这种情况下,可能需要限制他们可以执行的操作。例如,不太可能允许规则创建类加载器(什么可以打开系统进行攻击),当然不应该允许它进行调用System.exit()
。
Java平台提供了一个非常全面且定义明确的安全框架,允许用户定义系统可以执行的操作的策略。KIE平台利用该框架,并允许应用程序开发人员定义一个特定的策略,以应用于用户提供的代码的任何执行,无论是在规则,流程,工作项处理程序等。
如何定义KIE政策
规则和流程可以使用非常有限的权限运行,但引擎本身需要执行许多复杂的操作才能工作。例如:它需要创建类加载器,读取系统属性,访问文件系统等。
但是,一旦安装了安全管理器,它将根据定义的策略对JVM中执行的所有代码应用限制。因此,KIE允许用户定义两个不同的策略文件:一个用于引擎本身,另一个用于部署到引擎中并由引擎执行的资产。