有没有用过 keycloak 的呀? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
COW
V2EX    程序员

有没有用过 keycloak 的呀?

  •  
  •   COW 346 天前 via Android 1544 次点击
    这是一个创建于 346 天前的主题,其中的信息可能已经有所发展或是发生改变。
    最近试用了下,看起来功能很多有点重,不知道生产环境用的多不多哦。有没有过来人给点经验,有哪些功能是比较稳定好用的,不想踩坑咯。
    6 条回复    2024-11-06 01:50:49 +08:00
    vinsa
        1
    vinsa  
       346 天前   1
    拿他做个登录中间件挺好,功能很完善。
    至于是否用它做权限管理,取决于系统和设计了。
    sunzhenyucn
        2
    sunzhenyucn  
       345 天前
    我们在用它搭建企业内的 IAM ,你的问题是什么呢?
    COW
        3
    COW  
    OP
       345 天前
    @sunzhenyucn 目前暂时想先把 gitea 、jenkins 之类跟产品交付流程相关的内部系统集利用 ldap 集成进去,做 SSO 和统一认证。

    对于一些额外的功能,比如日志审计,像 gitea 、jenkins 本来就已经有这些功能了,keycloak 用上是不是功能重叠了?还有角色权限这块,是不是可以利用 keycloak 统一设置,然后 gitea 、jenkins 也能自动同步设置好角色权限?(或者利用一些插件同步,不知道靠不靠谱)
    sunzhenyucn
        4
    sunzhenyucn  
       345 天前   1
    1. 关于你说的利用 LDAP 集成,这边建议是统一采用泛用性更强的 OIDC 协议
    2. Keycloak 的 Audit 和其他系统的 Audit 并不相同,Keycloak 的 Audit 更关注的是认证与授权事件的审计,而类似于 Jenkins 等系统的审计更关注的是系统本身的业务操作审计
    3. Keycloak 的角色权限较为复杂,Authorization 功能也仅限于 OIDC 协议使用,如果需要做集成的话可能需要对客户端(类似但不限于 Jenkins 、Gitea 等)做二次开发才能够实现

    P.S. 我们对于 Keycloak 的 Authorization 等概念做了一些更高层的抽象,并且我们的鉴权模型为 PBAC ,我们的做法是通过开发 Keycloak 插件将 Authorization 内的一些概念类似但不限于 Permission, Scope, Resource 等与 PBAC 中的概念做了一一映射。
    COW
        5
    COW  
    OP
       345 天前
    @sunzhenyucn #4 好吧,感觉我是想多了,这样要二次开发的系统就太多了,角色权限这块还是用系统自身的好了,不过很好奇你们为什么要在 Keycloak 已有授权的基础上加一层呢,是业务上不满足需求还是有别的原因?
    sunzhenyucn
        6
    sunzhenyucn  
       345 天前
    @COW 因为我们使用 IAM 的目的是为我们自己的应用云平台上的所有 SaaS 或 On-Permis 应用提供统一的认证和鉴权框架,包括我们自己的应用云平台上的 Open API 类产品也是托管在我们平台上进行认证和鉴权的,这种场景的细粒度授权 RBAC 不合适所以我们自己基于 Keycloak 封装了一套 PBAC
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     905 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 20:02 PVG 04:02 LAX 13:02 JFK 16:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86