Documentation

25. 使用会话限制

设置会话限制可允许管理员限制每个用户或每个 IP 地址可以同时具有的并发会话数。

在 Ansible Tower 中,可为用户用来登录的每个浏览器创建一个会话,它会强制用户在超过管理员定义的最大值后注销任何额外的会话。

会话限制可能很重要,具体取决于您的具体设置。例如,您可能只希望系统中的单个用户在每台设备中有一个登录(其中用户可在其笔记本电脑、手机或家用计算机上登录),在这种情况下,您可以把会话限制设置为 1。如果用户在笔记本电脑上登录,然后又使用其手机登录,则通过笔记本进行的会话会过期(超时),仅在手机上保持登录。

会话限制的数量可以设置为一个比较小的值,但也可以根据机构的要求将其扩展为允许大量并发会话登录。

当用户进行登录,且其登录行为导致其他用户的登陆被注销时,则代表已达到会话限制,那些被注销的用户将会收到包括注销原因的信息。

要修改会话限制,请导航到 /etc/tower/conf.d 并编辑 sessions.py 文件。如果您对 REST 请求很熟悉,也可以使用 Browsable API。您应该更改的设置如下:

# Seconds before auth tokens expire.
SESSION_COOKIE_AGE = 1800

# Maximum number of per-user valid, concurrent tokens.
# -1 is unlimited
SESSIONS_PER_USER = -1

# Enable / Disable HTTP Basic Authentication used in the API browser
# Note: Session limits are not enforced when using HTTP Basic Authentication.
AUTH_BASIC_ENABLED = True

注解

要最好地使用会话限制,可以把``AUTH_BASIC_ENABLED`` 的值改为 False 以禁用它,因为它不在会话限制的管辖范围之内。

警告

主动的会话限制会在会话闲置时让用户退出。强烈建议您不要将会话限制设置为小于 1 分钟,因为这样做会破坏您的 Ansible Tower 实例。