本节提供通过SAML 2.0认证从Microsoft Entra ID(原Microsoft Azure Active Directory)配置Zabbix单点登录的指导说明。
请注意,要使单点登录生效,其用户名必须存在于Zabbix中,但不会使用该用户的Zabbix密码。若认证成功,Zabbix会将返回的SAML用户名属性与本地用户名进行匹配。
1。登录Microsoft Entra ID的Microsoft Entra管理中心。出于测试目的,您可以在Microsoft Entra ID中创建免费试用账户。
2。在Microsoft Entra管理中心选择应用程序 -> 企业应用程序 -> 新建应用程序 -> 创建自己的应用程序。
3。添加您的应用名称并选择集成任何其他应用程序...选项。完成后点击创建。
1。在您的应用程序页面中,转到设置单点登录并点击开始使用。然后选择SAML。
2。编辑基本SAML配置:
zabbix
;https://<path-to-zabbix-ui>/index_sso.php?acs
:注意必须使用"https"。要使该配置在Zabbix中生效,需在conf/zabbix.conf.php
中添加以下行:
$SSO['SETTINGS'] = ['use_proxy_headers' => true];
3。编辑属性与声明。您必须添加要传递给Zabbix的用户名属性(本例中为user_email
)。
属性名称可自定义。可以使用不同的属性名称,但必须确保它们与Zabbix SAML设置中的相应字段值匹配。
4。在SAML证书中下载Entra ID提供的Base64证书,并将其放入Zabbix前端安装目录的conf/certs
。
通过以下命令设置644权限:
确保conf/zabbix.conf.php
包含以下行:
$SSO['IDP_CERT'] = 'conf/certs/entra.cer';
5。使用Entra ID中设置<您的应用名称>的值来配置Zabbix SAML认证(参见下一节):
1。在Zabbix中,前往设置zabbix并根据Entra ID配置填写以下选项:
Zabbix字段 | Entra ID中的设置字段 | 示例值 |
---|---|---|
IdP entity ID | Microsoft Entra identifier | |
SSO service URL | Login URL | |
SLO service URL | Logout URL | |
SP entity ID | Identifier (Entity ID) | |
Username attribute | Custom attribute (claim) | user_email |
点击更新保存这些设置。
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).