SuperAPI AI 工具集

hardening-user-privileges

安全与审计

查看项目

更新于 10-15 20:13

技能介绍

用途:审计并加固 CockroachDB 的角色访问控制,减少过度授权,落实最小权限。适用场景包括减少 admin 用户、清理 PUBLIC 角色的 SELECT/INSERT/UPDATE/DELETE 权限、以专用角色替代宽泛 admin 授权、响应安全审计发现、为生产集群实施 RBAC 最佳实践及集群迁移到最小权限模型。

前提条件:需要具备 admin 角色的 SQL 访问权限以修改授权和角色成员;需清楚各用户/应用所需访问级别;需有应用测试计划,因为撤销授权可能破坏依赖这些授权的应用。可用 SELECT member FROM [SHOW GRANTS ON ROLE admin] WHERE member = current_user(); 检查访问权限。

主要步骤:1)用 SHOW USERS、SHOW GRANTS ON ROLE admin 等审计现有用户与角色,统计 admin 成员;2)识别权限过大用户,审查 admin 用户、PUBLIC 角色授权及敏感系统权限;3)创建专用角色,如 analyst_reader、app_service、schema_manager、monitoring、ops_triage,并配合 GRANT ... ON ALL TABLES IN SCHEMA 与 ALTER DEFAULT PRIVILEGES;4)将用户重新分配到专用角色;5)撤销多余授权,包括 REVOKE admin、撤销 PUBLIC 数据权限、撤销不必要系统权限;6)验证变更,确认 admin 数量下降、PUBLIC 权限最小化,并测试读写、模式操作、连接与认证。

限制与安全事项:撤销授权可能导致应用因权限错误而失败。应在撤销前审计依赖、先建替代角色、在预发布环境测试、增量撤销并监控日志。不得撤销最后一个 admin 用户、管理模式迁移的自动化账户(除非已建 schema_manager 角色)以及不可撤销的 root 用户。若应用出错,可紧急 GRANT admin 或重新授予相应权限回滚;建议变更前记录所有授权快照。官方文档参考 Authorization Overview、GRANT、REVOKE、CREATE ROLE、SHOW GRANTS 与系统权限页面。