2

我正在使用 IBM 的 Tivoli Security Policy Manager 和自定义 PIP(实现com.ibm.tscc.rtss.authz.api.IExternalFinder)。我可以从 TIP 控制台看到我的 PIP,并且我可以对其进行配置,以便为我的策略中的参数提供值。但是,当这些策略作为授权请求的结果进行评估时,我的 PIP 只会被要求每隔几分钟左右提供一个值。同时使用旧值。

为了证明这一点,我的 PIP 有一个内部状态,int counter其中包含一个在调用get*Attributes方法时加一的状态。我的 PIP 生成的单一String类型(环境)属性指示"even""odd"取决于counter % 2. 我期望用户每隔一次尝试就被授予访问权限,但如果请求在彼此之后过早发送,则不会发生这种情况。

有没有办法强制 TSPM 不缓存我的 PIP 的结果?这是在 TSPM 或 WebSphere 中的哪里配置的?

4

1 回答 1

2

在当前版本的 TSPM 中没有 PIP 缓存……只有请求/响应缓存。听起来这绝对是正在发生的事情 - 默认超时确实是 120 秒。请将您的所有配置更改恢复为默认值:不要为 commonauthz.home 设置任何内容 - 这是一条红鲱鱼;并将您的 config.xml 更改恢复为默认值。

禁用请求/响应缓存的正确位置是在文件中<PROFILE_HOME>/config/<CELL>/rtss/security-services.xmi。添加或编辑此部分:

<components name="Authz">
      <subComponents name="AuthzServices">
        <items name="CommonAuthz">
          <properties>
            <values name="com.ibm.sec.authz.xacml.runtime.DisableCaching" value="true" type="java.lang.String"/>
           </properties>
        </items>
      </subComponents>

然后重新启动 RTSS。

我不会在生产环境中推荐这个。

于 2011-11-14T01:04:08.573 回答