热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
本提示词专为数据库管理员和系统架构师设计,提供专业级的数据库用户角色与权限配置方案。通过分析特定数据库类型,系统化地列出标准用户角色及其详细权限,涵盖数据访问控制、安全策略和权限管理最佳实践。该提示词能够帮助用户快速建立符合业务需求的数据库权限体系,确保数据安全性和访问效率,适用于新系统部署、权限审计和安全加固等多种数据库管理场景。
以下方案将系统角色与业务角色分层设计,覆盖生产、备份、复制、监控、应用与开发等主流场景。
| 角色名 | 作用域 | 授权内容(摘要) | 典型适用场景 |
|---|---|---|---|
| r_server_admin | 全局 | 服务器级管理与运维必需的动态/管理权限(不含高风险 FILE) | 平台/DBA 服务器级运维 |
| r_security_admin | 全局 | 账户与角色生命周期管理(CREATE/ALTER/DROP USER/ROLE、ROLE_ADMIN、GRANT OPTION) | 安全与账户管理员 |
| r_backup_operator | 全局 + 各库 | 逻辑备份所需:RELOAD、LOCK TABLES、PROCESS、REPLICATION CLIENT、全库 SELECT/SHOW VIEW/ TRIGGER/EVENT;可选 BACKUP_ADMIN | 逻辑/物理备份账户 |
| r_replication_applier | 全局 | REPLICATION SLAVE/REPLICA(从库复制拉取权限) | 主从复制用户 |
| r_replication_monitor | 全局 | REPLICATION CLIENT(查看复制状态) | 复制监控 |
| r_monitoring | 全局 + P_S/SYS | PROCESS、REPLICATION CLIENT,读取 performance_schema 与 sys | 监控系统 |
| r_schema_owner_ |
指定库 | 该库 DDL+DML 全权限(不含高风险 FILE/全局级权限) | 单库所有者/DBA |
| r_schema_ddl_ |
指定库 | 该库结构变更:CREATE、ALTER、DROP、INDEX、CREATE/ALTER ROUTINE、TRIGGER、EVENT、CREATE VIEW、SHOW VIEW、REFERENCES | 架构/迁移变更 |
| r_schema_rw_ |
指定库 | 该库读写:SELECT、INSERT、UPDATE、DELETE、EXECUTE、(可选)CREATE TEMPORARY TABLES | 应用读写 |
| r_schema_ro_ |
指定库 | 该库只读:SELECT、SHOW VIEW、EXECUTE | 只读访问/报表 |
| r_etl_writer_ |
指定库 | 目标库写入:INSERT、UPDATE、DELETE、SELECT、CREATE TEMPORARY TABLES;(可选)LOAD DATA LOCAL | ETL 写入/落地 |
| r_event_scheduler_ |
指定库 | EVENT | 事件作业创建与维护 |
说明:
角色与用户的绑定
命名规范
分层授权
环境隔离
兼容 MySQL 5.7 及以下
最小权限原则
高风险权限管控
账户安全
审计与可观测性
变更与审批
此方案覆盖 MySQL 8.0/8.4 常见生产场景的标准角色与权限配置,兼顾最小权限与职责分离要求,可作为新环境基线与后续扩展的模板。
PostgreSQL 采用“角色(role)”统一管理用户与组,角色可具有登录能力(LOGIN)与一组系统属性(如 SUPERUSER、CREATEDB、CREATEROLE、REPLICATION、BYPASSRLS),并通过角色继承与对象级 ACL(GRANT/REVOKE)实现权限控制。权限粒度覆盖:
PostgreSQL 同时提供内置默认角色用于常见运维与只读场景(例如监控与只读数据访问),以及安全默认(例如 RLS、默认 PUBLIC 权限等需按需收紧)。
注:不同主版本的默认角色集合略有差异,以下方案按当前主流版本(13+ 至 16)设计;在具体实例中请以 \du 或查询 pg_roles/pg_authid 实际核验。
| 角色名 | 类型 | 可登录 | 关键权限/属性 | 适用范围/用途 |
|---|---|---|---|---|
| sysadmin_superuser | 系统(自定义) | 否 | SUPERUSER, CREATEROLE, CREATEDB, REPLICATION, BYPASSRLS | 集群全域管理,仅限极少数平台管理员。日常业务禁用此角色。 |
| role_admin | 系统(自定义) | 否 | CREATEROLE(可管理角色/成员关系,非 SUPERUSER) | 安全/账号管理,原则上不接触业务数据。 |
| db_creator | 系统(自定义) | 否 | CREATEDB | 建库职责,与 role_admin 职责分离。 |
| monitor_readonly | 系统(自定义聚合) | 否 | 成员包含:pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables | 统一的监控只读聚合角色,不触达业务数据内容。 |
| backup_operator | 系统(自定义) | 否 | REPLICATION;按需加入 pg_read_all_data(逻辑备份) | 备份账号:物理备份用 REPLICATION;逻辑备份(pg_dump 全库)可授予读取权限。 |
| file_ops_restricted | 系统(自定义) | 否 | 可选加入:pg_read_server_files / pg_write_server_files / pg_execute_server_program | 极少数场景需要读/写服务器文件或执行外部程序,默认不授予业务。 |
| replication_sender | 系统(自定义) | 否 | REPLICATION | 物理复制账号,用于流复制/归档。 |
| auditor_metadata | 系统(自定义) | 否 | 成员包含:pg_read_all_settings, pg_read_all_stats | 合规模块/审计仅查看系统设置与统计元数据,不看业务行数据。 |
| app_owner_ |
业务(每应用) | 否 | 业务对象拥有者(数据库对象OWNER),可设默认权限 | 应用对象所有者,不登录;用于统一授予/回收默认权限。 |
| app_ddl_ |
业务(每应用) | 否 | 在特定 schema 上 CREATE/ALTER/INDEX 权限(通过所有权/授权实现) | 应用内 DDL 管理(无 SUPERUSER),限域到本应用 schema。 |
| app_rw_ |
业务(每应用) | 否 | 对本应用 schema 内表:SELECT/INSERT/UPDATE/DELETE;对序列:USAGE, UPDATE;函数:EXECUTE | 应用服务写角色(DML),无 DDL。 |
| app_ro_ |
业务(每应用) | 否 | 对本应用 schema 内表:SELECT;对序列:SELECT(如需读 currval),函数:EXECUTE(仅读函数) | 只读访问,用于报表/查询。 |
| reporting_analyst | 业务(横向) | 否 | 对指定只读数据域 SELECT;对专用报表 schema 具备 CREATE | 报表分析,允许在沙箱 schema 中建视图/物化视图。 |
| login_rw_ |
业务登录(每应用) | 是 | INHERIT 成员:app_rw_ |
应用生产写入账号(登录)。 |
| login_ro_ |
业务登录(每应用) | 是 | INHERIT 成员:app_ro_ |
应用/报表只读账号(登录)。 |
内置默认角色(参考,按需纳入上述聚合角色):
以下以应用名 demo 为样例(请替换
-- 收紧 public schema 默认 CREATE 权限
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
-- 收紧数据库级默认连接(按需)
REVOKE ALL ON DATABASE demo FROM PUBLIC;
GRANT CONNECT, TEMP ON DATABASE demo TO role_admin, monitor_readonly; -- 示例
-- 业务所有者与功能角色(NOLOGIN)
CREATE ROLE app_owner_demo NOLOGIN;
CREATE ROLE app_ddl_demo NOLOGIN;
CREATE ROLE app_rw_demo NOLOGIN;
CREATE ROLE app_ro_demo NOLOGIN;
-- 登录角色
CREATE ROLE login_rw_demo LOGIN PASSWORD '***' INHERIT;
CREATE ROLE login_ro_demo LOGIN PASSWORD '***' INHERIT;
-- 绑定继承关系
GRANT app_rw_demo TO login_rw_demo;
GRANT app_ro_demo TO login_ro_demo;
-- 创建/迁移应用 schema 并指定所有者
CREATE SCHEMA demo AUTHORIZATION app_owner_demo;
-- 允许 DDL 角色在 demo schema 内创建对象
GRANT USAGE, CREATE ON SCHEMA demo TO app_ddl_demo;
-- 只读/读写角色使用 schema(USAGE)
GRANT USAGE ON SCHEMA demo TO app_rw_demo, app_ro_demo;
-- 授予应用库连接
GRANT CONNECT, TEMP ON DATABASE demo TO app_rw_demo, app_ro_demo;
-- 表与视图
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA demo TO app_rw_demo;
GRANT SELECT ON ALL TABLES IN SCHEMA demo TO app_ro_demo;
-- 序列(PG14+:USAGE=nextval,SELECT=currval/lastval)
GRANT USAGE, UPDATE ON ALL SEQUENCES IN SCHEMA demo TO app_rw_demo;
GRANT SELECT ON ALL SEQUENCES IN SCHEMA demo TO app_ro_demo;
-- 函数(按需筛选)
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA demo TO app_rw_demo, app_ro_demo;
-- 为未来在 demo schema 中由所有者创建的对象设默认权限
ALTER DEFAULT PRIVILEGES FOR ROLE app_owner_demo IN SCHEMA demo
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_rw_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_owner_demo IN SCHEMA demo
GRANT SELECT ON TABLES TO app_ro_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_owner_demo IN SCHEMA demo
GRANT USAGE, UPDATE ON SEQUENCES TO app_rw_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_owner_demo IN SCHEMA demo
GRANT SELECT ON SEQUENCES TO app_ro_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_owner_demo IN SCHEMA demo
GRANT EXECUTE ON FUNCTIONS TO app_rw_demo, app_ro_demo;
-- 若允许 DDL 由 app_ddl_demo 创建对象,也需为其创建的对象设置默认权限
ALTER DEFAULT PRIVILEGES FOR ROLE app_ddl_demo IN SCHEMA demo
GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_rw_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_ddl_demo IN SCHEMA demo
GRANT SELECT ON TABLES TO app_ro_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_ddl_demo IN SCHEMA demo
GRANT USAGE, UPDATE ON SEQUENCES TO app_rw_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_ddl_demo IN SCHEMA demo
GRANT SELECT ON SEQUENCES TO app_ro_demo;
ALTER DEFAULT PRIVILEGES FOR ROLE app_ddl_demo IN SCHEMA demo
GRANT EXECUTE ON FUNCTIONS TO app_rw_demo, app_ro_demo;
-- 聚合监控角色由实例管理员一次性配置
CREATE ROLE monitor_readonly NOLOGIN;
GRANT pg_monitor, pg_read_all_settings, pg_read_all_stats, pg_stat_scan_tables TO monitor_readonly;
-- 按库授予连接(如需)
GRANT CONNECT ON DATABASE demo TO monitor_readonly;
-- 备份(物理)
CREATE ROLE backup_operator NOLOGIN REPLICATION;
-- 备份(逻辑全库,谨慎)
GRANT pg_read_all_data TO backup_operator; -- 或针对目标库/Schema 精细授权
-- 审计仅元数据
CREATE ROLE auditor_metadata NOLOGIN;
GRANT pg_read_all_settings, pg_read_all_stats TO auditor_metadata;
-- 限制登录角色可连接的数据库
ALTER ROLE login_rw_demo IN DATABASE demo SET search_path = 'demo,public';
ALTER ROLE login_ro_demo IN DATABASE demo SET search_path = 'demo,public';
-- 会话级安全(示例)
ALTER ROLE login_rw_demo SET statement_timeout = '30s';
ALTER ROLE login_rw_demo SET lock_timeout = '5s';
ALTER ROLE login_ro_demo SET statement_timeout = '2m';
-- 启用 RLS
ALTER TABLE demo.orders ENABLE ROW LEVEL SECURITY;
-- 示例策略:仅允许访问与当前设置的租户ID匹配的行
CREATE POLICY p_read_orders ON demo.orders
FOR SELECT
TO app_ro_demo, app_rw_demo
USING (tenant_id = current_setting('app.tenant_id')::int);
CREATE POLICY p_write_orders ON demo.orders
FOR INSERT, UPDATE, DELETE
TO app_rw_demo
USING (tenant_id = current_setting('app.tenant_id')::int)
WITH CHECK (tenant_id = current_setting('app.tenant_id')::int);
-- 会话进入时由中间件设置 app.tenant_id
-- 避免授予 BYPASSRLS(仅限超级管理员)
-- 可将 public schema 仅保留 USAGE,禁止 CREATE
REVOKE CREATE ON SCHEMA public FROM PUBLIC;
GRANT USAGE ON SCHEMA public TO PUBLIC;
MongoDB 采用基于角色的访问控制(RBAC)模型。用户绑定到某个认证数据库(通常为 admin 或目标业务库),用户通过被授予的角色获取权限;角色由一组特权(privileges)构成,而特权由资源(resource:集群/数据库/集合)与操作(actions)组成。MongoDB提供一套内置角色覆蓋常见管理与业务场景,同时支持创建自定义角色以满足精细化授权需求。
关键要点:
适用部署形态:单机、复制集、分片集群(分片与路由配置相关权限需集群级角色)。
| 角色名称 | 范围 | 适用场景 | 核心权限概述 |
|---|---|---|---|
| read | 数据库 | 业务只读 | 读取集合与视图,列出集合/索引 |
| readWrite | 数据库 | 应用常规读写 | 读写非系统集合(CRUD),创建/删除索引(与写相关) |
| dbAdmin | 数据库 | 库级管理 | 查看/修改集合元数据(统计、校验、索引管理、profiling 等),不含业务数据写入 |
| userAdmin | 数据库 | 库级用户/角色管理 | 在该库内创建/修改/删除用户与自定义角色 |
| dbOwner | 数据库 | 单库所有权 | 等同于该库的 readWrite + dbAdmin + userAdmin |
| readAnyDatabase | 全库(admin授予) | 跨库只读 | 对所有非系统数据库的只读 |
| readWriteAnyDatabase | 全库(admin授予) | 跨库读写 | 对所有非系统数据库的读写 |
| dbAdminAnyDatabase | 全库(admin授予) | 跨库库级管理 | 对所有数据库执行 dbAdmin 类操作 |
| userAdminAnyDatabase | 全库(admin授予) | 跨库用户/角色管理 | 跨库管理用户与自定义角色 |
| clusterMonitor | 集群(admin授予) | 监控与只读运维 | 访问 serverStatus、replSetGetStatus、listShards 等监控视图 |
| clusterManager | 集群(admin授予) | 集群与分片管理 | 分片、路由及复制集管理相关操作(不含主机层面) |
| hostManager | 集群(admin授予) | 主机级维护 | 主机级维护相关操作(如日志轮转等,不含操作系统权限) |
| clusterAdmin | 集群(admin授予) | 最高级集群管理 | 包含 clusterManager、clusterMonitor、hostManager 等,覆盖集群管理所需权限 |
| backup | 集群(admin授予) | 备份账号 | 读取备份所需系统集合与oplog(适配 mongodump 等) |
| restore | 集群(admin授予) | 恢复账号 | 执行恢复所需写入及相关操作(适配 mongorestore 等) |
| root | 集群(admin授予) | 超级管理员 | 对所有资源执行全部操作(仅限极少量管理用户使用) |
说明:
read(库级)
readWrite(库级)
dbAdmin(库级)
userAdmin(库级)
dbOwner(库级)
readAnyDatabase / readWriteAnyDatabase / dbAdminAnyDatabase / userAdminAnyDatabase(admin 授予,跨库)
clusterMonitor(集群级)
clusterManager(集群级)
hostManager(集群级)
clusterAdmin(集群级)
backup(集群级)
restore(集群级)
root(集群级)
建议分层的角色体系:系统/平台层、数据库/业务层、运维辅助层
示例(在 admin 数据库执行):
创建集群管理员 use admin db.createUser({ user: "cluster_admin", pwd: "<strong_password>", roles: [ { role: "clusterAdmin", db: "admin" } ] })
创建备份与恢复用户
use admin
db.createUser({ user: "backup_user", pwd: "
创建监控用户
use admin
db.createUser({ user: "monitor_user", pwd: "
示例(在业务库 appdb 执行):
创建读写应用用户
use appdb
db.createUser({
user: "app_rw",
pwd: "
创建只读应用用户
use appdb
db.createUser({
user: "app_ro",
pwd: "
单库管理员
use appdb
db.createUser({
user: "app_db_owner",
pwd: "
示例:
创建 changeStream 辅助角色(在 admin 下) use admin db.createRole({ role: "changestream_reader", privileges: [ { resource: { cluster: true }, actions: [ "changeStream" ] } ], roles: [] })
将角色授予应用用户(需兼具库级 read 或 readWrite) use appdb db.updateUser("app_rw", { roles: [ { role: "readWrite", db: "appdb" }, { role: "changestream_reader", db: "admin" } ] })
只读分析角色(限定集合)
建议创建针对特定集合的自定义角色,最小授权:
use appdb
db.createRole({
role: "analytics_read_orders",
privileges: [
{ resource: { db: "appdb", collection: "orders" }, actions: [ "find", "listIndexes" ] }
],
roles: []
})
db.createUser({
user: "analytics_ro",
pwd: "
以上方案覆盖 MongoDB 内置标准角色与常见业务/运维场景的权限设计与配置步骤,可作为生产环境的基线框架并可按需扩展自定义角色实现更细粒度控制。
把“数据库角色权限管理专家”装进你的日常工作流,让数据库管理员、系统架构师与安全负责人在最短时间内产出一套可直接落地的角色与权限方案。无论你使用的是主流关系型数据库中的哪一种,只需给出数据库类型,即可获得:标准化的角色矩阵、清晰的权限边界、可执行的配置步骤、关键的安全提示与最佳实践收口。核心价值:1)让新系统首版权限方案在当天可落地,缩短上线周期;2)以最小必要权限为原则,显著降低越权与误操作风险;3)统一多数据库的权限口径,减少跨团队沟通与返工;4)为审计与合规提供“可解释、可复用、可追溯”的文档证据。立即试用,用一条提示词,替代数小时的手工梳理与来回确认。
在新环境中快速搭建权限体系,批量生成角色与授权清单;定期审计存量权限,识别越权并输出整改计划;将变更步骤安全落地并留痕。
为多库多环境设计统一角色模型,分层划定只读、读写与运维边界;支持微服务与多租户接入,减少后期重构与安全隐患。
按最小权限原则体检现有授权,定位高风险点并给出整改优先级;一键生成合规审查材料,降低审计沟通成本。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
半价获取高级提示词-优惠即将到期