【问题标题】:Disable batch security in WebSphere Liberty在 WebSphere Liberty 中禁用批处理安全性
【发布时间】:2018-02-19 09:37:11
【问题描述】:

我们在反向代理后面使用 WebSphere Liberty 服务器。我们启用了 appSecurity-2.0 功能以添加一个自定义 TAI,该 TAI 验证代理和 Liberty 之间的 HTTP 请求。为了使用 WebSphere Liberty 附带的批处理框架,我们启用了功能 batchManagement-1.0 并添加了所需的角色配置,如此处所述https://www.ibm.com/support/knowledgecenter/en/was_beta_liberty/com.ibm.websphere.wlp.nd.multiplatform.doc/ae/twlp_batch_securing.html

如果标签 authentication-roles 添加到 server.xml 并且角色 batchAdmin 从基本注册表分配给用户,则可以通过 REST API 提交批处理。但是,如果我们添加授权角色标签,Liberty 会将来自代理(前端用户)的 HTTP 请求限制到已部署的 Web 应用程序,并报告用户没有访问资源所需的权限。 是否可以独立于 appSecurity 功能禁用 WebSphere Liberty 中的批处理安全性?

【问题讨论】:

    标签: websphere-liberty java-batch open-liberty


    【解决方案1】:

    您可以通过以下方式授予每个人batchAdmin角色访问权限:

    <authorization-roles id="com.ibm.ws.batch">
        <security-role name="batchAdmin">
            <special-subject type="ALL_AUTHENTICATED_USERS" />
        </security-role>
    </authorization-roles>
    

    或者:

    <authorization-roles id="com.ibm.ws.batch">
        <security-role name="batchAdmin">
            <special-subject type="EVERYONE" />
        </security-role>
    </authorization-roles>
    

    但是,没有办法在启用安全性的情况下禁用批处理安全性。

    【讨论】:

    • 标签 的实际作用是什么?因为在我将它添加到 server.xml 时,批处理框架正在工作,但 TAI 不再工作。Websphere 为每个用户登录到控制台:用户授权失败:xy
    • &lt;authorization-roles id="com.ibm.ws.batch"&gt; 构造控制对批处理操作(例如启动/提交、停止、获取/读取、重新启动、清除)的授权。批处理运行时检查调用 REST API 的用户是否有权执行给定的操作。对于某些操作(例如停止/清除),这是针对特定作业实例的检查,对于其他操作(列表/搜索),用户无权访问的实例被过滤掉。见here
    • 我不知道为什么使用批处理会导致您的自定义 TAI 出现问题。我可以建议您向 IBM 开具 PMR(支持票证)吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-29
    相关资源
    最近更新 更多