--- title: "删除安全用户" date: 2026-02-01 lastmod: 2026-02-01 description: "删除内部安全用户" tags: ["安全", "用户", "权限管理"] summary: "从 Easysearch 安全配置中删除指定的内部用户。 API 格式 # DELETE /_security/user/{name} API 作用 # 该 API 用于从内部原生领域(Native Realm)中删除用户,包括: 删除用户的所有关联数据(角色、属性、凭证) 更新整个集群的安全配置 需要相应的写权限 API 参数 # 路径参数 # 参数 类型 是否必填 默认值 描述 {name} String 是 - 要删除的用户名 查询参数 # 无(该 API 不使用任何查询参数) 请求体 # 不需要请求体(DELETE 操作不需要 JSON 载荷) 请求示例 # 删除指定用户 # DELETE /_security/user/john_doe 删除管理员用户 # DELETE /_security/user/admin 响应示例 # 成功响应 # 200 OK { "status": "OK", "message": "'john_doe' deleted." --- 从 Easysearch 安全配置中删除指定的内部用户。 ## API 格式 ``` DELETE /_security/user/{name} ``` ## API 作用 该 API 用于从内部原生领域(Native Realm)中删除用户,包括: - 删除用户的所有关联数据(角色、属性、凭证) - 更新整个集群的安全配置 - 需要相应的写权限 ## API 参数 ### 路径参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `{name}` | String | **是** | - | 要删除的用户名 | ### 查询参数 - 无(该 API 不使用任何查询参数) ### 请求体 - **不需要请求体**(DELETE 操作不需要 JSON 载荷) ## 请求示例 ### 删除指定用户 ``` DELETE /_security/user/john_doe ``` ### 删除管理员用户 ``` DELETE /_security/user/admin ``` ## 响应示例 ### 成功响应 ``` 200 OK ``` ```json { "status": "OK", "message": "'john_doe' deleted." } ``` ### 错误响应 - 未指定用户 ``` 400 Bad Request ``` ```json { "status": "BAD_REQUEST", "message": "No user specified." } ``` ### 错误响应 - 用户不存在 ``` 404 Not Found ``` ```json { "status": "NOT_FOUND", "message": "User 'john_doe' not found." } ``` ### 错误响应 - 权限不足 ``` 403 Forbidden ``` ```json { "status": "FORBIDDEN", "message": "No permission to delete user." } ``` ## 响应字段说明 | 字段 | 类型 | 描述 | |------|------|------| | `status` | String | 操作状态(`OK`、`BAD_REQUEST`、`NOT_FOUND` 等) | | `message` | String | 操作结果消息 | ## 权限要求 删除用户需要相应的安全权限: - 需要具有管理用户的安全权限 - 通常需要 `cluster:admin/security/user/delete` 权限 - 无法删除当前登录的超级用户(如果有) ## 相关操作 - **GET /_security/user**:查询所有用户 - **GET /_security/user/{name}**:查询指定用户 - **POST /_security/user**:创建新用户 - **PUT /_security/user/{name}**:更新用户信息 ## 使用场景 1. **用户离职**:删除离职员工的账户 2. **账户清理**:清理不再使用的测试账户 3. **安全审计**:移除未授权的用户账户 4. **权限调整**:删除原有角色后重建用户 ## 注意事项 1. **不可恢复**:删除后用户数据无法恢复,请谨慎操作 2. **关联数据**:删除用户会同时删除其所有角色和属性 3. **集群更新**:删除操作会更新整个集群的安全配置 4. **当前用户**:无法删除当前正在执行删除操作的用户(如果该用户是唯一的超级用户) 5. **原生领域**:该 API 仅适用于内部原生领域,不适用于外部认证提供商(如 LDAP、Active Directory) ## 实现细节 - **REST 处理器**:`InternalUsersApiAction` - **路由定义**:`DELETE /_security/user/{name}` - **继承**:继承自 `PatchableResourceApiAction` 和 `AbstractApiAction` - **源文件**:`modules/security/src/main/java/com/infinilabs/security/dlic/rest/api/InternalUsersApiAction.java`