11 使用Microsoft Azure AD设置SAML

概述

本节提供使用 SAML 2.0 身份验证从 Microsoft Azure Active Directory 配置单点登录和 Zabbix 用户配置的指南。

Microsoft Azure 配置

创建应用程序

1. 登录 Microsoft Azure 上的帐户。为了进行测试,您可以在 Microsoft Azure 中创建一个免费试用帐户。

2. 从主菜单(参见屏幕左上角)选择 Azure Active Directory

3. 选择 企业应用程序 -> 添加新应用程序 -> 创建您自己的应用程序

4. 添加您的应用程序的名称并选择 集成任何其他应用程序... 选项。之后,单击 创建

设置单点登录

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

2. 编辑 基本 SAML 配置

  • 标识符(实体 ID) 中设置一个唯一名称,以将您的应用程序标识到 Azure Active Directory,例如 zabbix
  • 回复 URL(断言消费者服务 URL) 中设置 Zabbix 单点登录端点:https://<zabbix-instance-url>/zabbix/index_sso.php?acs

请注意,此字段需要“https”。为了使其与 Zabbix 配合使用,需要在 conf/zabbix.conf.php 中添加以下行:

$SSO['SETTINGS'] = ['use_proxy_headers' => true];

3. 编辑 属性和声明。您必须添加要传递给 Zabbix 的所有属性(user_name、user_lastname、user_email、user_mobile、groups)。

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

  • 单击 添加新声明 添加属性:

  • 单击 添加组声明 添加将组传递给 Zabbix 的属性:

4. 在 SAML 证书 中下载 Azure 提供的证书并将其放入 Zabbix 前端安装的 conf/certs 中。

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

chmod 644 azure.cer

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

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

5.使用 Azure 中 设置 <您的应用名称> 的值来配置 Zabbix SAML 身份验证(请参阅下一部分):

Zabbix 配置

1. 在 Zabbix 中,转到 SAML 设置 并根据 Azure 配置填写配置选项:

Zabbix 字段 Azure 中的设置字段 示例值
IdP 实体 ID Azure AD 标识符
SSO 服务 URL 登录 URL
SLO 服务 URL 注销 URL
用户名属性 自定义属性(声明) user_email
组名属性 自定义属性(声明) groups
用户名属性 自定义属性(声明) user_name
用户姓氏属性 自定义属性(声明) user_lastname

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

单击更新保存这些设置。

SCIM 用户配置

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

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

保存设置。

2. 现在,您可以将所有将通过 SCIM 传递到 Zabbix 的属性添加到 Zabbix。为此,请单击 映射,然后单击 配置 Azure Active Directory 用户

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

在属性列表的底部,添加您自己的类型为“字符串”的属性:

保存列表。

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

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

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

为此,请从 Azure 主菜单中选择“Azure Active Directory”(参见屏幕左上角),然后在相应的用户和组页面中添加用户/组。

5.在 Azure AD 中创建用户和组后,您可以转到应用程序的“用户和组”菜单并将其添加到应用程序。

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

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