3 用户组

概述

用户组可用于按组织目的对用户进行分组,也可用于为数据分配权限。对主机组和模板组的数据查看与配置权限是分配给用户组的,而不是单个用户。

很多时候,将一组用户可访问的信息与另一组用户可访问的信息区分开来是有意义的。可以通过对用户进行分组,然后为主机组和模板组分配不同的权限来实现这一点。

一个用户可以属于任意数量的组。

配置

要配置用户组:

  • 转到 Users → User groups
  • 点击 Create user group(或点击组名称以编辑现有组)
  • 在表单中编辑组属性

User group 选项卡包含通用组属性:

所有必填输入字段都用红色星号标记。

Parameter Description
Group name 唯一的组名称。
Users 要将用户添加到组中,请开始输入现有用户的名称。当出现匹配的用户名下拉列表时,向下滚动进行选择。
或者,您也可以点击 Select 按钮,在弹出窗口中选择用户。
Frontend access 该组用户的身份验证方式。
System default - 使用默认身份验证方法(全局设置)
Internal - 使用 Zabbix 内部身份验证(即使全局使用 LDAP 身份验证)。
如果 HTTP 身份验证是全局默认值,则忽略此项。
LDAP - 使用 LDAP 身份验证(即使全局使用内部身份验证)。
如果 HTTP 身份验证是全局默认值,则忽略此项。
Disabled - 禁止该组访问 Zabbix 前端
LDAP server 选择用于对用户进行身份验证的 LDAP server
仅当 Frontend access 设置为 LDAP 或 System default 时,此字段才可用。
Multi-factor authentication 选择用于对用户进行身份验证的多因素身份验证 method
Default - 使用在 MFA 配置中设置为默认的方法;如果已启用 MFA,则新用户组默认选择此选项;
<Method name> - 使用所选方法(例如,“Zabbix TOTP”);
Disabled - 对该组禁用 MFA;如果未启用 MFA,则新用户组默认选择此选项。
请注意,如果一个用户属于多个已启用 MFA 的用户组(或至少有一个组启用了 MFA),则适用以下身份验证规则:如果任一组使用 “Default” MFA 方法,则将使用该方法对用户进行身份验证;否则,将使用按字母顺序排列的第一个方法进行身份验证。
Enabled 用户组及其成员的状态。
Checked - 启用用户组和用户
Unchecked - 禁用用户组和用户
Debug mode 勾选此复选框可为用户启用 debug mode

Template permissions 选项卡允许指定用户组对模板组(以及由此对模板)数据的访问权限:

Host permissions 选项卡允许指定用户组对主机组(以及由此对主机)数据的访问权限:

点击 以选择模板/主机组 (无论是父组还是嵌套组)并为其分配权限。开始输入组名称 (会出现匹配组的下拉列表),或者点击 Select 打开一个列出所有组的弹出窗口。

然后使用选项按钮为所选组分配权限。可用权限如下:

  • Read-write - 对组具有读写访问权限;
  • Read - 对组具有只读访问权限;
  • Deny - 拒绝访问该组。

如果同一个模板/主机组在多行中被添加且设置了不同权限,则将应用最严格的权限。

请注意,Super admin 用户可以强制嵌套组与父组具有相同级别的权限;这可以在 host/template 组配置表单中完成。

Template permissionsHost permissions 选项卡支持相同的一组参数。

当前对各组的权限显示在 Permissions 区块中,并且可以在此修改或移除。

如果某个用户组对主机具有 Read-write 权限,但对链接到该主机的模板具有 Deny 或没有权限, 则该组用户将无法编辑主机上的模板项,并且模板名称将显示为 Inaccessible template

Problem tag filter 选项卡允许基于标签设置权限,使用户组能够查看按标签名称和值筛选的问题:

点击 以选择主机组。 要选择用于应用标签过滤器的主机组,请点击 Select 获取 现有主机组的完整列表,或者开始输入主机组名称以获取匹配组的下拉列表。这里只会显示主机组,因为问题标签过滤器不能应用于模板组。

然后可以从 All tags 切换到 Tag list,以设置用于过滤的特定标签及其值。 可以添加没有值的标签名称,但不能添加没有名称的值。只有前 3 个标签(如果有值则包含值)会显示在 Permissions 区块中;如果有更多标签,可以通过点击或悬停在 图标上查看。

标签过滤器允许将对主机组的访问与查看问题的能力分开控制。

例如,如果数据库管理员只需要查看 “MySQL” 数据库问题,则需要先为数据库管理员创建一个用户组,然后指定 “target” 标签名称和 “mysql” 值。

如果指定了 “target” 标签名称,而值字段留空, 则该用户组将看到所选主机组中所有带有标签名称 “target” 的问题。 如果选择 All tags,则该用户组将看到指定主机组的所有 问题。

请确保标签名称和标签值 填写正确,否则该用户组将看不到 任何问题。

下面来看一个用户属于多个所选用户组的示例。 在这种情况下,过滤将对标签使用 OR 条件。

User group A User group B Visible result for a user (member) of both groups
Tag filter
Host group Tag name Tag value Host group Tag name Tag value
Databases target mysql Databases target oracle target:mysql or target:oracle problems visible
Databases set to: All tags Databases target oracle All problems visible
Not configured in the Problem tag filter Databases target oracle target:oracle problems visible

添加过滤器(例如,某个主机组 “Databases” 的所有标签)后,将无法 查看其他主机组的问题。

来自多个用户组的访问

一个用户可以属于任意数量的用户组。这些组可能对主机或模板具有不同的访问权限。

因此,了解未授权用户最终能够访问哪些实体非常重要。在下面的示例中,请考虑对于同时属于用户组 A 和 B 的用户,访问主机 X(位于 Hostgroup 1)在不同情况下会受到怎样的影响。

  • 如果组 A 仅对 Hostgroup 1 具有 Read 访问权限,而组 B 对 Hostgroup 1 具有 Read-write 访问权限,那么该用户将获得对 'X' 的 Read-write 访问权限。

"Read-write" 权限优先于 "Read" 权限。

  • 在与上面相同的场景中,如果 'X' 同时也属于 Hostgroup 2,而该 Hostgroup 2 对组 A 或 B 是 denied 的,那么尽管对 Hostgroup 1 具有 Read-write 访问权限,'X' 的访问仍将 不可用
  • 如果组 A 未定义任何权限,而组 B 对 Hostgroup 1 具有 Read-write 访问权限,那么该用户将获得对 'X' 的 Read-write 访问权限。
  • 如果组 A 对 Hostgroup 1 具有 Deny 访问权限,而组 B 对 Hostgroup 1 具有 Read-write 访问权限,那么该用户对 'X' 的访问将被 denied

其他细节

  • 具有主机 读写 访问权限的 Admin 级别用户,如果没有其所属模板组的访问权限,将无法关联/取消关联模板。若对模板组具有 读取 访问权限,则可以将模板关联/取消关联到主机,但在模板列表中不会看到任何模板,并且也无法在其他位置对模板进行操作。
  • 具有主机 读取 访问权限的 Admin 级别用户不会在配置部分的主机列表中看到该主机;但是,该主机的触发器仍可在 IT 服务配置中访问。
  • 任何非 Super Admin 用户(包括 'guest')都可以查看网络地图,只要该地图为空或仅包含图像即可。当向地图中添加主机、主机组或触发器时,将遵循权限控制。
  • 如果对相关主机的访问被明确“拒绝”,Zabbix 服务器将不会向定义为动作操作接收人的用户发送通知。