Zabbix5 对接 SAML 协议 SSO

  在 Zabbix5.0 开始已经支持 SAML 认证

官文文档:

https://www.zabbix.com/documentation/current/manual/web_interface/frontend_sections/administration/authentication

首先给出了统一认证地址和单点退出地址。

然后有两步操作

  1. 在 Zabbix 服务器放一个 IDP 证书文件。
  2. 在 Zabbix 上配置 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 中创建好。

Zabbix5 对接 SAML 协议 SSO的更多相关文章

  1. 在wildfly中使用SAML协议连接keycloak

    目录 简介 OpenID Connect和SAML SAML的工作流程 在keycloak中使用SAML 准备wildfy和应用程序 简介 我们知道SSO的两个常用的协议分别是SAML和OpenID ...

  2. 【Azure Active Directory】单一登录 (SAML 协议)

    Azure Active Directory 支持 SAML 2.0 Web 浏览器单一登录 (SSO) 配置文件. 若要请求 Azure Active Directory 对用户进行身份验证时,云服 ...

  3. SAML和OAuth2这两种SSO协议的区别

    目录 简介 SAML SAML的缺点 OAuth2 OAuth2的缺点 两者的对比 CAS简介 简介 SSO是单点登录的简称,常用的SSO的协议有两种,分别是SAML和OAuth2.本文将会介绍两种协 ...

  4. Vouch-proxy 实现 Zabbix4.4 对接 SSO

    Vouch-proxy 实现 Zabbix 对接 SSO Zabbix 自身不支持 SSO 对接,我使用 Nginx 代理 Zabbix,将请求转发至 Vouch-proxy,由 Vouch-prox ...

  5. 基于SAML的单点登录介绍

    http://blog.csdn.net/csethcrm/article/details/20694993 一.背景知识: SAML即安全断言标记语言,英文全称是Security Assertion ...

  6. 我眼中的SAML (Security Assertion Markup Language)

    提到SAML (Security Assertion Markup Language), 很多人都会联想到单点登录SSO.那么Saml到底是什么,它跟sso到底有什么联系?这里给大家分享一下我在读完了 ...

  7. 关于sharepoint如何做SSO,如何做OOS监视编辑

    应客户需求,需要做sharepoint SSO,以前都是默认的AD验证,如果客户已经有一套SSO系统,验证过SSO之后就能自动登录,而不是浏览器上设置保存用户名密码的AD登陆. 怎么做呢? 首先sha ...

  8. SAML2.0 协议初识(二)---Service Provider(SP)

    上一节,我们初步认识了 SAML 协议的概念和工作流程,这一节将介绍 SP 端的一些细节. 通常情况下,SP 端是请求发起端,即当用户访问 SP 端的受保护资源时,由 SP 端向认证中心(IDP 端) ...

  9. Java项目接入sso单点登录

    最近在落地cat(java开发的一款开源监控系统)接入公司的内部项目,其中有项需求是接入公司的sso单点登录系统.研究了公司之前java项目接入sso系统,大部分是采用spring框架,然后依赖spr ...

随机推荐

  1. 数据可视化之DAX篇(十九)值得你深入了解的函数:SUMMARIZE

    https://zhuanlan.zhihu.com/p/66424209 SUMMARIZE函数非常强大,掌握以后表面上看也非常好用,所以我专门写篇文章介绍一下这个函数,至于是否一定要使用该函数,请 ...

  2. Ethical Hacking - GAINING ACCESS(16)

    CLIENT SIDE ATTACKS - Social Engineering Social Engineering Information gathering Tool: Maltego Gath ...

  3. Ethical Hacking - NETWORK PENETRATION TESTING(8)

    WEP Cracking Basic case Run airdump-ng to log all traffic from the target network. airodump-ng --cha ...

  4. Python Ethical Hacking - Persistence(2)

    Polish the Python code by adding the become_persistent function. #!/usr/bin/env python import json i ...

  5. T4 字符串的修改 题解

    有 A=a1a2a3„am,B=b1b2b3„bn 两个字符串(均为小写字母)现在要通过以下操作将 A 或 A 的一个后缀修改为 B: 1. 删除 删除掉 A 中的某一个字符. 2. 添加 将某一个字 ...

  6. day12:闭包函数&匿名函数

    闭包函数 闭包函数的定义: 如果内函数使用了外函数的局部变量并且外函数把内函数返回出来的过程 叫做闭包里面的内函数是闭包函数 一个简单的闭包函数示例: def songyunjie_family(): ...

  7. SQL order by语句

    关于order by: order by 语句用于根据指定的列对结果集进行排序,默认按照升序排列. 1.  select 字段名 from 表名 where 条件 order by 字段名1 asc/ ...

  8. Ubuntu Server 19.04配置静态IP

    这个/etc/netplan下默认有个文件50-cloud-init.yaml,直接修改它就行了 sudo vim /etc/netplan/50-cloud-init.yaml 网口名字enp0s3 ...

  9. 我们通常这样使用Linux弱口令检测!

    在Internet环境中,过于简单的口令是服务器面临的最大风险,对于管理员来说,即使找出这些弱口令账号是非常必要的,这样便于采取进一步的安全措施. 这里的话,弱口令检测需要用到一款密码破译软件--Jo ...

  10. xctf-pwn hello_pwn

    走流程,看看文件类型 64位,开了NX 直接丢IDA分析 查看sub_400686() 是个给flag的函数,可以看到,只要满足if语句的条件使dword_60106C == 1853186401就可 ...