删除用户

问题描述

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

出于安全原因,该平台不允许创建名称与之前已删除用户相同的新用户(包括本地用户和身份提供者用户)。这一限制适用于:

  • 创建名称与已删除用户相同的新本地用户
  • 同步名称与已删除用户相同的身份提供者用户

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

  • 创建名称与升级前已删除用户相同的新用户时
  • 同步名称与升级前已删除用户相同的新用户时

解决方案

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

清理已删除的身份提供者用户

在全局集群的任何控制节点上执行以下命令:

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'

清理已删除的本地用户

在全局集群的任何控制节点上按顺序执行这两个脚本:

  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
  1. 清理用户:
kubectl delete users -l 'auth.cpaas.io/user.connector_id=local,auth.cpaas.io/user.state=deleted'