Zabbix5 對接 SAML 協議 SSO
在 Zabbix5.0 開始已經支持 SAML 認證
對接 Keycloak SAML 示例
環境
# Zabbix
http://192.168.20.72/zabbix
# SSO
http://my.keycloak.com/
添加證書文件
首先在 Zabbix 服務器的 /usr/share/zabbix/conf/certs
目錄創建 idp.crt 文件
/usr/share/zabbix/conf/certs/idp.crt
文件內容來自 Keycloak “領域設置” --> “秘鑰” --> “證書”。
這個修改不需要重啟 Zabbix。
創建客戶端
然后在 Keycloak 中創建 saml 客戶端 test_saml_zabbix
。
配置如下
IDP發起的SSO URL名稱:
http://my.keycloak.com/auth/realms/master/protocol/saml/clients/test_saml_zabbix
斷言使用者服務POST綁定URL :
http://192.168.20.72/zabbix/index_sso.php?acs
在客戶端模板標簽頁,移除 role_list。
Mappers 標簽頁中,添加 User Property 映射器,名稱、屬性、SAML Attribute Name 三項全部寫成 username。
在 Zabbix 中配置 SAML 認證
進入 “管理” --> “認證”,選擇“SAML settings”標簽。
勾選啟用。
配置如下:
# 啟用 SAML
Enable SAML authentication
勾選
# 根據實際 Keycloak 地址填寫
IdP entity ID
http://my.keycloak.com/auth/realms/master
# Keycloak 中 SAML 客戶端的 IDP發起的SSO URL名稱
SSO service URL
http://my.keycloak.com/auth/realms/master/protocol/saml/clients/test_saml_zabbix
# Keycloak 中創建的 Mappers
Username attribute
username
# Keycloak 客戶端ID
SP entity ID
test_saml_zabbix
# 用戶名不區分大小寫,根據需要,Zabbix 的默認 Admin 用戶,首字母是大寫的,可能映射不到。
登錄區分大小寫
取消勾選
最后,通過 SAML 登錄的用戶,必須提前在 Zabbix 中創建好。