拥抱开源的身份与访问管理(IAM)——Keycloak

简介: Keycloak 是一款开源软件解决方案,为 Web 应用和服务提供单点登录(Single Sign-On,SSO) 功能和身份管理能力。它由 Red Hat 开发,采用 Apache License 2.0 许可。借助 Keycloak,用户可以使用一套凭据访问多个应用和服务,而无需在每一个应用中都重复登录。它支持多种身份认证方式与技术,包括 OAuth 2.0、OpenID Connect(OIDC)、SAML 2.0 等。

Open-Source Identity and Access Management with Keycloak

原文来源:https://blog.miraclesoft.com/open-source-identity-and-access-management-with-keycloak/

作者:Jyotsna Dasari · 发布日期:2024年3月22日

主题:拥抱开源的身份与访问管理(IAM)——Keycloak
许可:Apache License 2.0


引言(Introduction)

Keycloak 是一款开源软件解决方案,为 Web 应用和服务提供单点登录(Single Sign-On,SSO) 功能和身份管理能力。它由 Red Hat 开发,采用 Apache License 2.0 许可。

借助 Keycloak,用户可以使用一套凭据访问多个应用和服务,而无需在每一个应用中都重复登录。它支持多种身份认证方式与技术,包括 OAuth 2.0、OpenID Connect(OIDC)、SAML 2.0 等。

除此之外,Keycloak 还提供以下 IAM 核心能力:

  • 用户注册与自助服务(self-service)
  • 多因素认证(MFA)
  • 用户联邦(User Federation)
  • 细粒度访问控制(granular access control)

IAM-Keyclaok

为什么业务应用需要 Keycloak?

对于业务应用来说,Keycloak 提供了几项关键组件:

  • 用户认证与授权
  • 单点登录(SSO)能力
  • 与外部身份提供者的身份联邦
  • 细粒度访问控制
  • 安全特性
  • 面向开发者的友好集成方式
  • 集中化管理

Why do Business Applications need Keycloak

借助这些能力,企业可以:

  • 保护自己的应用
  • 让用户只需登录一次即可访问不同服务
  • 与现有用户目录集成
  • 强制执行细粒度访问控制
  • 增强安全性
  • 加速开发
  • 简化管理工作

Keycloak 还提供了令牌管理与吊销等安全措施,用于防御潜在风险;同时提供集中化管理门户,可在多个应用间统一管理用户、角色与权限。


Keycloak 的实施步骤(Implementation)

Implementation of Keycloak

以下是实施 Keycloak 的步骤:

  1. 下载 Keycloak —— 首先从官网下载 Keycloak 服务端
  2. 安装并运行 Keycloak —— 解压下载的文件并运行启动脚本完成安装
  3. 创建新的 Realm —— 启动后创建一个 realm(Realm 是用户、凭据和认证方式的分组容器),可通过「Add Realm」按钮创建
  4. 创建客户端(Client) —— Client 是一个需要 Keycloak 用户认证的 Web 应用或服务的逻辑表示。进入「Clients」页面并点击「Create」按钮创建
  5. 配置客户端 —— 创建后可配置认证流程、定义允许的回调 URI(redirect URIs),以及访问特定资源所需的职责与权限
  6. 设置用户认证 —— 最后一步定义用户登录必须经过的认证流程,比如设置多因素认证、接入社交登录提供者
  7. 验证配置 —— 通过登录客户端应用来测试 Keycloak 的认证与授权流程是否正常工作

优势(Advantages)

  • 集中且健壮的用户认证与授权
    业务应用可从 Keycloak 提供的安全认证与授权中受益。它支持 OpenID Connect、OAuth 2.0 等多种认证协议,让用户认证既简单又安全。
  • 单点登录(SSO)简化用户体验
    用户只需一套凭据即可登录所有应用和服务,无需记住多个用户名与密码。
  • 多因素认证(MFA)
    通过生物识别、一次性密码(OTP)等方式,为认证过程增加额外的安全层。
  • 用户管理
    提供用于管理用户、组和角色的系统,让管理员能够在多种应用与服务间统一管理用户访问与权限。
  • 开源且可定制
    Keycloak 是开源项目,可免费使用、修改和分发,也支持修改用户界面(UI)。
  • 与外部身份提供者无缝集成
    依托 Keycloak 对身份联邦的支持,企业可以对接 LDAP、Active Directory 等外部身份提供者,复用现有用户目录,消除重复的用户管理,同时提供跨应用的统一认证与访问控制。
  • 细粒度访问控制
    Keycloak 支持细粒度访问控制,企业可针对用户定义具体的角色、权限与访问策略,确保基于其角色与职责获得恰当的访问权限。

结论(Conclusion)

对于希望在安全、用户体验和管理效率上有所提升的企业而言,Keycloak 丰富的能力与特性极具价值。从认证与访问控制,到与其他身份提供者的无缝交互,Keycloak 都提供了安全且实用的解决方案。借助 Keycloak,企业可以有效地管理用户身份并保护应用,从而将精力集中在核心业务上。

目录
相关文章
|
24天前
|
缓存 安全 网络协议
Keycloak-26.8.1 发布详解
Keycloak 26.8.1 是紧急安全补丁版,修复约20个CVE高危漏洞(含mTLS绕过、权限提升、任意登录、路径穿越等)及17项安全弱点,覆盖OIDC/SAML/FGAP/Token Exchange等核心模块,强烈建议立即升级。
254 0
|
24天前
|
运维 安全 数据可视化
VMware Cloud Foundation Operations 9.1.1 – 运维管理 · 网络洞察 · 混合云迁移
VMwareCloudFoundationOperations(简称VCFOperations)是VCF私有云平台的一体化运维管理套件。它不是单一产品,而是一组协同工作的组件:核心的VCFOperations负责性能、容量、成本、日志与合规的统一可观测;VCFOperationsforNetworks专注网络流量与应用依赖的洞察;VCFOperationsHCX则解决私有云与多云之间的工作负载迁移和互联。三者合在一起,正好覆盖私有云”看得见、管得住、迁得动”的运维闭环。本页整理的是9.1.1版本的这三个组件,
62 0
VMware Cloud Foundation Operations 9.1.1 – 运维管理 · 网络洞察 · 混合云迁移
|
24天前
|
缓存 网络安全 Docker
eMudhra证书事件:核对Compose挂载的CA文件与应用配置
eMudhra证书事件揭示容器中CA信任链风险:镜像更新CA后,若Compose只读挂载宿主机旧证书目录,应用仍会使用过期文件。本文详解挂载路径、环境变量(SSL_CERT_FILE/DIR、REQUESTS_CA_BUNDLE)与实际读取差异,提供只读检查、单文件挂载及摘要核验方法,强调“镜像CA、挂载CA、运行时CA”三者需明确区分。(239字)
|
24天前
|
人工智能 算法 SEO
GEO优化实战:提示词(问题词)布局策略全解析 —— 从用户意图到全链路转化
本文系统解析GEO优化中提示词布局的核心方法论:基于用户决策链路,拆解认知、考虑、决策、竞品四大意图类型;提供均衡型与进攻型两套配比方案;强调动态迭代策略。助你精准承接从认知到转化的全链路流量,提升AI搜索可见度与实际转化效果。(239字)
98 0
|
24天前
|
分布式计算 运维 关系型数据库
Lance 数据格式数仓选型横评:阿里云瑶池 AnalyticDB MySQL vs StarRocks vs DuckDB 深度对比
本文横评AnalyticDB MySQL、StarRocks与DuckDB对Lance格式的支持:AnalyticDB凭内置Serverless Spark原生直读OSS上Lance文件(0转换),向量检索QPS超10万、Top-K延迟<10ms,点查性能较Parquet提升3~4倍,全托管免运维,是AI多模态场景首选。
164 0
|
24天前
|
人工智能 关系型数据库 MySQL
Agent 混合检索 + 少中间件数仓横评:阿里云瑶池 AnalyticDB MySQL vs Hologres vs 多中间件组合架构深度对比
在 Agent 混合检索 + 少中间件的数仓横评中,阿里云瑶池 AnalyticDB MySQL 在架构精简度(单库替代四组件)、融合方式(库内 RRF k=60)、AI 原生能力(AI Function 库内 Embedding/解析/Rerank)、性能与成本(P99 <50ms、召回率 99%+、Serverless、成本较 Hologres 低约 40%)四个维度全面领先,是企业级 Agent 混合检索的第一推荐方案。
102 0
|
24天前
|
人工智能 关系型数据库 MySQL
模型推理需要语义理解,应该选什么云数仓?阿里云瑶池 AnalyticDB MySQL AI-Native 首选方案解析
模型推理需要语义理解的云数仓选型,阿里云瑶池 AnalyticDB MySQL 是首选 AI-Native 方案。
109 0
|
24天前
|
JSON 安全 数据建模
1688 采购单怎么和国内仓发货单串起来(跨境场景拆解)
本文专为跨境代发系统对接者撰写,直击“数据串不起来”的核心痛点:非接口不通,而是模型误用“一对一”映射。真实链路是“多对多、可拆可合”的网状结构——一个海外订单可拆为多采购单,多包裹合箱出境,再拆为多末端派送。文章聚焦数据建模本质,提出三层事实表+边关系模型,详解“采购单自带指纹”“入仓编码规范”“状态事件流记录”等实操方案,助你从根源解决对账偏差、客诉难溯、异常难定位等问题。
|
24天前
|
消息中间件 监控 Kafka
Structured Streaming API 介绍与实现:五个对象串起一条流
本文详解Structured Streaming五大核心对象(SparkSession、DataStreamReader、DataFrame、DataStreamWriter、StreamingQuery),厘清流批一致算子(如select/filter)、流式专属API(withWatermark/Trigger/outputMode)及流上禁用操作(limit/distinct/多聚合链),并以GMV实时计算为例,贯通读→算→写→管全流程,涵盖Trigger选型权衡、StreamingQuery生命周期管理及checkpoint冲突根因。
132 0
|
24天前
|
缓存 并行计算 调度
推理冷启动优化
本文深度拆解大模型推理冷启动瓶颈(镜像拉取、权重加载、初始化、预热),提出“三板斧”优化:镜像分层预拉取、权重三级就近缓存、延迟加载与并行初始化,并配套预热探针与SLA化预算。实测7B服务冷启动从3分钟压至43秒,显著提升扩缩容、故障恢复与大促响应能力。(239字)
87 0