设置空闲会话超时

您可以根据安全性和合规性需求调整 IBM Cloud Pak for Data 的空闲会话超时。 用户在 Web 浏览器中的会话处于空闲状态达到指定的时间长度时,该用户就会从 Web 客户机自动注销。

谁需要完成此任务?

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

  • 集群管理员
  • 实例管理员
何时需要完成此任务?

仅当要覆盖 IBM Cloud Pak for Data实例的缺省空闲会话超时时,才应完成此任务。

根据需要重复 如果您有多个 Cloud Pak for Data实例,请对要覆盖缺省行为的每个实例重复此任务。

关于本任务

缺省情况下, Cloud Pak for Data 会在 12 小时后将用户注销。 您可以编辑 Cloud Pak for Data product-configmap 以进行调整:

设置 参数名称 描述
用户会话到期前的时间长度 TOKEN_EXPIRY_TIME 缺省值为 12 小时。
  • 如果设置 TOKEN_EXPIRY_TIME: "1",那么用户会话将在不活动 1 小时后到期。
  • 如果设置 TOKEN_EXPIRY_TIME: "0.5",那么用户会话将在不活动 30 分钟后到期。

用户会话处于空闲状态达到指定的时间长度时,该用户就会从 Web 客户机自动注销。

建议将值设置在 0.11 之间。

管理员会话到期之前的时间长度 ADMIN_TOKEN_EXPIRY_TIME 缺省情况下, TOKEN_EXPIRY_TIME 设置适用于所有用户。

您可以选择设置 ADMIN_TOKEN_EXPIRY_TIME 以覆盖具有 管理平台 许可权的用户的 TOKEN_EXPIRY_TIME 设置。

具有 管理平台 许可权的用户在该平台上具有提升的许可权。 您可以使用 ADMIN_TOKEN_EXPIRY_TIME 设置,通过将 ADMIN_TOKEN_EXPIRY_TIME 设置为低于 TOKEN_EXPIRY_TIME来限制敏感数据的暴露。

例如,设置:
  • TOKEN_EXPIRY_TIME: "1" ,用于在 1 小时不活动后将常规用户注销。
  • ADMIN_TOKEN_EXPIRY_TIME: ".25" ,用于在处于不活动状态 15 分钟后使用 管理平台 许可权记录用户。
用户会话的最长长度 TOKEN_REFRESH_PERIOD

创建会话时,Cloud Pak for Data 会生成一个会话标记。 令牌的有效期为 TOKEN_EXPIRY_TIME 参数指定的时间长度。

在令牌有效期内,会话令牌可以更新。 不过,会话令牌只能在 TOKEN_REFRESH_PERIOD 参数指定的时限内更新。

缺省值为 12 小时。

建议将值设置在 124 之间。

如果您不想允许用户延长其会话,请将 TOKEN_REFRESH_PERIOD 参数设置为小于 TOKEN_EXPIRY_TIME 参数的值。

管理员会话的最长长度 ADMIN_TOKEN_REFRESH_PERIOD 缺省情况下, TOKEN_REFRESH_PERIOD 设置适用于所有用户。

您可以选择设置 ADMIN_TOKEN_REFRESH_PERIOD 以覆盖具有 管理平台 许可权的用户的 TOKEN_REFRESH_PERIOD 设置。

具有 管理平台 许可权的用户在该平台上具有提升的许可权。 您可以使用 ADMIN_TOKEN_REFRESH_PERIOD 设置,通过将 ADMIN_TOKEN_REFRESH_PERIOD 设置为低于 TOKEN_REFRESH_PERIOD来限制敏感数据的暴露。

使用以下示例来了解这些设置的工作方式:

样本配置 1
在此配置中,将对所有用户应用相同的设置。
TOKEN_EXPIRY_TIME: "0.5"
TOKEN_REFRESH_PERIOD: "2"
当用户在上午 8:00 登录时,Cloud Pak for Data 会生成一个会话标记。
  • 如果用户在上午 8:00 至 8:30 之间未在网络客户端中活动,会话将过期,用户将被注销。
  • 如果用户在上午 8:10 时停止使用网络客户端,并在上午 8:41 时再次尝试使用网络客户端,则用户必须重新验证网络客户端,因为他们的会话已过期。
  • 如果用户在网络客户端中保持激活状态,Cloud Pak for Data 将每隔 30 分钟自动刷新一次用户令牌,直至上午 10:00。 用户的会话将持续到上午 10:30。 上午 10:30 之后,用户必须重新进行身份验证。
样本配置 2
在此配置中,将对具有 管理平台 许可权的用户应用更严格的设置。
TOKEN_EXPIRY_TIME: "0.5"
ADMIN_TOKEN_EXPIRY_TIME: "0.25"
TOKEN_REFRESH_PERIOD: "2"
ADMIN_TOKEN_REFRESH_PERIOD: "0.1"

当没有 Administer platform 权限的用户在上午 8:00 登录时,Cloud Pak for Data 会生成一个会话标记。

  • 如果用户在上午 8:00 至 8:30 之间未在网络客户端中活动,会话将过期,用户将被注销。
  • 如果用户在上午 8:10 时停止使用网络客户端,并在上午 8:41 时再次尝试使用网络客户端,则用户必须重新验证网络客户端,因为他们的会话已过期。
  • 如果用户在网络客户端中保持激活状态,Cloud Pak for Data 将每隔 30 分钟自动刷新一次用户令牌,直至上午 10:00。 用户的会话将持续到上午 10:30。 上午 10:30 之后,用户必须重新进行身份验证。

当具有 Administer platform 权限的用户在上午 8:00 登录时,Cloud Pak for Data 会生成一个会话标记。 即使用户在网络客户端中处于活动状态,其会话也会在上午 8:15 自动过期。

过程

  1. 以具有足够许可权的用户身份登录到 Red Hat OpenShift Container Platform 以完成该任务。
    ${OC_LOGIN}
  2. 要更改 TOKEN_EXPIRY_TIME 设置:
    1. USER_EXPIRY_TIME 环境值设置为会话到期之前的时间长度 (以小时为单位)。 使用十进制,例如 0.5 来指定一小时的小数。
      export USER_EXPIRY_TIME=<time-in-hours>
    2. product-configmap ConfigMap中设置 TOKEN_EXPIRY_TIME 参数:
      oc patch configmap product-configmap \
      --namespace=${PROJECT_CPD_INST_OPERANDS} \
      --type=merge \
      --patch="{\"data\": {\"TOKEN_EXPIRY_TIME\": \"${USER_EXPIRY_TIME}\"}}"
  3. 要更改 ADMIN_TOKEN_EXPIRY_TIME 设置:
    1. ADMIN_EXPIRY_TIME 环境值设置为会话到期之前的时间长度 (以小时为单位)。 使用十进制,例如 0.5 来指定一小时的小数。
      export ADMIN_EXPIRY_TIME=<time-in-hours>
    2. product-configmap ConfigMap中设置 ADMIN_TOKEN_EXPIRY_TIME 参数:
      oc patch configmap product-configmap \
      --namespace=${PROJECT_CPD_INST_OPERANDS} \
      --type=merge \
      --patch="{\"data\": {\"ADMIN_TOKEN_EXPIRY_TIME\": \"${ADMIN_EXPIRY_TIME}\"}}"
  4. 要更改 TOKEN_REFRESH_PERIOD 设置:
    1. USER_REFRESH_PERIOD 环境值设置为用户必须刷新其会话的时间长度 (以小时为单位)。 使用十进制,例如 0.5 来指定一小时的小数。
      export USER_REFRESH_PERIOD=<time-in-hours>
    2. product-configmap ConfigMap中设置 TOKEN_REFRESH_PERIOD 参数:
      oc patch configmap product-configmap \
      --namespace=${PROJECT_CPD_INST_OPERANDS} \
      --type=merge \
      --patch="{\"data\": {\"TOKEN_REFRESH_PERIOD\": \"${USER_REFRESH_PERIOD}\"}}"
  5. 要更改 ADMIN_TOKEN_REFRESH_PERIOD 设置:
    1. ADMIN_REFRESH_PERIOD 环境值设置为管理员刷新会话的时间长度(小时)。 使用十进制,例如 0.5 来指定一小时的小数。
      export ADMIN_REFRESH_PERIOD=<time-in-hours>
    2. product-configmap ConfigMap中设置 ADMIN_TOKEN_REFRESH_PERIOD 参数:
      oc patch configmap product-configmap \
      --namespace=${PROJECT_CPD_INST_OPERANDS} \
      --type=merge \
      --patch="{\"data\": {\"ADMIN_TOKEN_REFRESH_PERIOD\": \"${ADMIN_REFRESH_PERIOD}\"}}"
  6. 重新启动 usermgmt pod 以使更改生效:
    oc delete pods \
    --namespace=${PROJECT_CPD_INST_OPERANDS} \
    -l component=usermgmt