用途:将 Keycloak OIDC 认证集成到 Harness 流水线与 EKS 部署中,用于 Keycloak 客户端管理、EKS 的 OIDC 认证、realm-as-code 模式与服务账号预置。
主要能力:提供 Keycloak 的 Helm values(含 replicas、镜像 quay.io/keycloak/keycloak:24.0.1、KC_HOSTNAME/KC_PROXY/KC_DB 等环境变量、Ingress、IRSA 服务账号注解);realm 导出模板(sslRequired、bruteForceProtected、安全响应头、角色定义);客户端配置模板(clientAuthenticatorType、redirectUris、webOrigins、PKCE S256、token 生命周期);Harness 流水线步骤示例,包括通过 admin-cli 获取令牌、创建或更新 Keycloak 客户端、将客户端密钥写入 AWS Secrets Manager、导入 realm,以及验证 openid-configuration 与 client_credentials 认证。还包含 EKS 的 ServiceAccount/Deployment OIDC 配置、External Secrets 拉取凭据、Enable Keycloak 的 Helm values 与流水线变量(keycloak_url、keycloak_realm、domain)。
使用方式:在 Harness 中定义 Run 步骤执行 Bash 脚本,调用 Keycloak Admin REST API(admin/realms 端点)并配合 jq 解析令牌与客户端 UUID;通过 Helm values 部署 Keycloak 与业务服务;用 ExternalSecret 从 AWS Secrets Manager 同步 client-secret;验证步骤检查 realm 可访问性和客户端认证是否成功。
适用场景:需要统一身份认证的 Kubernetes/EKS 服务、按代码方式管理 Keycloak realm 与客户端的团队、以及用 Harness 自动化身份配置的交付流程。
限制:资料只提供配置与脚本示例,未说明收费、平台兼容范围、性能或具体效果,相关事实暂未提供;脚本中的占位变量与域名需按实际环境替换。