可使用 WebSphere 方法级别声明式安全性来限制对 Common Event Infrastructure 功能的访问。
Common Event Infrastructure 定义 6 个安全角色,每个安全角色与一组相关的功能相关联。这些安全角色控制对编程接口和命令的访问。(Common Event Infrastructure 的缺省配置)不需要使用这些角色;但在“网络部署”环境中,WebSphere ESB 需要指定给 Common Event Infrastructure 安全角色的相同用户进行认证。有关安全角色的更多信息,请参阅 WebSphere Application Server 信息中心中的了解安全性和基于角色的授权。如果已经成为 WebSphere ESB 认证成员并且全局安全性已开启,则可以访问 Common Event Infrastructure 资源。
如果通过将特定用户映射至角色来使用安全角色,则认证用户应该是指定给安全角色的用户。有关认证用户和 RunAs 角色的更多信息,请参阅将用户指定给 RunAs 角色。
下表描述安全角色及与每个角色相关联的用户的类型。
安全角色 | 用户类型 |
---|---|
eventAdministrator | 需要查询、更新和删除存储在事件数据库中的事件的事件使用者。此角色提供对以下接口的访问:
|
eventConsumer | 需要查询存储在事件数据库中的事件的事件使用者。此角色提供对以下接口的访问:
|
eventUpdater | 需要更新存储在事件数据库中的事件的事件使用者。此角色提供对以下接口的访问:
|
eventCreator | 需要使用同步 EJB 调用将事件提交至发射器的事件源。此角色提供对以下接口的访问:
注: 仅当发射器配置为使用同步 EJB 调用进行事件传输时,eventCreator 角色才会限制对事件提交的访问。如果发射器使用异步
JMS 消息传递进行事件传输,则必须使用 JMS 安全性来限制对用于提交事件的目标的访问。
|
catalogAdministrator | 需要在事件目录中创建、更新、删除或检索事件定义的事件目录应用程序。此角色提供对 EventCatalog 接口的所有方法的访问和对 eventcatalog.jacl 脚本的所有功能的访问。因为对事件目录的更改可能导致生成事件,所以此角色还会提供对事件提交接口的访问。 |
catalogReader | 需要从事件目录检索事件定义的事件目录应用程序。此角色提供对以下接口的访问:
|
与使用 Common Event Infrastructure 功能关系最密切的安全角色包括 eventAdministrator 和 eventConsumer。
事件服务器消息驱动的 bean 使用 WebSphere ESB 用户标识运行。如果要使用异步 JMS 传输将事件提交至事件服务器,并且已经启用了基于方法的安全性,则必须将此用户标识映射至 eventCreator 角色。
如果启用了 Java 2 安全性,则必须修改策略文件以允许访问特定功能:
permission java.io.FilePermission "${java.io.tmpdir}${/}guid.lock", "read, write, delete"; permission java.net.SocketPermission "*", "resolve";
permission java.util.PropertyPermission "*", "read"; permission java.io.FilePermission "${was.install.root}${/}java${/}jre${/}lib${/}jxpath.properties", "read";