最小权限原则
仅授予用户完成工作所需的最小权限,避免过度授权。例如,只读用户仅赋予SELECT权限,避免INSERT/UPDATE/DELETE权限。
角色分层管理
readonly_role)并赋予基础权限,子角色通过INHERIT继承权限,便于权限统一管理。GRANT role TO user将用户绑定到角色,避免直接操作用户权限。数据库与对象权限控制
GRANT ALL PRIVILEGES ON DATABASE db TO role控制用户对数据库的访问权限。GRANT SELECT ON TABLE table TO role)或列(GRANT SELECT(column1) ON TABLE table TO role)权限。GRANT USAGE ON SCHEMA schema TO role控制对模式的访问。默认权限与权限审计
ALTER DEFAULT PRIVILEGES设置未来对象的默认权限(如新表自动赋予特定角色SELECT权限)。\du命令查看用户角色及权限,或查询information_schema获取详细权限明细。连接与安全配置
pg_hba.conf限制IP访问(如仅允许特定网段连接),并启用md5或scram-sha-256加密认证。postgresql.conf并配置证书)。权限回收与维护
REVOKE命令撤销冗余权限(如REVOKE INSERT ON TABLE table FROM role)。REASSIGN OWNED转移其拥有的对象,再执行DROP USER。自动化与工具辅助
pg_dump/pg_restore备份恢复时保留权限结构,避免手动重建。参考来源: