删除用户
目录
问题描述
问题:创建或同步新用户时,系统提示用户已存在。该如何处理?
出于安全考虑,平台禁止创建与之前已删除用户同名的新用户(包括本地用户和 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 集群任意控制节点依次执行以下两个脚本:
-
清理用户密码:
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
-
清理用户:
kubectl delete users -l 'auth.cpaas.io/user.connector_id=local,auth.cpaas.io/user.state=deleted'