sso: con zitadel thì nó nặng + require setup acc với external provider lằng nhằng quá, con auth0 thì close source. Mình đang dùng Caddy + plugin để sso qua bên google luôn (homelab).
mà mình k hiểu vì sao cần làm pki ở trong internal network của homelab, làm để xác thực với external facing với internet thì ok, nhưng lại có let's encrypt tls rồi dùng sso tiện lợi + dễ setup dễ dùng hơn nhiều
Thật ra mình gom lại nói cho gọn chứ mấy thằng trên vai trò khác nhau.
Nhóm 1 là Authentik , Zitadel, Auth0: nó là IdP ( Identity Provider), có thằng kiêm luôn IAM ( identity managment) , tức nó ko chỉ làm mỗi việc xác thực ( Authentication) , nó còn là nơi cấp quyền ( Authorization) nữa.
Ví như bạn dùng yubikey , microsoft/google authenticator: tụi này làm 1 việc là xác thực. Ví như bạn dùng tụi này để xác thực cho 10 tài khoản khác nhau , thì thực tế , 10 tài khoản này vẫn là 10 tk riêng lẻ.
Còn với bọn nhóm 1: bạn chỉ cần tạo tài khoản và cấp quyền ở 1 chỗ thôi, sau đó dùng cho 10 service khác nhau. Lúc này , 10 services này tự biết tài khoản nào là quyền admin, tài khoản nào là user, power user ( lấy thông tin quyền từ database của nhóm 1 gán vào).
Còn nhóm 2 : scepman , Microsoft PKI, Windows CA, smallstep: Bọn này chức năng chính là PKI ( public key infra), nó quản lí life cycle của key. Dùng khi bạn cần cấp key cho nhiều người , nhiều service ,và có nhu cầu xoay vòng key. Nếu làm thủ công thì mất thời gian, PKI sẽ lo vụ này cho bạn.
P/s: nói thêm tí về nhóm 1, idP, Vì ko phải idp nào cũng giống nhau. Ví dụ Microsoft Cloud PKI để ra là để xác thực cho azure, onprem ko dùng dc.
Authentik: thằng này thì đúng kiểu all in one , chơi đủ thể loại, từ SAML , oidc, rac proxy., . Có điều ko phải ai cũng biết, authentik nó built in Guacamole luôn lolz , nên nó dùng xác thực luôn cho rdp, ssh. Nó chơi dc cho cả đám legacy ko dùng modern authn ( WebAuth, Fido2) luôn thông qua proxy.
Còn thằng Auth0 nó đi theo hướng khác hẳn , nó ko kiểu nhà nào cũng chơi , nhạc nào cũng nhảy , nhưng nó là thằng dc developer rất thích , nhúng vào web app , làm automation thì miễn chê. Nói chung authentik focus xác thực cho người , còn auth chuyên xác thực cho machine, service lolz