SuperAPI AI 工具集

security-rbac

安全与审计

查看项目

更新于 10-16 07:24

技能介绍

用途:在实现基于角色的访问控制(RBAC)时提供数据库安全标准,强调在数据库层实施纵深防御,使应用层被攻破时数据仍受严格访问控制保护。

主要能力:一、RBAC,建立角色层级,避免给单个用户授权;标准角色含 ROLE_ADMIN(完整 DDL/DML、可改 schema)、ROLE_APP_BACKEND(对业务表可增删改查但不可改 schema)、ROLE_READ_ONLY(仅 SELECT)、ROLE_GUEST/ROLE_ANON(未认证公开访问)。遵循最小权限,从零权限开始,仅授必需;示例:GRANT SELECT, INSERT, UPDATE ON TABLE users TO ROLE_APP_BACKEND; 与 GRANT USAGE, SELECT ON SEQUENCE users_id_seq TO ROLE_APP_BACKEND; 并显式 REVOKE ALL FROM PUBLIC 防止默认访问。二、行级安全 RLS,按当前用户上下文强制行级隔离,如 ALTER TABLE sensitive_documents ENABLE ROW LEVEL SECURITY; 并 CREATE POLICY user_access_policy ON sensitive_documents FOR ALL USING (owner_id = current_setting('app.current_user_id')::INT); 应用须在每个事务开始设置上下文变量。三、数据保护,密码绝不明文存储,使用 bcrypt 或 argon2;识别 PII,可独立 schema 或表并收紧访问,支持时用 pgcrypto 等加密敏感列;防 SQL 注入要求全部使用参数化查询/预编译语句,PL/pgSQL 用 EXECUTE ... USING ... 安全绑定参数,避免字符串拼接。四、审计与合规,记录谁在何时改了什么及新旧值,存于独立受限审计 schema;审计表仅追加,撤销所有应用角色的 UPDATE、DELETE,可考虑日志外发或 WAL 归档防篡改。五、连接安全,应用连接经连接池(如 PgBouncer),以 ROLE_APP_BACKEND 而非超级用户连接;强制 SSL/TLS,如 sslmode=require 或 verify-full,并妥善管理与轮换证书。

限制:该资料为规则清单,未提供具体安装命令、平台支持范围、收费或价格信息,相关事实暂未提供。