您可以根据自身的安全和合规要求调整 IBM® Software Hub 空闲会话超时时间。 用户在 Web 浏览器中的会话处于空闲状态达到指定的时间长度时,该用户就会从 Web 客户机自动注销。
- 谁需要完成这项任务?
要完成此任务,您必须在集群 Red Hat®
OpenShift® Container Platform 中拥有以下角色之一:
- 你需要在什么时候完成这项任务?
仅当您希望覆盖某个实例的默认空闲会话 IBM Software Hub超时时间时,才执行此操作。
根据需要重复此操作 IBM Software Hub。若存在多个实例,请对每个需要覆盖默认行为的实例重复此任务。
关于本任务
默认情况下, IBM Software Hub 系统会在12小时后自动注销用户。 您可以编辑 IBM Software Hubproduct-configmap 来调整:
| 设置 |
参数名 |
描述 |
| 用户会话过期前的剩余时间 |
TOKEN_EXPIRY_TIME |
缺省值为 12 小时。
- 如果设置
TOKEN_EXPIRY_TIME: "1",那么用户会话将在不活动 1 小时后到期。
- 如果设置
TOKEN_EXPIRY_TIME: "0.5",那么用户会话将在不活动 30 分钟后到期。
用户会话处于空闲状态达到指定的时间长度时,该用户就会从 Web 客户机自动注销。
建议将值设置在 0.1 与 1 之间。
|
| 管理员会话过期的时间长度 |
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 |
当会话创建时, IBM Software Hub 会生成一个会话令牌。 该令牌在参数 TOKEN_EXPIRY_TIME 指定的时间段内有效。
只要令牌有效,会话令牌就可以被更新。 然而,会话令牌只能在参数 TOKEN_REFRESH_PERIOD 指定的时间范围内进行更新。
缺省值为 12 小时。
建议将值设置在 1 与 24 之间。
如果您不想允许用户延长其会话,请将 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登录时,
IBM Software Hub 生成一个会话令牌。
- 若用户在上午8:00至8:30期间未在网页客户端进行操作,会话将过期并自动注销用户。
- 如果用户在上午8:10停止使用网页客户端,并在上午8:41再次尝试使用网页客户端,则必须重新进行身份验证,因为其会话已过期。
- 若用户在网页客户端保持活跃状态, IBM Software Hub 系统将每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"
当未持有平台管理权限的用户于上午8:00登录时, IBM Software Hub 系统将生成一个会话令牌。
- 若用户在上午8:00至8:30期间未在网页客户端进行操作,会话将过期并自动注销用户。
- 如果用户在上午8:10停止使用网页客户端,并在上午8:41再次尝试使用网页客户端,则必须重新进行身份验证,因为其会话已过期。
- 若用户在网页客户端保持活跃状态, IBM Software Hub 系统将每30分钟自动刷新用户令牌,直至上午10:00。 用户的会话将持续至上午10:30。 上午10:30之后,用户必须重新进行身份验证。
当拥有平台管理权限的用户于上午8:00登录时, IBM Software Hub 系统将生成一个会话令牌。 即使用户正在网页客户端中活动,其会话也将在上午8:15自动过期。
过程
- 请以具备足够权限的用户身份 Red Hat
OpenShift Container Platform 登录,以完成该任务。
- 要更改设置
TOKEN_EXPIRY_TIME :
- 将
USER_EXPIRY_TIME 环境变量值设置为会话过期前的时间长度(以小时为单位)。 使用小数点(例如) 0.5 来指定小时的分数部分。
export USER_EXPIRY_TIME=<time-in-hours>
- 在 中
TOKEN_EXPIRY_TIME 设置 product-configmap
ConfigMap参数:
oc patch configmap product-configmap \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--type=merge \
--patch="{\"data\": {\"TOKEN_EXPIRY_TIME\": \"${USER_EXPIRY_TIME}\"}}"
- 要更改设置
ADMIN_TOKEN_EXPIRY_TIME :
- 将
ADMIN_EXPIRY_TIME 环境变量值设置为会话过期前的时间长度(以小时为单位)。 使用小数点(例如) 0.5 来指定小时的分数部分。
export ADMIN_EXPIRY_TIME=<time-in-hours>
- 在 中
ADMIN_TOKEN_EXPIRY_TIME 设置 product-configmap ConfigMap参数:
oc patch configmap product-configmap \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--type=merge \
--patch="{\"data\": {\"ADMIN_TOKEN_EXPIRY_TIME\": \"${ADMIN_EXPIRY_TIME}\"}}"
- 要更改设置
TOKEN_REFRESH_PERIOD :
- 将
USER_REFRESH_PERIOD 环境变量设置为用户必须刷新会话的时间长度(以小时为单位)。 使用小数点(例如) 0.5 来指定小时的分数部分。
export USER_REFRESH_PERIOD=<time-in-hours>
- 在 中
TOKEN_REFRESH_PERIOD 设置 product-configmap ConfigMap参数:
oc patch configmap product-configmap \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--type=merge \
--patch="{\"data\": {\"TOKEN_REFRESH_PERIOD\": \"${USER_REFRESH_PERIOD}\"}}"
- 要更改设置
ADMIN_TOKEN_REFRESH_PERIOD :
- 将
ADMIN_REFRESH_PERIOD 环境变量设置为管理员刷新会话所需的时间长度(以小时为单位)。 使用小数点(例如) 0.5 来指定小时的分数部分。
export ADMIN_REFRESH_PERIOD=<time-in-hours>
- 在 中
ADMIN_TOKEN_REFRESH_PERIOD 设置 product-configmap ConfigMap参数:
oc patch configmap product-configmap \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
--type=merge \
--patch="{\"data\": {\"ADMIN_TOKEN_REFRESH_PERIOD\": \"${ADMIN_REFRESH_PERIOD}\"}}"
- 重启 pod
usermgmt 以使更改生效:
oc delete pods \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
-l component=usermgmt