请按照以下步骤使用 Microsoft Entra ID 设置 SAML:
完成上述步骤后,您的用户将能够使用 Microsoft Entra ID 凭据通过 SAML 协议登录 Zabbix。
本节提供了使用 SAML 2.0 身份验证从 Microsoft Entra ID(原 Microsoft Azure Active Directory)配置单点登录和用户供应到 Zabbix 的指导原则。
登录到 Microsoft Entra ID 的 Microsoft Entra 管理中心。出于测试目的,您可以在 Microsoft Entra ID 中创建一个免费试用帐户。
在 Microsoft Entra 管理中心中,选择 应用 -> 企业应用 -> 新建应用 -> 创建您自己的应用。
添加您的应用名称,并选择 集成任何其他应用... 选项。之后,点击 创建。
在您的应用页面中,前往 设置单点登录 并点击 开始。然后选择 SAML。
编辑 基本 SAML 配置:
zabbix
;https://<path-to-zabbix-ui>/index_sso.php?acs
:请注意,“https”是必需的。要使这与 Zabbix 一起工作,需要在 conf/zabbix.conf.php
中添加以下行:
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
属性名称是任意的。可以使用不同的属性名称,但是,它们必须与 Zabbix SAML 设置中相应的字段值匹配。
在这个声明中,重要的是通过所选的 源属性 将组名(而不是组 ID)传递给 Zabbix。否则 JIT 用户配置将无法正常工作。
conf/certs
目录中。通过运行以下命令设置其权限为 644:
确保 conf/zabbix.conf.php
包含以下行:
$SSO['IDP_CERT'] = 'conf/certs/entra.cer';
在 Zabbix 中,前往 SAML 设置 并根据 Entra ID 配置填写配置选项:
Zabbix 字段 | Entra ID 中的设置字段 | 示例值 |
---|---|---|
IdP 实体 ID | Microsoft Entra 标识 | |
SSO 服务 URL | 登录 URL | |
SLO 服务 URL | 登出 URL | |
SP 实体 ID | 标识(实体 ID) | |
用户名属性 | 自定义属性(声明) | user_email |
组名属性 | 自定义属性(声明) | groups |
用户名属性 | 自定义属性(声明) | user_name |
用户姓氏属性 | 自定义属性(声明) | user_lastname |
还需要配置用户组映射。媒体映射是可选的。
点击 更新 以保存这些设置。
1. 在您的 Entra ID 应用程序页面中,从主菜单打开配置页面。点击 开始,然后选择自动配置模式:
https://<path-to-zabbix-ui>/api_scim.php
2. 现在您可以添加所有将通过 SCIM 传递给 Zabbix 的属性。为此,请点击 映射,然后点击 配置 Microsoft Entra ID 用户。
在属性映射列表底部,启用 显示高级选项,然后点击 编辑 customappsso 的属性列表。
在属性列表底部,添加您自己的类型为 'String' 的属性:
保存列表。
3. 现在您可以为添加的属性添加映射。在属性映射列表底部,点击 添加新映射 并创建如下所示的映射:
添加所有映射后,保存映射列表。
4. 作为将用户配置到 Zabbix 的先决条件,您必须在 Entra ID 中配置用户和组。
为此,请转到 Microsoft Entra 管理中心,然后在相应的用户和组页面中添加用户/组。
5. 当在 Entra AD 中创建了用户和组后,您可以转到应用程序的 用户和组 菜单,并将它们添加到应用程序中。
6. 转到应用程序的 配置 菜单,然后点击 开始配置 以将用户配置到 Zabbix。
请注意,Entra ID 中的用户 PATCH 请求不支持媒体更改。
It is possible to configure Entra ID to validate the signature of signed authentication requests.
To make this work, create public/private keys:
openssl req -x509 -newkey rsa:4096 -keyout /usr/share/zabbix/conf/certs/request-sign.key -out /usr/share/zabbix/conf/certs/request-sign.pem -sha256 -days 1825 -nodes
Assign permissions:
chown apache /usr/share/zabbix/conf/certs/request-sign.key
chmod 400 /usr/share/zabbix/conf/certs/request-sign.key
Update Zabbix frontend configuration by adding:
Authentication issues may occur with MicroSoft Edge browsers when a user, trying to login to Zabbix via SAML, is already logged in with the MicroSoft Edge profile. As a sign of such issue the user may be able to log in to Zabbix using MicroSoft Edge in private mode.
To avoid authentication issues in this case it may be necessary to set requestedAuthnContext
to "false" in the Zabbix frontend configuration file (zabbix.conf.php).