--- title: "删除安全角色" date: 2026-03-09 lastmod: 2026-03-09 description: "删除指定的安全角色" tags: ["安全", "角色", "权限管理"] summary: "从 Easysearch 安全配置中删除指定的角色。 API 格式 # DELETE /_security/role/{name} API 作用 # 该 API 用于从集群的安全配置中删除角色: 删除角色及其所有关联的权限 更新集群的安全配置 立即移除被映射用户的相应权限 API 参数 # 路径参数 # 参数 类型 是否必填 默认值 描述 {name} String 是 - 要删除的角色名称 查询参数 # 无(该 API 不使用任何查询参数) 请求体 # 不需要请求体(DELETE 操作不需要 JSON 载荷) 请求示例 # 删除指定角色 # DELETE /_security/role/security_admin 删除自定义角色 # DELETE /_security/role/data_analyst 响应示例 # 成功响应 # 200 OK { "status": "OK", "message": "'security_admin' deleted." --- 从 Easysearch 安全配置中删除指定的角色。 ## API 格式 ``` DELETE /_security/role/{name} ``` ## API 作用 该 API 用于从集群的安全配置中删除角色: - 删除角色及其所有关联的权限 - 更新集群的安全配置 - 立即移除被映射用户的相应权限 ## API 参数 ### 路径参数 | 参数 | 类型 | 是否必填 | 默认值 | 描述 | |------|------|----------|--------|------| | `{name}` | String | **是** | - | 要删除的角色名称 | ### 查询参数 - 无(该 API 不使用任何查询参数) ### 请求体 - **不需要请求体**(DELETE 操作不需要 JSON 载荷) ## 请求示例 ### 删除指定角色 ``` DELETE /_security/role/security_admin ``` ### 删除自定义角色 ``` DELETE /_security/role/data_analyst ``` ## 响应示例 ### 成功响应 ``` 200 OK ``` ```json { "status": "OK", "message": "'security_admin' deleted." } ``` ### 错误响应 - 未指定角色 ``` 400 Bad Request ``` ```json { "status": "BAD_REQUEST", "message": "No role specified." } ``` ### 错误响应 - 角色不存在 ``` 404 Not Found ``` ```json { "status": "NOT_FOUND", "message": "role 'unknown_role' not found." } ``` ### 错误响应 - 权限不足 ``` 403 Forbidden ``` ```json { "status": "FORBIDDEN", "message": "No permission to access REST API" } ``` ## 响应字段说明 | 字段 | 类型 | 描述 | |------|------|------| | `status` | String | 操作状态(`OK`、`BAD_REQUEST`、`NOT_FOUND` 等) | | `message` | String | 操作结果消息 | ## 安全和授权 - 该 API 需要身份验证和适当的授权 - 超级管理员可以删除任何角色,包括保留角色和隐藏角色 - 普通用户只能删除其有权限修改的角色 - 标记为 `static` 或 `reserved` 的角色需要超级管理员权限才能删除 ## 实现细节 1. **角色存在性检查**:API 首先检查角色是否存在于安全配置中 2. **权限验证**:验证当前用户是否具有该角色的写入权限 3. **原子操作**:删除操作是原子性的——要么完全删除角色,要么操作失败 4. **配置更新**:成功删除后,安全配置会更新到集群的所有节点 5. **审计日志**:该操作会被记录到审计日志中用于安全跟踪 ## 重要说明 1. **立即生效**:删除角色后,被映射用户的相应权限会立即移除 2. **不可恢复**:删除操作无法撤销(尽管角色可以重新创建) 3. **用户影响**:被删除角色的用户将立即失去相应权限 4. **保留角色**:某些系统角色(如 `superuser`)可能被标记为保留,需要特殊权限才能删除 ## 相关操作 - **GET /_security/role**:查询所有角色 - **GET /_security/role/{name}**:查询指定角色 - **PUT /_security/role/{name}**:创建或更新角色 - **PATCH /_security/role/{name}**:部分更新角色 ## 使用场景 1. **角色清理**:删除不再需要的自定义角色 2. **权限调整**:在重构权限模型时移除旧角色 3. **安全审计**:移除未授权的角色 4. **组织变更**:在组织结构调整后删除相关角色 ## 注意事项 1. **无法撤销**:删除后无法恢复,请谨慎操作 2. **用户影响**:删除角色会影响所有被映射该角色的用户 3. **权限检查**:确保没有用户依赖该角色进行关键操作 4. **系统角色**:不要删除系统保留角色,除非完全了解后果 5. **备份建议**:删除前建议记录角色配置,以便需要时可以重建