3 用户组
概述
用户组允许将用户分组,既可用于组织管理,也可用于分配对数据的权限。 对主机组和模板组中的数据进行查看和配置的权限是分配给用户组的,而不是分配给单个用户。
通常,将一组用户可用的信息与另一组用户可用的信息区分开来是有意义的。 这可以通过对用户进行分组,然后为主机组和模板组分配不同的权限来实现。
一个用户可以属于任意数量的组。
配置
要配置用户组:
- 转到 Users > User groups。
- 单击 Create user group(或单击组名称以编辑现有组)。
- 在表单中编辑组属性。
User group 选项卡包含通用组属性:

所有必填输入字段都用红色星号标记。
| Parameter | Description |
|---|---|
| Group name | 唯一的组名称。 |
| Users | 要将用户添加到组中,请开始输入现有用户的名称。当出现匹配的用户名下拉列表时,向下滚动并选择。 或者,您也可以单击 Select 按钮,在弹出窗口中选择用户。 |
| Frontend access | 该组用户的身份验证方式。 System default - 使用默认身份验证方法(全局设置)globally 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 permissions 和 Host permissions 选项卡支持相同的一组参数。
组的当前权限显示在 Permissions 区块中,并且可以修改或移除。
如果某个用户组对主机具有 Read-write 权限,但对链接到该主机的模板具有 Deny 或没有权限,则该组用户将无法编辑主机上的模板监控项,并且模板名称将显示为 Inaccessible template。
Problem tag filter 选项卡允许基于标签设置用户组权限,以查看按标签名称和值过滤的问题:

单击
以选择主机组。
要选择要应用标签过滤器的主机组,请单击 Select 查看现有主机组的完整列表,或开始输入主机组名称以显示匹配组的下拉列表。
由于问题标签过滤器不能应用于模板组,因此这里只会显示主机组。
可以添加没有值的标签名,但不能添加没有名称的值。
在 Permissions 区块中只显示前 3 个标签(如果有值则包含值);如果还有更多标签,可以单击或悬停在
图标上查看。
标签过滤器允许将对主机组的访问与查看问题的权限分离。
例如,如果数据库管理员只需要查看“MySQL”数据库问题,则需要先创建一个数据库管理员用户组,然后指定“target”标签名和“mysql”值。

如果指定了“target”标签名,而值字段留空,则该用户组将看到所选主机组中所有带有“target”标签名的问题。
请确保正确指定标签名和标签值,否则该用户组将看不到任何问题。
下面来看一个用户属于多个所选用户组的示例。 在这种情况下,过滤将对标签使用 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 或 target:oracle |
| 未在 Problem tag filter 中配置 | Databases | target | oracle | 可见的问题为 target:oracle | ||
来自多个用户组的访问
一个用户可以属于任意数量的用户组。 这些组可能对主机或模板具有不同的访问权限。
因此,了解低权限用户最终能够访问哪些实体非常重要。 在下面的示例中,考虑对于同时属于用户组 A 和 B 的用户,在各种情况下,对主机 X(位于主机组 1 中)的访问将如何受到影响。
- 如果组 A 对主机组 1 只有 读 权限,而组 B 对主机组 1 具有 读写 权限,则该用户将获得对“X”的 读写 访问权限。
“读写”权限优先于“读”权限。
- 在与上述相同的场景中,如果“X”同时也位于主机组 2 中,而主机组 2 对组 A 或 B 是拒绝的,则对“X”的访问将不可用,尽管对主机组 1 具有 读写 访问权限。
- 如果组 A 未定义任何权限,而组 B 对主机组 1 具有 读写 访问权限,则该用户将获得对“X”的 读写 访问权限。
- 如果组 A 对主机组 1 具有 拒绝 访问权限,而组 B 对主机组 1 具有 读写 访问权限,则该用户对“X”的访问将被拒绝。
其他细节
- 对某主机具有 读写 访问权限的 Admin 级别用户,如果对模板所属的模板组没有访问权限,则无法链接/取消链接模板。 如果对模板组具有 读取 访问权限,则他将能够将模板链接到/从主机取消链接模板;但是,他不会在模板列表中看到任何模板,也无法在其他位置对模板进行操作。
- 对某主机具有 读取 访问权限的 Admin 级别用户,将不会在配置部分的主机列表中看到该主机;但是,该主机的触发器可在 IT 服务配置中访问。
- 任何非 Super Admin 用户(包括“guest”)都可以查看网络拓扑图,只要该拓扑图为空或仅包含图像。 当向拓扑图中添加主机、主机组或触发器时,将遵循权限设置。
- 如果对相关主机的访问被显式“拒绝”,Zabbix 服务器将不会向定义为动作操作接收人的用户发送通知。