12 使用 Okta 的 SAML 设置

本节介绍如何配置Okta以实现Zabbix的SAML 2.0认证。

Okta 配置

1。访问 https://okta.com 并注册或登录您的账户。

2。在Okta网页界面中导航至应用程序→应用程序,点击"添加应用程序"按钮 ()。

3。点击"创建新应用"按钮 ()。 在弹出的窗口中选择平台: Web,登录方法: SAML 2.0,然后点击"创建"按钮。

4。在常规设置标签页(默认显示的标签页)中根据您的偏好填写字段,然后点击"下一步"。

5。在配置SAML标签页中输入以下提供的值,然后点击"下一步"。

  • 常规部分:
    • 单点登录URL: https://<您的zabbix网址>/ui/index_sso.php?acs
      (需勾选将此用于收件人URL和目标URL复选框)
    • 受众URI(SP实体ID):zabbix
      注意此值将作为唯一服务提供商标识符用于SAML断言(如不匹配,操作将被拒绝)。该字段可填写URL或任意string数据。
    • 默认RelayState
      留空;如需自定义重定向,可在Zabbix的管理→用户设置中添加。
    • 根据您的偏好填写其他字段。

如计划使用加密连接,需生成私钥和公钥加密证书,然后将公钥证书上传至Okta。当断言加密设置为加密时会出现证书上传表单(点击显示高级设置可找到此参数)。

  • 属性声明(可选)部分添加属性声明:
    • 名称: usrEmail
    • 名称格式: 未指定
    • 值: user.email

6。在下一个标签页选择"我是软件供应商,希望将我的应用与Okta集成",然后点击"完成"。

7。现在导航至分配标签页,点击"分配"按钮,然后从下拉菜单中选择分配给人员

8。在弹出的窗口中,将创建的应用分配给需要使用SAML 2.0认证登录Zabbix的人员,然后点击"保存并返回"。

9。导航至登录标签页,点击"查看设置说明"按钮。设置说明将在新标签页中显示;在配置Zabbix时请保持此标签页开启。

Zabbix配置

1。在Zabbix中,进入管理→认证部分的SAML设置,并将Okta配置说明中的信息复制到相应字段:

Zabbix字段 Okta SAML配置字段
IdP entity ID Identity Provider Issuer
SSO service URL Identity Provider Single Sign-On URL
Username attribute Attribute name
SP entity ID Audience URI

2。将Okta配置说明页面提供的证书下载到ui/conf/certs文件夹中,命名为idp.crt,并通过运行以下命令设置权限为644:

chmod 644 idp.crt

请注意,如果您是从旧版本升级到Zabbix 6.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中断言加密设置为加密,Zabbix中的加密参数下的"断言"复选框也应被勾选。

4。点击"更新"按钮保存这些设置。

要使用SAML登录,Zabbix中的用户名应与Okta电子邮件匹配。这些设置可以在Zabbix网页界面的管理→用户部分更改。