安全与合规 · 高级

统一身份接入与离职权限回收

以 LDAP 目录为候选身份源,贯通 GitLab、JumpServer 与 Kubernetes 的最小授权、反向测试、会话清点与离职回收。

Kubernetes临时远程访问安全加固

场景目标

为一个测试身份建立目录、代码仓库、堡垒机和集群访问台账,完成允许/拒绝及到期回收验证,识别不随目录禁用自动消失的访问路径。

环境要求

需要选定版本的候选 LDAP 服务、可信 CA、受限查询身份、隔离测试账号、GitLab/JumpServer 管理审核权限及 Kubernetes 独立认证方案。先备份映射配置,保留受控紧急访问;90 分钟估时用于单一身份复核,不含全员迁移或真正离职批处理。涉及人员信息的输出仅存于批准范围,执行禁用或令牌轮换需按组织流程授权。

参考架构 · 非实时拓扑

目录身份、应用授权与会话回收分层架构

目录仅提供受限身份查询,各应用独立授权;Kubernetes 使用单独评审的认证机制和 RBAC。回收证据覆盖目录、角色、凭据和已有会话。

  • 数据 / 请求
  • 控制 / 管理
  • 观测 / 查询

点击组件,在图下方查看职责;连线编号对应流向解读。小屏可横向滚动,或直接展开文字说明。

目录身份、应用授权与会话回收分层架构:组件关系图目录仅提供受限身份查询,各应用独立授权;Kubernetes 使用单独评审的认证机制和 RBAC。回收证据覆盖目录、角色、凭据和已有会话。 受控测试主体 → GitLab:应用登录请求;GitLab → LDAP 目录:受限目录认证;受控测试主体 → JumpServer:实名终端登录;JumpServer → LDAP 目录:受限目录查询;受控测试主体 → 集群认证入口:独立集群身份;集群认证入口 → Kubernetes RBAC:用户名与组;授权与回收台账 → GitLab:角色与凭据回收;授权与回收台账 → JumpServer:授权和会话处置;授权与回收台账 → Kubernetes RBAC:绑定和凭据复核。箭头说明见下方流向解读。
逻辑参考图,OpenLDAP 为候选目录实现;图中没有 LDAP 直连 Kubernetes 认证,也不代表已打通 SSO 或自动回收。

受控测试主体

入口 / 来源

用稳定标识对应同一个测试人,人员、机器和紧急身份分列,不能按展示名直接合并。

全部组件职责 7 个组件
受控测试主体
用稳定标识对应同一个测试人,人员、机器和紧急身份分列,不能按展示名直接合并。
LDAP 目录
按所选目录实现保存用户属性,使用最小读取绑定身份;LDAP 是协议,不是完整 SSO 产品。工具介绍 LDAP 目录
GitLab
目录登录和项目权限分别验证,组同步能力按版本许可确认,令牌及部署密钥独立清点。工具介绍 GitLab
授权与回收台账
分别记录各平台授权、拒绝结果、令牌、会话和实际生效时间,未知或延迟回收保持未完成。
JumpServer
独立验证目录接入、本地登录路径、资产有效期和在线会话终断能力。工具介绍 JumpServer
集群认证入口
按集群实际支持选择认证方式并确认用户名与组的产生方式,不假设 LDAP 地址能直接配置为通用认证。
Kubernetes RBAC
对经过认证的主体执行命名空间与动词授权,认证凭据撤销和角色绑定处置分别确认。工具介绍 Kubernetes RBAC
流向解读 9 条连接
  1. 1

    受控测试主体 GitLab

    控制 / 管理 · 应用登录请求

    测试主体通过批准的 GitLab 入口登录,再单独核对具体项目动作。

  2. 2

    GitLab LDAP 目录

    控制 / 管理 · 受限目录认证

    GitLab 的 LDAP 接入按版本与配置验证,不表示目录授予全部应用权限。

  3. 3

    受控测试主体 JumpServer

    控制 / 管理 · 实名终端登录

    主体身份不自动产生资产连接权,仍需平台内的最小授权。

  4. 4

    JumpServer LDAP 目录

    控制 / 管理 · 受限目录查询

    核对搜索范围及同步差异;目录不可达时不默认扩大同步。

  5. 5

    受控测试主体 集群认证入口

    控制 / 管理 · 独立集群身份

    使用测试主体自己的受控集群凭据,认证类型和有效期明确记录。

  6. 6

    集群认证入口 Kubernetes RBAC

    控制 / 管理 · 用户名与组

    认证产生主体后再由角色绑定判定动作,不存在图中的 LDAP 直接认证边。

  7. 7

    授权与回收台账 GitLab

    控制 / 管理 · 角色与凭据回收

    分别审阅成员继承、个人令牌、SSH key 与机器凭据归属。

  8. 8

    授权与回收台账 JumpServer

    控制 / 管理 · 授权和会话处置

    到期拒绝新连接后,仍需单独终断已有会话并清点任务。

  9. 9

    授权与回收台账 Kubernetes RBAC

    控制 / 管理 · 绑定和凭据复核

    角色撤销和长期证书、令牌的失效边界不同,无法立即回收时记录缓解措施。

从架构到实施

  1. 01

    用同一个主体建立授权台账

    先核对稳定标识、TLS 和目录搜索,再明确每个平台的批准和拒绝资源,不批量复用权限。

  2. 02

    按平台分别验证授权

    GitLab、JumpServer 与 Kubernetes 的登录、授权和凭据是不同控制层,逐项做正反向核验。

  3. 03

    以残留路径而非禁用按钮验收

    对测试主体演练到期回收,追查同步、本地登录、长期凭据和已有会话,签收实际拒绝证据。

故障域与操作边界

停用目录账号不等于全面撤权

已签发令牌、SSH key、证书、应用会话和后台任务可能继续存在;按各系统能力分别处置和复验。

Kubernetes 认证独立选择

目录禁用不天然撤销客户端证书;不要通过授予 cluster-admin 掩盖认证或映射错误。

目录故障不触发全员破坏性同步

同步数量突变先停扩面并保留差异;机器身份先移交用途,避免连带中断发布和监控。

架构依据与版本核对 2 篇官方资料

图解是本站基于官方资料整理的逻辑参考;实施前仍需核对实际部署版本、组件支持范围与变更审批。

方案说明

身份与授权分工

LDAP 是目录访问协议,OpenLDAP 只是候选实现,不等于完整 SSO。GitLab 和 JumpServer 分别维护自身访问控制,Kubernetes 人员认证必须另行选择适用的认证接入机制,再由角色绑定授权;不能假定填写同一 LDAP 地址就打通所有平台。

适用前提

用于受控测试主体的接入和回收方案,验证状态保持待验证,不声称图片中的认证中心已经部署。先确认目录结构、稳定主体标识、同步范围和管理员职责,再评审紧急账号及机器身份。命令仅做只读查询和授权判断,目录查询可能包含人员数据,必须限定对象并保护输出。

全局验收

同一测试主体仅能访问批准资源;未批准资源和动作被拒绝。回收后不仅新登录失败,还需检查令牌、SSH key、角色绑定、已有会话及后台任务。目录不可达或批量同步数量突变时停止扩大变更,不将缓存失效时间当作已立即回收的证据。

配套入口

官方参考

工具编排

4 个关联工具
  1. OpenLDAP(LDAP 候选实现)候选目录身份源维护有限范围的人员标识与组,不代表自动提供所有平台的单点登录。
  2. GitLab Community Edition源码与令牌授权复核项目角色、个人令牌、SSH key 与机器凭据归属。
  3. JumpServer资产访问与会话审计核对登录身份、资产授权、有效期和已建立会话。
  4. Kubernetes命名空间资源授权经独立认证机制取得主体后复核角色绑定与最小操作集合。

实施步骤

共 8 步
  1. 01

    建立主体与资源授权台账

    选择受控测试主体,记录稳定用户标识、部门岗位、申请人、审批人和到期时间。分别列出 GitLab 项目动作、JumpServer 资产及连接动作、Kubernetes 命名空间及资源动词,明确拒绝清单。人员、机器人、服务账号和紧急账号分列,不用展示名或邮箱前缀直接合并身份。

    验证标准

    每项权限均能对应业务用途和明确资源,跨系统主体映射唯一且可复核。测试范围、负向动作、紧急入口和责任人已经确认,模糊匹配或重复账号列为阻塞项。

    停止与回退

    此步仅建清单,发现身份歧义时停止接入,保留原有授权不变。不得为了让台账看似一致而批量改名、删除账户或复制他人全部权限。

    返回步骤起点
  2. 02

    验证目录 TLS 与受限搜索

    确认 LDAP 实现与版本、证书链、主机名和搜索基准;使用仅读必要属性的绑定账号,不向应用暴露目录管理员身份。下面只读取单一测试用户,需预先配置可信 CA 并替换批准占位符,使用交互密码且不得扩大为全员导出。

    ldapsearch -LLL -x -ZZ -H 'ldap://<DIRECTORY_HOST>' -D '<READONLY_BIND_DN>' -W -b '<APPROVED_BASE_DN>' -s one '(uid=<TEST_UID>)' dn uid
    验证标准

    TLS 校验成功且搜索只返回预期测试主体,属性数量符合最小读取设计。证书错误、绑定拒绝、搜索基准错误和目录不可达有分别记录,空密码不会被误判为正常人员认证。

    停止与回退

    查询失败不修改目录条目,不关闭 TLS 校验绕过问题。暂停应用接入,修正可信 CA、搜索范围或授权后重测;怀疑绑定凭据泄露时交由责任人轮换,不将秘密写入工单。

    返回步骤起点
  3. 03

    验证 GitLab 成员映射与非人员凭据

    按所用版本和许可核对 GitLab LDAP 接入与组同步能力,先用测试主体确认登录,再逐项目检查角色和继承关系。分别登记个人访问令牌、SSH key、部署密钥、项目及组令牌的实际持有者和用途,不默认这些对象全部随人员目录状态同步变化。

    验证标准

    批准项目的指定动作可用,无关项目和管理动作被拒绝。登录成功和授权成功分别有证据;个人与机器凭据的范围、到期时间和接替负责人均已登记,未支持的自动同步能力明确标为人工流程。

    停止与回退

    发现过权时先撤销本次测试新增角色并停止扩面,保留原生产成员关系待管理员评审。误映射修正后重新验证正反向动作,不通过增加所有者权限解决登录或同步故障。

    返回步骤起点
  4. 04

    核对 JumpServer 资产权限和会话边界

    核对测试用户来源、LDAP 同步范围、资产授权、有效期和允许的上传下载动作。检查本地认证是否构成额外登录路径,确认会话审计存储可用。严格模式和全量同步可能影响未被目录发现的用户,应先比较候选差异清单,不在目录故障时直接扩大同步范围。

    验证标准

    测试主体只能连接批准资产,未授权资产无法新建连接,审计记录能定位主体与时间。管理员能识别已有在线会话并按流程终断,不能仅凭新登录被拒绝宣布所有访问已回收。

    停止与回退

    异常授权先停用本次新增规则并通知资产负责人;测试会话结束后确认后台任务是否仍运行。若同步数量突变,暂停同步修订、保留差异记录,避免未经复核批量禁用合法值班账号。

    返回步骤起点
  5. 05

    独立验证 Kubernetes 认证与 RBAC

    记录所选认证机制如何产生用户名和组,再映射到最小 Role/RoleBinding;LDAP 本身不是通用 kube-apiserver 登录配置。下面命令使用测试主体自己的受控 kubeconfig,只查询授权决定,不执行被查询动作。若借助管理员 impersonation,则另行审批并记录被模拟主体和组。

    kubectl --kubeconfig '<TEST_KUBECONFIG>' auth can-i get pods -n '<APPROVED_NAMESPACE>'
    kubectl --kubeconfig '<TEST_KUBECONFIG>' auth can-i delete deployments -n '<APPROVED_NAMESPACE>'
    kubectl --kubeconfig '<TEST_KUBECONFIG>' auth can-i get secrets -n '<UNAUTHORIZED_NAMESPACE>'
    验证标准

    批准的只读动作返回允许,高危删除和未授权 Secret 读取返回拒绝;另用无敏感数据的实际只读请求确认认证链可用。记录凭据类型、期限和主体,不把 auth can-i 当成目录登录的完整证明。

    停止与回退

    权限异常时停止扩批并恢复本次角色映射修订,保留测试结果。不得授予 cluster-admin 作为认证修复;凭据撤销能力依赖认证类型,不能把目录禁用等同于所有已签发证书立即失效。

    返回步骤起点
  6. 06

    执行受控到期与离职回收演练

    在批准时间对测试主体演练冻结新授权、目录禁用、GitLab 成员及个人凭据清点、JumpServer 资产回收与会话处理、Kubernetes 绑定及认证凭据处置。对非人员服务账号先转交所有权并评审轮换窗口,防止误停发布与监控任务。每个系统都记录实际生效时间,不只记录工单点击时间。

    验证标准

    台账内每种访问路径都有执行主体、回收结果和待处理项;测试旧凭据和已有会话的结果符合预期。无法立即撤销的凭据列出最迟到期时间及临时隔离措施,不能记为已彻底回收。

    停止与回退

    仅测试或误禁用主体经重新审批后恢复最小必要访问;已撤销令牌重新签发,不复用旧秘密。真实离职账号不因自动化失败而直接重新启用,遗留服务依赖应由接替人处理。

    返回步骤起点
  7. 07

    拆分同步失败与残留访问原因

    若目录状态已变但应用仍允许访问,依次检查本地登录、同步延迟、缓存、成员继承、长期令牌和独立证书。若所有人登录失败,检查目录网络、TLS、绑定身份和同步范围,不先改所有人的密码。以受控测试请求核实拒绝,保护查询日志中的个人数据。

    验证标准

    每个残留路径有证据、负责人、处理期限和复验方式;同步错误不会掩盖身份映射错误。紧急访问方案经过负责人确认,影响全员的异常优先停止扩面并建立事件时间线。

    停止与回退

    回退只针对已确认有误的接入配置和映射,不批量恢复刚回收的权限。恢复后重新进行测试主体的正反向核验,保留失败与修复日志,不清空审计数据消除告警。

    返回步骤起点
  8. 08

    签收回收证据并设定复核周期

    将台账、审批、目录状态、各系统拒绝结果、令牌及会话处置记录交给身份与业务负责人。约定转岗、离职、长期未使用和紧急授权到期的复核触发条件,明确同步失败告警和人工兜底;文档公开部分只含脱敏流程,人员清单存于受控位置。

    验证标准

    复核人可以按主体逐项确认无未解释授权,未彻底撤销项目有明确期限和风险接受人。测试账号处理完毕,紧急入口可用但受审计,自动化和人工范围均有清楚标注。

    停止与回退

    证据不完整则保持待关闭,不销毁账号审计历史;误写记录通过新修订纠正。后续恢复任何人员权限都重新走申请审批,不把历史台账当成永久恢复授权。

    返回步骤起点

DOUYA OPS ECOSYSTEM

体验豆芽自研工具与场景能力

部分场景提供体验环境,用于功能验证、测试和技术交流。