本地账户

内置管理员,以及保存在 AnsibleForms 数据库中的用户和组

  1. 内置管理员
  2. 用户和组
  3. 允许登录
  4. 映射到角色
  5. 本地账户与 LDAP

内置管理员

每次启动时,如果本地 admins 组和管理员用户不存在,就会创建它们;有三个变量控制管理员:

变量 默认值 含义
ADMIN_USERNAME admin 管理员的用户名;当没有同名用户时,在 admins 组中创建。
ADMIN_PASSWORD AnsibleForms!123 创建(或重置)管理员时为其设置的密码。
REINIT_ADMIN 0 设为 1 时,将管理员密码重置为 ADMIN_PASSWORD,并把管理员重新加入 admins。

ADMIN_PASSWORD 只在创建或重置用户时使用:之后单独修改它不会产生任何效果。

使用公开的默认密码 AnsibleForms!123 登录的本地用户只能修改密码。浏览器会打开一个 无法关闭的修改密码页面,在密码修改之前,服务器对其他所有请求都返回 403(代码 password_change_required)。新密码必须与默认密码不同;修改之后,用户需使用新密码重新登录。 在首次启动前将 ADMIN_PASSWORD 设为您自己的值,即可跳过这一步。

首次启动后再修改 ADMIN_USERNAME,会以新名称创建第二个管理员用户;原来的用户仍会保留。

只要设置了 REINIT_ADMIN=1,每次 启动都会重置密码。请用它来找回丢失的管理员密码, 然后将其删除并重启。


用户和组

本地用户和组在 访问 > 用户 和 访问 > 组 下管理。用户包含以下字段:

字段 含义
用户名 登录名。必须唯一。
描述 可选。
密码 以哈希形式保存。之后可通过 修改密码 操作修改。
电子邮件 可选。
组 用户的第一个本地组。可在用户页面的 组 选项卡中添加更多组。

本地用户在自己的个人资料中修改密码;其他用户则在其目录服务或身份提供商中修改。

一个用户可以属于多个组,并获得所有这些组的角色。用户页面的 组 选项卡可以添加和 移除组,组页面的 用户 选项卡也可以。用户至少要保留一个组:最后一个组无法 移除。

仍有用户的组无法删除:请先移除其中的用户。admins 组永远不能被删除或 重命名,用户 admin 也永远不能被删除。


允许登录

用户页面的 详情 选项卡中有一个 允许登录 开关,在用户列表的行菜单中也以 阻止登录 和 允许 登录 的形式提供。本地用户以及 LDAP 和 SSO 用户都有该开关:

  • 开:用户照常登录。
  • 关:用户的会话会立即结束,所有登录都会被拒绝,直到管理员重新打开它。页面 会先请求确认。

不能为用户 admin(作为恢复访问的途径)关闭该开关,管理员也不能为自己的账户关闭它。 LDAP 或 SSO 用户的页面上还有 结束会话,它会让该用户在所有地方退出登录,但不会阻止其登录。


映射到角色

角色以 local/<group> 指定本地组,以 local/<user> 指定用户;默认情况下,admins 获得 admin:

roles:
  - name: admin
    groups:
      - local/admins
  - name: operator
    groups:
      - local/operators
    users:
      - local/svc-backup

请在 admin 角色中保留 local/admins,这样即使目录服务或身份提供商不可用,内置管理员也始终可以登录。 当 config.yaml 完全无法加载时,local/admins 的成员仍会获得 admin 角色,以便您登录并修复它。 角色选项参见 角色。


本地账户与 LDAP

用户名和密码登录会先检查本地用户,再检查 LDAP。当本地用户与目录用户同名时,本地账户始终优先, 该名称无法使用目录密码登录。请为本地账户取不会与目录账户冲突的名称,例如加上 svc- 前缀。