删除用户

问题描述

问题:创建或同步新用户时,系统提示用户已存在。应如何处理?

出于安全原因,平台禁止创建名称与之前已删除用户匹配的新用户(包括本地用户和 IDP 用户)。此限制适用于:

  • 创建名称与已删除用户匹配的新本地用户
  • 同步名称与已删除用户匹配的 IDP 用户

升级到当前版本后,您可能会在以下情况下遇到此问题:

  • 创建名称与升级前删除的用户匹配的新用户
  • 同步名称与升级前删除的用户匹配的新用户

解决方案

要解决此问题,您需要通过在 global 集群控制平面节点上执行特定脚本来清理已删除的用户信息。

清理已删除的 IDP 用户

在 global 集群的任意控制平面节点上执行以下命令:

kubectl delete users -l 'auth.cpaas.io/user.connector_id=<IDP Name>,auth.cpaas.io/user.state=deleted'

示例:

kubectl delete users -l 'auth.cpaas.io/user.connector_id=github,auth.cpaas.io/user.state=deleted'

清理已删除的本地用户

在 global 集群的任意控制平面节点上依次执行以下两个脚本:

  1. 清理用户密码:

    kubectl get users -l 'auth.cpaas.io/user.connector_id=local,auth.cpaas.io/user.state=deleted' | awk '{print $1}' | xargs kubectl delete password -n cpaas-system
  2. 清理用户:

    kubectl delete users -l 'auth.cpaas.io/user.connector_id=local,auth.cpaas.io/user.state=deleted'