本节介绍如何配置Okta,为Zabbix启用SAML 2.0身份验证。
1. 访问https://okta.com并注册或登录您的账户。
2. 在Okta web 界面中,导航至 Applications(应用程序) → Applications(应用程序),然后按"Add Application(添加应用程序)" 按钮 ().
3. 按 "Create New App(创建应用集)"按钮(). 在弹出窗口中,选择Platform(平台): Web, Sign on method(登录方法): SAML 2.0,然后按"Create(创建)"按钮。
4. 根据您的喜好填写General settings(常规设置)选项卡 (出现第一个选项卡)中的字段,然后按"Next(下一步)"。
5. 在Configure SAML(配置SAML)选项卡中,输入以下提供的值,然后按 "Next(下一步)".
如果计划使用加密连接,请生成专用和公用加密证书,然后将公用证书上传到Okta。 当Assertion Encryption(断言加密)设置为“已加密”时,将显示证书上传表单(单击 Show Advanced Settings(显示高级设置)以找到此参数).
6. 在下一个选项卡中,选择 "I'm a software vendor. I'd like to integrate my app with Okta",然后按 "Finish".
7. 现在,导航到 Assignments(分配) 选项卡,然后按 "Assign(指定)"按钮,然后从下拉菜单中选择Assign to People。
8. 在弹出窗口中,将创建的应用分配给将使用SAML 2.0与Zabbix进行身份验证的人员,然后按 "Save and go back".
9. 导航到 Sign On(登录) 选项卡,然后按 "View Setup Instructions" 按钮。设置说明将显示在新选项卡中;在配置Zabbix时,请保持此标签打开。
1. 在Zabbix中,进入 Administration → Authentication 部分中的SAML设置,然后将信息从Okta设置说明复制到相应的字段中:
2. 将Okta设置说明页面中提供的证书作为idp.crt下载到ui/conf/certs 文件夹中,并通过运行以下命令设置权限644:
请注意,如果您已从旧版本升级到Zabbix 5.0,则还需要手动将这些行添加到zabbix.conf.php文件(位于 //ui/conf/ // 目录):
// 用于SAML身份验证
$SSO['SP_KEY'] = 'conf/certs/sp.key'; // 您的私钥路径
$SSO['SP_CERT'] = 'conf/certs/sp.crt'; // 您的公钥路径
$SSO['IDP_CERT'] = 'conf/certs/idp.crt'; // idp公钥路径
$SSO['SETTINGS'] = []; // 其它设置
有关更多详细信息,请参见通用的SAML 身份验证 说明。
3. 如果在Okta中将 Assertion Encryption 设置为Encrypted, 则还应在Zabbix中标记 Encrypt参数的复选框 "Assertions"。
4. 按 "Update" 按钮保存这些设置。
要使用SAML登录, Zabbix中的用户别名应与他的Okta电子邮件匹配。可以在Zabbix Web界面的 Administration → Users部分中更改此设置。