您可以根据安全性和合规性需求调整 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.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 |
创建会话时,Cloud Pak for Data 会生成一个会话标记。 令牌的有效期为 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 登录时,
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 自动过期。
过程
- 以具有足够许可权的用户身份登录到 Red Hat
OpenShift Container Platform 以完成该任务。
- 要更改
TOKEN_EXPIRY_TIME 设置:
- 将
USER_EXPIRY_TIME 环境值设置为会话到期之前的时间长度 (以小时为单位)。 使用十进制,例如 0.5 来指定一小时的小数。
export USER_EXPIRY_TIME=<time-in-hours>
- 在
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}\"}}"
- 要更改
ADMIN_TOKEN_EXPIRY_TIME 设置:
- 将
ADMIN_EXPIRY_TIME 环境值设置为会话到期之前的时间长度 (以小时为单位)。 使用十进制,例如 0.5 来指定一小时的小数。
export ADMIN_EXPIRY_TIME=<time-in-hours>
- 在
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}\"}}"
- 要更改
TOKEN_REFRESH_PERIOD 设置:
- 将
USER_REFRESH_PERIOD 环境值设置为用户必须刷新其会话的时间长度 (以小时为单位)。 使用十进制,例如 0.5 来指定一小时的小数。
export USER_REFRESH_PERIOD=<time-in-hours>
- 在
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}\"}}"
- 要更改
ADMIN_TOKEN_REFRESH_PERIOD 设置:
- 将
ADMIN_REFRESH_PERIOD 环境值设置为管理员刷新会话的时间长度(小时)。 使用十进制,例如 0.5 来指定一小时的小数。
export ADMIN_REFRESH_PERIOD=<time-in-hours>
- 在
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}\"}}"
- 重新启动
usermgmt pod 以使更改生效:
oc delete pods \
--namespace=${PROJECT_CPD_INST_OPERANDS} \
-l component=usermgmt