[comment]: # translation:outdated

[comment]: # ({46adf407-46adf407})
# 3 用户组

[comment]: # ({/46adf407-46adf407})

[comment]: # ({c89b1f9d-f58db4c9})
#### 概述

用户组允许将用户分组，既可用于组织管理，也可用于分配对数据的权限。
对主机组和模板组中的数据进行查看和配置的权限是分配给用户组的，而不是分配给单个用户。

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

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

[comment]: # ({/c89b1f9d-f58db4c9})

[comment]: # ({bb300024-fe6bb4a1})
#### 配置

要配置用户组：

-   转到 *Users > User groups*
-   点击 *Create user group*（或者点击组名以编辑现有用户组）
-   在表单中编辑组属性

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

![](../../../../assets/en/manual/config/user_group.png){width=600}

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

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

**Template permissions** 选项卡允许指定用户组对模板组（以及由此延伸的模板）数据的访问权限：

![](../../../../assets/en/manual/config/user_group_templates.png){width="600"}

**Host permissions** 选项卡允许指定用户组对主机组（以及由此延伸的主机）数据的访问权限：

![](../../../../assets/en/manual/config/user_group_hosts.png){width="600"}

点击 ![](../../../../assets/en/manual/config/add_link.png){class="nozoom"} 选择模板/主机组（无论是父组还是嵌套组），并为其分配权限。
开始输入组名（会出现匹配组的下拉列表），或者点击 *Select* 打开一个列出所有组的弹窗。

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

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

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

请注意，*Super admin* 用户可以强制嵌套组与父组具有相同级别的权限；这可以在 [host](/manual/config/hosts/host_groups)/[template](/manual/config/templates/template_groups) 组配置表单中完成。

**Template permissions** 和 **Host permissions** 选项卡支持相同的一组参数。

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

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

**Problem tag filter** 选项卡允许基于标签名称和值设置用户组权限，以查看按标签过滤的问题：

![](../../../../assets/en/manual/config/user_group_tags.png){width=600}

点击 ![](../../../../assets/en/manual/config/add_link.png){class="nozoom"} 选择主机组。
要选择用于应用标签过滤器的主机组，请点击 *Select* 获取现有主机组的完整列表，或者开始输入主机组名称以显示匹配组的下拉列表。
这里只会显示主机组，因为问题标签过滤器不能应用于模板组。

可以添加没有值的标签名，但不能添加没有名称的值。
在 *Permissions* 区块中只显示前 3 个标签（如果有值则包含值）；如果还有更多标签，可以通过点击或悬停在 ![](../../../../assets/en/manual/config/items/itemtypes/dependent_item_button.png){class="nozoom"} 图标上查看。

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

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

![](../../../../assets/en/manual/config/user_group_tag_filter_2.png){width=600}

如果指定了 “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 or target:oracle problems visible|
|Not configured in the **Problem tag filter**|<|<|Databases|target|oracle|target:oracle problems visible|

[comment]: # ({/bb300024-fe6bb4a1})

[comment]: # ({206dd6d2-e74e2150})
#### 来自多个用户组的访问

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

因此，了解低权限用户最终能够访问哪些实体非常重要。
在下面的示例中，考虑对于同时属于用户组 A 和 B 的用户，在各种情况下，对主机 **X**（位于主机组 1 中）的访问将如何受到影响。

-   如果组 A 对主机组 1 只有 *读* 权限，而组 B 对主机组 1 具有 *读写* 权限，则该用户将获得对“X”的 **读写** 访问权限。

::: noteimportant
“读写”权限优先于“读”权限。
:::

-   在与上述相同的场景中，如果“X”同时也位于主机组 2 中，而主机组 2 对组 A 或 B 是**拒绝**的，则对“X”的访问将**不可用**，尽管对主机组 1 具有 *读写* 访问权限。
-   如果组 A 未定义任何权限，而组 B 对主机组 1 具有 *读写* 访问权限，则该用户将获得对“X”的 **读写** 访问权限。
-   如果组 A 对主机组 1 具有 *拒绝* 访问权限，而组 B 对主机组 1 具有 *读写* 访问权限，则该用户对“X”的访问将被**拒绝**。

[comment]: # ({/206dd6d2-e74e2150})

[comment]: # ({a4f343e7-931529bc})
#### 其他细节

-   对某主机具有 *读写* 访问权限的 Admin 级别用户，如果对模板所属的模板组没有访问权限，则无法链接/取消链接模板。
如果对模板组具有 *读取* 访问权限，则他将能够将模板链接到/从主机取消链接模板；但是，他不会在模板列表中看到任何模板，也无法在其他位置对模板进行操作。
-   对某主机具有 *读取* 访问权限的 Admin 级别用户，将不会在配置部分的主机列表中看到该主机；但是，该主机的触发器可在 IT 服务配置中访问。
-   任何非 Super Admin 用户（包括“guest”）都可以查看网络拓扑图，只要该拓扑图为空或仅包含图像。
当向拓扑图中添加主机、主机组或触发器时，将遵循权限设置。
-   如果对相关主机的访问被显式“拒绝”，Zabbix 服务器将不会向定义为动作操作接收人的用户发送通知。

[comment]: # ({/a4f343e7-931529bc})
