请按照以下步骤使用 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 请求不支持媒体更改。