11 使用 Microsoft Entra ID 设置 SAML

SAML setup with Microsoft Entra ID

请按照以下步骤使用 Microsoft Entra ID 设置 SAML:

  1. 请导航至 Microsoft Entra ID 并登录
  2. 请创建一个新的企业应用程序
  3. 请选择“非画布应用程序”
  4. 请在“名称”字段中输入应用程序的名称,例如“Zabbix”。
  5. 请在“重定向 URI”字段中输入 Zabbix 的 SAML 回调 URL
  6. 请配置应用程序的属性,确保“启用”选项已选中。
  7. 请为应用程序分配用户或组,以便他们可以使用 SAML 进行身份验证。
  8. 请下载并上传所需的证书,以确保与 Zabbix 的安全通信。
  9. 请配置 SAML 响应,以匹配 Zabbix 的要求。
  10. 请测试 SAML 集成,以确保一切按预期工作。

完成上述步骤后,您的用户将能够使用 Microsoft Entra ID 凭据通过 SAML 协议登录 Zabbix。

概览

本节提供了使用 SAML 2.0 身份验证从 Microsoft Entra ID(原 Microsoft Azure Active Directory)配置单点登录和用户供应到 Zabbix 的指导原则。

    #### 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];
  1. 编辑 属性与声明。您必须添加所有要传递到 Zabbix 的属性(user_name, user_lastname, user_email, user_mobile, groups)。

属性名称是任意的。可以使用不同的属性名称,但是,它们必须与 Zabbix SAML 设置中相应的字段值匹配。

  • 点击 添加新声明 以添加一个属性:

  • 点击 添加一个组声明 以添加一个用于传递组到 Zabbix 的属性:

在这个声明中,重要的是通过所选的 源属性 将组名(而不是组 ID)传递给 Zabbix。否则 JIT 用户配置将无法正常工作。

  1. SAML 证书 中下载 Entra ID 提供的 Base64 证书并将其放置到 Zabbix 前端安装的 conf/certs 目录中。

通过运行以下命令设置其权限为 644:

chmod 644 entra.cer

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

$SSO['IDP_CERT'] = 'conf/certs/entra.cer';
  1. 使用在 Entra ID 中 设置 <您的应用名> 的值来配置 Zabbix SAML 认证(参见下一部分):

Zabbix 配置

  1. 在 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

    还需要配置用户组映射。媒体映射是可选的。

    点击 更新 以保存这些设置。

SCIM 用户配置

1. 在您的 Entra ID 应用程序页面中,从主菜单打开配置页面。点击 开始,然后选择自动配置模式:

  • 租户 URL 中,设置以下值:https://<path-to-zabbix-ui>/api_scim.php
  • 密钥令牌 中,输入具有超级管理员权限的 Zabbix API 令牌。
  • 点击 测试连接 以查看连接是否已建立。

2. 现在您可以添加所有将通过 SCIM 传递给 Zabbix 的属性。为此,请点击 映射,然后点击 配置 Microsoft Entra ID 用户

在属性映射列表底部,启用 显示高级选项,然后点击 编辑 customappsso 的属性列表

在属性列表底部,添加您自己的类型为 'String' 的属性:

保存列表。

3. 现在您可以为添加的属性添加映射。在属性映射列表底部,点击 添加新映射 并创建如下所示的映射:

添加所有映射后,保存映射列表。

4. 作为将用户配置到 Zabbix 的先决条件,您必须在 Entra ID 中配置用户和组。

为此,请转到 Microsoft Entra 管理中心,然后在相应的用户和组页面中添加用户/组。

5. 当在 Entra AD 中创建了用户和组后,您可以转到应用程序的 用户和组 菜单,并将它们添加到应用程序中。

6. 转到应用程序的 配置 菜单,然后点击 开始配置 以将用户配置到 Zabbix。

请注意,Entra ID 中的用户 PATCH 请求不支持媒体更改。