SuperAPI AI 工具集

keycloak-administration

安全与审计

查看项目

更新于 10-15 13:54

技能介绍

用途

该技能为 Keycloak 管理提供系统化指导,涵盖安装、配置、realm 管理、安全加固与运维最佳实践,支持单机与集群部署,用于构建安全、可扩展的身份与访问管理(IAM)方案。

主要能力

技能按任务类型提供对应的参考文档,包括:realm 与用户管理、客户端配置、认证与 SSO、授权与 RBAC、用户联邦(LDAP/AD)、安全加固、高可用与扩展、故障排查、集成示例。

核心概念覆盖:

  • Realm:master realm 为管理 realm(不用于应用),应用 realm 按应用/环境划分。
  • 用户与组:用户为带凭据的独立账户,组用于层级化组织用户,支持自定义属性与 LDAP/AD 联邦同步。
  • 客户端:OIDC 客户端(现代 OAuth 2.0/OIDC 应用)与 SAML 客户端(传统企业应用),类型分为机密型(服务端)与公开型(SPA/移动端)。
  • 角色与权限:realm 角色(全局)、客户端角色(单客户端)、复合角色(继承多个角色)。

使用方式

安装与部署提供多种方式:

  1. 单机模式(开发/测试):
wget https://github.com/keycloak/keycloak/releases/download/[VERSION]/keycloak-[VERSION].tar.gz
tar -xvzf keycloak-[VERSION].tar.gz
cd keycloak-[VERSION]
bin/kc.sh start-dev

访问 http://localhost:8080,首次访问创建初始管理员用户。

  1. 生产模式配合数据库:
bin/kc.sh build --db=postgres
export KC_DB=postgres
export KC_DB_URL=jdbc:postgresql://localhost/keycloak
export KC_DB_USERNAME=keycloak
export KC_DB_PASSWORD=password
export KC_HOSTNAME=keycloak.example.com
bin/kc.sh start --optimized
  1. Docker 部署:
docker run -d \
  --name keycloak \
  -p 8080:8080 \
  -e KEYCLOAK_ADMIN=admin \
  -e KEYCLOAK_ADMIN_PASSWORD=admin \
  quay.io/keycloak/keycloak:latest \
  start-dev
  1. Kubernetes:使用 Keycloak Operator 或 Helm charts。

初始配置步骤包括:创建管理员账户(12+ 字符强密码)、配置 KC_HOSTNAME、设置 SSL/TLS 证书(生产必需)、配置 PostgreSQL 连接、配置 SMTP 邮件通知。

常用命令:

bin/kc.sh start-dev                    # 开发
bin/kc.sh start --optimized            # 生产
bin/kc.sh build --db=postgres
bin/kc.sh export --dir /backup --realm my-realm
bin/kc.sh import --dir /backup
bin/kcadm.sh config credentials --server http://localhost:8080 --realm master --user admin
bin/kcadm.sh create realms -s realm=my-realm -s enabled=true
bin/kcadm.sh create users -r my-realm -s username=john -s enabled=true
bin/kcadm.sh set-password -r my-realm --username john --new-password secret

常见任务包括:为应用配置 SSO(创建 OIDC 客户端、设置精确重定向 URI、配置客户端类型、从 realm 端点获取配置)、启用多因素认证(复制 Browser flow、添加 OTP 或 WebAuthn 认证器、设为 Required 或 Conditional、绑定到 realm)、连接 LDAP/Active Directory(添加 LDAP Provider、配置连接与搜索基础、配置属性映射、测试并同步用户)。

适用场景

适用于需要部署和运维 Keycloak 身份与访问管理系统的场景,包括应用 SSO 集成、多因素认证、LDAP/AD 用户联邦、RBAC 授权、生产环境安全加固以及高可用集群部署。

限制

资料未提供具体版本号、价格或收费信息、性能指标及平台兼容性细节。生产部署要求 SSL/TLS、强密码策略、暴力破解防护、短访问令牌(5-15 分钟)、管理员 MFA 与事件日志监控。高可用需共享数据库、分布式缓存(Infinispan)、带粘性会话的负载均衡器、健康检查端点(/health/ready、/health/live)与 Prometheus 指标(/metrics)。