【问题标题】:OpenAM Policy Evalution is slow with 100s of usersOpenAM 策略评估很慢,有 100 多个用户
【发布时间】:2015-09-08 09:22:26
【问题描述】:

我在最新的 Tomcat (7.0.62) 后面部署了最新的企业版 OpenAM (12.0.0)。我还为用户和数据存储使用了最新的 OpenDJ (2.6.0)。我按照 OpenAM 安装指南中提到的确切步骤进行操作。以下是根据生产需要设置的 JVM 选项:

-Xmx2048m -XX:MaxPermSize=256m -XX:PermSize=256m -verbose:gc -server

以下是领域的设置:

/ (Root Realm) -> http://sso-admin.domain.com/openam 用于此的数据存储是默认的 SunDS 数据存储,仅使用 amadmin 登录并进行管理配置。从这里可以访问所有子领域。

/Internal (Sub-Realm of the Root Realm) -> http://sso.domain.com/openam 我们的组织使用它来登录。用于此的数据存储是我们的 Active Directory。所有代理和策略都在此处配置。

现在问题存在于Internal 领域。我有一个正在运行的 Apache 应用程序,我必须为此提供身份验证和授权(基于策略)。我使用通配符创建了策略,并为大约 250 个用户定义了主题条件。代理已安装并完美运行。当用户打开应用程序的链接http://myapp.domain.com 时,他们会被重定向到http://sso.domain.com/openam 页面,他们可以使用他们的AD 凭据登录。但是策略评估大约需要 2-3 分钟,之后用户会被重定向到应用程序。

我什至进行了测试,检查,仅将 2 个用户添加到主题条件而不是 250 个,并且它可以立即工作。我会立即被重定向到应用程序。

为什么政策评估会出现这种延迟?我该如何解决这个问题?我认为 OpenAM 可以处理 1000 多个用户,但在 250 多个用户中,它需要花费很多时间。

感谢任何帮助!

【问题讨论】:

    标签: single-sign-on openam


    【解决方案1】:

    您能否更深入地解释一下您的政策是什么样的?您是否有单独的策略,每个策略都有 250 个用户?此外,当您测试评估时,您是进行一次调用来表示单个用户会话还是多个同时调用?

    更新:是的,我可能建议不要使用 250 个主题条件;听起来运行起来很昂贵。我会考虑使用一个组来代表这些用户。假设您已使用 OR 来连接所有主题条件,则逻辑已优化,一旦成功,就无需评估其余条件。但是,如果有效主题是列表中的最后一个,则需要进行大量处理。

    目前政策引擎索引资源,但我们计划在此基础上进行扩展,其中还将包括主题索引。因此,如果组不适合您,那么您最好将其建模为 250 个策略,每个策略都有一个主题条件(或者更简单的规则)。因此,当针对特定用户访问的特定资源的请求进入时,策略引擎将本地化感兴趣的策略,而无需评估所有其他策略。

    安迪

    【讨论】:

    • 您确定实际上是需要 2-3 分钟的策略评估,而不是一些身份验证后处理吗?调试日志应该会告诉你
    • 好的,一一回答你的两个问题。 AndyF:策略已创建如下:应用程序 - MyApp,策略名称 - MyApp 常规访问,URL - myapp.mydomain.com/index.php,主题 - 250 个用户,方法:GET、POST。只有 1 个应用程序和 1 个策略,有 250 个用户。只需与 250 个用户中的一个通话即可。 @WarrenStrange:它的政策评估。如果我删除 250 个用户并只留下一个,从 sso 到 myapp 的重定向是即时的。添加其余的 249 会导致重定向需要 2-3 分钟。此外,sso 上的直接登录是即时的,因此不会延迟身份验证。
    • 重定向到 openam 通常意味着正在进行身份验证,而不是授权(策略评估)。一旦用户通过身份验证(即使在 2-3 分钟之后),对同一资源的后续请求是否很快?如果是这样 - 这不是策略评估问题 - 它与身份验证有关。
    • @PeterMajor 是的,我们手动将用户添加到主题条件。添加这 250 个用户是一次性的,但我们也会逐渐将用户添加到此列表中。截至今天,此列表中有 270 个用户,政策评估占用了太多时间。
    猜你喜欢
    • 2016-02-19
    • 1970-01-01
    • 2013-07-16
    • 1970-01-01
    • 2020-07-16
    • 1970-01-01
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    相关资源
    最近更新 更多