本节提供使用 SAML 2.0 身份验证从 Microsoft Azure Active Directory 配置单点登录和 Zabbix 用户配置的指南。
1. 登录 Microsoft Azure 上的帐户。为了进行测试,您可以在 Microsoft Azure 中创建一个免费试用帐户。
2. 从主菜单(参见屏幕左上角)选择 Azure Active Directory。
3. 选择 企业应用程序 -> 添加新应用程序 -> 创建您自己的应用程序。
4. 添加您的应用程序的名称并选择 集成任何其他应用程序... 选项。之后,单击 创建。
1. 在您的应用程序页面中,转到 设置单点登录 并单击 开始。然后选择 SAML。
2. 编辑 基本 SAML 配置:
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 设置中的相应字段值匹配。
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 身份验证(请参阅下一部分):
1. 在 Zabbix 中,转到 SAML 设置 并根据 Azure 配置填写配置选项:
Zabbix 字段 | Azure 中的设置字段 | 示例值 |
---|---|---|
IdP 实体 ID | Azure AD 标识符 | |
SSO 服务 URL | 登录 URL | |
SLO 服务 URL | 注销 URL | |
用户名属性 | 自定义属性(声明) | user_email |
组名属性 | 自定义属性(声明) | groups |
用户名属性 | 自定义属性(声明) | user_name |
用户姓氏属性 | 自定义属性(声明) | user_lastname |
还需要配置用户组映射。媒体映射是可选的。
单击更新保存这些设置。
1. 在 Azure AD 应用程序页面中,从主菜单打开配置页面。单击 开始,然后选择自动配置模式:
https://<zabbix-instance-url>/zabbix/api_scim.php
保存设置。
2. 现在,您可以将所有将通过 SCIM 传递到 Zabbix 的属性添加到 Zabbix。为此,请单击 映射,然后单击 配置 Azure Active Directory 用户。
在属性映射列表的底部,启用显示高级选项,然后单击编辑 customappsso 的属性列表。
在属性列表的底部,添加您自己的类型为“字符串”的属性:
保存列表。
3. 现在您可以为添加的属性添加映射。在属性映射列表的底部,单击“添加新映射”并创建映射,如下所示:
添加所有映射后,保存映射列表。
4. 作为将用户配置到 Zabbix 的先决条件,您必须在 Azure 中配置用户和组。
为此,请从 Azure 主菜单中选择“Azure Active Directory”(参见屏幕左上角),然后在相应的用户和组页面中添加用户/组。
5.在 Azure AD 中创建用户和组后,您可以转到应用程序的“用户和组”菜单并将其添加到应用程序。
请注意,Azure 中的用户 PATCH 请求不支持媒体更改。