首页主机资讯SQLAdmin如何进行权限管理

SQLAdmin如何进行权限管理

时间2025-12-04 12:26:04发布访客分类主机资讯浏览577
导读:SQLAdmin权限管理实操指南 一 概念与总体原则 将SQLAdmin理解为具备高权限的数据库管理账号或角色,目标是用最小权限原则完成运维,同时保留可审计与可回滚能力。 建议采用分权分域:区分日常DBA运维账号与应用连接账号;按库/模式...

SQLAdmin权限管理实操指南

一 概念与总体原则

  • SQLAdmin理解为具备高权限的数据库管理账号或角色,目标是用最小权限原则完成运维,同时保留可审计与可回滚能力。
  • 建议采用分权分域:区分日常DBA运维账号应用连接账号;按库/模式/表/列粒度授权;启用审计日志定期备份;对生产变更使用工单+复核流程。

二 在主流数据库中的实施步骤

  • MySQL
    • 登录:mysql -u root -p
    • 创建管理员并授予全局权限:CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'StrongPass!23'; GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
    • 按库授权:GRANT SELECT, INSERT, UPDATE, DELETE ON mydb.* TO 'appuser'@'%';
    • 撤销与查看:REVOKE ALL PRIVILEGES ON mydb.* FROM 'appuser'@'%'; SHOW GRANTS FOR 'appuser'@'%';
  • PostgreSQL
    • 登录:sudo -u postgres psql
    • 创建管理员并授予创建库/角色能力:CREATE USER sqladmin WITH PASSWORD 'StrongPass!23'; ALTER ROLE sqladmin WITH CREATEDB CREATEROLE INHERIT LOGIN;
    • 按库授权:GRANT ALL PRIVILEGES ON DATABASE mydb TO sqladmin;
    • 按模式/表授权:GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO sqladmin; GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO sqladmin;
    • 撤销:REVOKE ALL PRIVILEGES ON DATABASE mydb FROM sqladmin;
  • SQL Server
    • 图形化:SSMS 中在“安全性-登录名”新建登录,服务器角色勾选sysadmin即获全权;或在目标数据库“安全性-用户-新建用户”映射到该登录,在“数据库角色成员身份”勾选db_owner获得库级完全控制;只读/只写可用db_datareader/db_datawriter
    • T-SQL(示例):CREATE LOGIN sqladmin WITH PASSWORD = 'StrongPass!23'; ALTER SERVER ROLE sysadmin ADD MEMBER sqladmin; (生产慎用 sysadmin)

三 图形化工具与界面操作

  • 若“SQLAdmin”指phpMyAdmin/MySQL Workbench等图形化工具:
    • 登录管理端后,在“Users/Roles”“Databases”“Privileges”页执行创建用户、设置主机白名单、授予库/表级权限、查看与撤销授权等操作。
    • 适用于Ubuntu/CentOS等环境的日常运维,便于非命令行场景下的权限配置与复核。

四 安全加固与运维要点

  • 强化认证与网络:使用强密码定期轮换;限制来源主机(如仅内网网段);对外网开放时启用SSL/TLS加密连接;必要时仅开放必要端口(如3306/5432)。
  • 最小权限与职责分离:应用账号遵循最小权限;区分运维账号应用账号;按需授予只读/读写/结构变更等细粒度权限。
  • 审计与监控:启用数据库通用查询日志/错误日志与审计能力;在 CentOS 可用 journalctl -u mysqld -fjournalctl -u postgresql -f 实时查看服务日志;定期审计高权账号与异常语句。
  • 备份与恢复演练:定期执行全量/增量备份并验证可恢复性;如 mysqldump -u root -p mydb > mydb.sql 备份,mysql -u root -p mydb < mydb.sql 恢复。

五 快速命令清单

  • MySQL
    • 创建与全权:CREATE USER 'sqladmin'@'localhost' IDENTIFIED BY 'P@ssw0rd'; GRANT ALL PRIVILEGES ON *.* TO 'sqladmin'@'localhost' WITH GRANT OPTION; FLUSH PRIVILEGES;
    • 库级读写:GRANT SELECT, INSERT, UPDATE, DELETE ON sales.* TO 'sales_rw'@'%';
    • 撤销与查看:REVOKE ALL PRIVILEGES ON sales.* FROM 'sales_rw'@'%'; SHOW GRANTS FOR 'sales_rw'@'%';
  • PostgreSQL
    • 创建与能力:CREATE USER sqladmin WITH PASSWORD 'P@ssw0rd'; ALTER ROLE sqladmin WITH CREATEDB CREATEROLE INHERIT LOGIN;
    • 库/模式/表:GRANT ALL PRIVILEGES ON DATABASE sales TO sqladmin; GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO sqladmin; GRANT USAGE, SELECT ON ALL SEQUENCES IN SCHEMA public TO sqladmin;
    • 撤销:REVOKE ALL PRIVILEGES ON DATABASE sales FROM sqladmin;
  • SQL Server
    • 服务器级:CREATE LOGIN sqladmin WITH PASSWORD = 'P@ssw0rd'; ALTER SERVER ROLE sysadmin ADD MEMBER sqladmin;
    • 库级:USE sales; CREATE USER sqladmin FOR LOGIN sqladmin; ALTER ROLE db_owner ADD MEMBER sqladmin; (只读/只写可用 db_datareader/db_datawriter

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: SQLAdmin如何进行权限管理
本文地址: https://pptw.com/jishu/763418.html
Ubuntu strings与用户权限管理有何联系 如何利用Ubuntu strings提升系统安全性

游客 回复需填写必要信息