这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

11 使用Microsoft Entra ID配置SAML

概述

本节提供通过SAML 2.0认证从Microsoft Entra ID(原Microsoft Azure Active Directory)配置Zabbix单点登录的指导说明。

请注意,要使单点登录生效,其用户名必须存在于Zabbix中,但不会使用该用户的Zabbix密码。若认证成功,Zabbix会将返回的SAML用户名属性与本地用户名进行匹配。

Microsoft Entra ID配置

创建应用

1。登录Microsoft Entra ID的Microsoft Entra管理中心。出于测试目的,您可以在Microsoft Entra ID中创建免费试用账户。

2。在Microsoft Entra管理中心选择应用程序 -> 企业应用程序 -> 新建应用程序 -> 创建自己的应用程序

3。添加您的应用名称并选择集成任何其他应用程序...选项。完成后点击创建

设置单点登录

1。在您的应用程序页面中,转到设置单点登录并点击开始使用。然后选择SAML

2。编辑基本SAML配置

  • 标识符(实体ID)中设置一个唯一名称以向Microsoft Entra ID标识您的应用,例如zabbix
  • 回复URL(断言消费者服务URL)中设置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权限:

chmod 644 entra.cer

确保conf/zabbix.conf.php包含以下行:

$SSO['IDP_CERT'] = 'conf/certs/entra.cer';

5。使用Entra ID中设置<您的应用名称>的值来配置Zabbix SAML认证(参见下一节):

Zabbix配置

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

点击更新保存这些设置。

Troubleshooting

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).

$SSO['SETTINGS'] = [
           'security' => [
               'requestedAuthnContext' => false
           ]
       ];