V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
KINGWAY
V2EX  ›  分享发现

建立自己统一密码验证中心

  •  
  •   KINGWAY · 156 天前 · 2589 次点击
    这是一个创建于 156 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发现个好项目 keycloak,这样你就可以建立统一的密码管理中心 https://www.keycloak.org/getting-started/getting-started-docker

    18 条回复    2024-06-12 23:19:38 +08:00
    whileFalse
        1
    whileFalse  
       156 天前
    所以这只是另一个密码管理器?
    NevadaLi
        2
    NevadaLi  
       156 天前
    这是密钥管理器叭,就和 hashicrop 的 vault 差不多
    KINGWAY
        3
    KINGWAY  
    OP
       156 天前
    @whileFalse 你可以把所有的应用的密码管理放到这里, 实现统一管理吧, 一般来说是为了方便稍微上点规模的管理而已.
    superBIUBIU
        4
    superBIUBIU  
       156 天前
    中文文档都没有,部署麻烦啊
    masterclock
        5
    masterclock  
       156 天前   ❤️ 1
    keycloak 是 IdP 、IdM 等平台,复杂、重,可能不是这类软件的好选择了
    zengxs
        6
    zengxs  
       156 天前   ❤️ 1
    keycloak 是个统一认证中心,不是密码管理器吧
    whileFalse
        7
    whileFalse  
       156 天前 via Android
    @zengxs 请教下统一认证中心和密码管理器的区别
    Tufutogo
        8
    Tufutogo  
       156 天前   ❤️ 1
    @whileFalse

    谷歌账号就是典型的统一认证中心
    icelollipop
        9
    icelollipop  
       156 天前   ❤️ 1
    部署复杂,文档繁杂,不建议使用。
    zengxs
        10
    zengxs  
       156 天前   ❤️ 2
    @whileFalse 统一认证中心不会管理你在各平台的密码,他只是负责给接入的平台授权

    比如你登录 A 平台(已接入 A 平台)一个流程是这样的:

    A 平台 -> 请求 keycloak 授权 -> keycloak 要求你输入你的 keycloak 平台密码 -> 密码登录成功 -> keycloak 完成授权 -> A 平台判断你登录成功

    这里面你只有一个密码,就是 keycloak 的密码。

    ------

    密码管理器是保存你在各个平台的账号密码,你去某个平台登录的时候,它通过浏览器插件等形式提示给你账号密码
    zengxs
        11
    zengxs  
       156 天前
    #10 已接入 A 平台 => 已接入 Keycloak
    klamx
        12
    klamx  
       156 天前
    很早就用上了,即便有 bitwarden 等密码管理器,自部署的多个服务要一一登录还是太麻烦了。很多 self-hosted 都有提供 SSO 接入,如果没有提供 SSO 的可以用 Oauth2Proxy (和 keycloak 也是 red hat 项目)间接实现。Keycloak 接入 github 、google ,登录自己的服务就很容易了。
    klamx
        13
    klamx  
       156 天前
    @klamx 记错了,oauth2proxy 以前用的 red hat 的 docker hub 。
    julyclyde
        14
    julyclyde  
       156 天前
    @whileFalse 区别?
    这俩东西完全就没关系啊,何谈区别?
    Mystery0
        15
    Mystery0  
       156 天前   ❤️ 5
    keycloak 这玩意是用来统一登录用的,基本上是企业内部使用的,例如企业内部有一大堆的系统,这一堆系统有些是搭的开源平台(例如堡垒机、nacos 之类的),有些是买的一些软件(例如 oa 、gitlab 、jira 等),有些是企业自己开发的( oauth 框架怼着 oidc 协议就支持对接 keycloak 这种了),企业管理员不想在每一次人员变动的时候都去挨个登录这些系统创建账号以及删除账号,甚至还有一些人员的职级权限调整等(谁谁谁当 leader 了,要给他 leader 的权限,谁谁谁转组了 [研发转测试、转产品什么的] ,要给他的权限进行修改)。因此就有这种“统一认证中心”平台,企业的所有人员信息只用在上面维护一份,其他的各种系统用 oidc 、cas 、ldap 这些协议来同步账号体系,这是 keycloak 以及 openldap 这类软件存在的主要意义。

    对于个人来说,你当然可以搭一个东西然后去对接自己使用的各种公有云平台( github 、google 等),也可以用来对接各种自己搭建的开源平台( gitlab 、gitea 等,只要支持 oidc 、cas 协议的都可以),个人使用起来和企业内部使用起来没有任何区别,只是你只有一个“账号”,一个“员工”,一个“企业管理员”,而企业里面是几百个“员工”,一大堆“账号”,几个“企业管理员”。

    不过你要是单纯搭建一个这玩意,仅仅为了不用记密码,还不如用各种平台的“login with google”、“login with apple”、“login with microsoft”、“login with github”、“QQ 登录”、“微信登录”,从原理来看,这些“google”、“apple”、“microsoft”、“github”、“QQ 号”、“微信号”,就是别人公司搭好的“统一认证中心”。

    总结:keycloak 这东西没必要个人搭一个来使用,除非,你自部署了非常多的开源平台,并且不想去挨个记账号密码,也不想用 bitwarden 、1password 这类的 [真.密码管理器] 。
    Mystery0
        16
    Mystery0  
       156 天前
    @Mystery0 我这么清楚,因为我司的 keycloak 就是我去搭建和维护的,和其他企业自开发系统的对接也是我去做。我自己也给我自己部署了不少的平台,但是我从来没想过自己去搭一个 keycloak ,这玩意就是典型的“企业工具”,个人几乎是完全用不上。
    ck65
        17
    ck65  
       156 天前 via iPhone
    感觉 OP 理解错了 keycloak 的作用。。

    话说最近正在公司尝试 zitadel 替换方案,keycloak 太臃肿原始了
    yanghanlin
        18
    yanghanlin  
       156 天前
    推荐 ZITADEL https://zitadel.com/ 或者 authentik https://goauthentik.io/ 感觉易用一点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2836 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 06:41 · PVG 14:41 · LAX 22:41 · JFK 01:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.