限制并发用户会话数

重要信息: IBM Cloud Pak® for Data 4.7 版本将于 2025 年 7 月 31 日结束支持 (EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告

IBM Cloud Pak for Data 4.7 版本支持结束之前,升级到 IBM Software Hub 5.1 版本。 更多信息,请参阅 IBM Software Hub 版本 5.1 文档中的升级 IBM Software Hub。

缺省情况下,用户可以拥有无限数量的并发会话。 例如,用户可以在 3 不同的 Web 浏览器中打开 IBM Cloud Pak for Data ,并具有 3 个并发会话。 您可以选择限制用户可以拥有的并发会话数。

谁需要完成此任务?

要完成此任务,您必须在 Red Hat® OpenShift® Container Platform 集群上具有下列其中一个角色:

  • 集群管理员
  • 实例管理员
何时需要完成此任务?
如果要限制用户可拥有的并发会话数,请完成此任务。

根据需要重复 如果您有多个 Cloud Pak for Data实例,请对要限制并发会话数的每个实例重复此任务。

准备工作

最佳实践: 如果您为安装设置环境变量,那么可以完全按照编写的方式运行此任务中的许多命令。 有关指示信息,请参阅 设置安装环境变量

在运行此任务中的命令之前,请确保确定环境变量的来源。

关于本任务

缺省情况下,用户可以拥有无限数量的并发会话。 您可以编辑 Cloud Pak for Data product-configmap ConfigMap 以限制并发会话数。

每次用户登录到 Cloud Pak for Data时,都会创建一个会话。 如果用户未从会话注销,那么他们可以结束多个并发会话。 如果限制并发会话数,那么当用户达到限制时,将自动除去用户最旧的会话。 例如,如果在 3 会话上设置限制,并且用户尝试打开第四个会话,那么将除去用户最旧的会话。

除去会话时,将从 user_sessions 数据库表中除去该会话的记录。 任何尝试使用与会话关联的 JWT 令牌都会返回错误:

  • 如果用户位于 Web 客户机中,那么该用户将接收到 302 错误。
  • 如果用户正在进行 API 调用,那么用户将接收到 401 错误。

过程

要限制并发用户会话数:

  1. 以具有足够许可权的用户身份登录到 Red Hat OpenShift Container Platform 以完成该任务。
    oc login ${OCP_URL}
  2. SESSION_LIMIT 环境变量设置为要允许的最大并发会话数:
    export SESSION_LIMIT=<number-of-sessions>
  3. product-configmap ConfigMap中设置 CONCURRENT_SESSIONS_PER_USER 参数:
    oc patch configmap product-configmap \
    --namespace=${PROJECT_CPD_INST_OPERANDS} \
    --type=merge \
    --patch="{\"data\": {\"CONCURRENT_SESSIONS_PER_USER\": \"${SESSION_LIMIT}\"}}"
  4. 重新启动 usermgmt pod 以使更改生效:
    oc delete pods \
    --namespace=${PROJECT_CPD_INST_OPERANDS} \
    -l component=usermgmt