AWS Aurora PostgreSQL 15.x中Liquibase自动化角色配置咨询
AWS Aurora PostgreSQL 15 角色配置方案
前提说明
所有操作需通过rds_superuser账号执行,以下是针对你需求的三个登录角色的完整配置:
1. 只读角色 user_ro
该角色仅拥有全库只读权限,适合报表、查询类场景:
-- 创建登录角色 CREATE ROLE user_ro WITH LOGIN PASSWORD 'your_secure_password'; -- 授予预定义只读角色权限 GRANT pg_read_all_data TO user_ro;
2. 读写角色 user_rw
该角色拥有全库读写数据权限,但无法修改数据库结构:
-- 创建登录角色 CREATE ROLE user_rw WITH LOGIN PASSWORD 'your_secure_password'; -- 授予预定义读写数据权限 GRANT pg_read_all_data, pg_write_all_data TO user_rw;
3. Liquibase自动化角色 user_liquibase
针对你的需求,除已有的读写数据权限外,还需要DDL操作权限,PostgreSQL 15的pg_ddl_admin预定义角色正好匹配——它允许执行绝大多数数据库对象的创建、修改、删除操作,同时不会赋予过高的系统级权限(如创建角色、数据库),非常适合自动化迁移工具:
-- 创建登录角色 CREATE ROLE user_liquibase WITH LOGIN PASSWORD 'your_secure_password'; -- 授予读写数据权限(你已完成的部分) GRANT pg_read_all_data, pg_write_all_data TO user_liquibase; -- 授予DDL操作所需的预定义角色权限 GRANT pg_ddl_admin TO user_liquibase;
额外说明
- 如果你的应用使用自定义schema而非默认的
public,需要确保user_liquibase拥有该schema的USAGE权限(不过pg_read_all_data已隐含所有schema的USAGE,若有特殊需求可单独授予):GRANT USAGE ON SCHEMA your_custom_schema TO user_liquibase; - 若Liquibase需要执行
TRUNCATE操作,pg_ddl_admin已包含该权限,无需额外配置。 - 所有密码请替换为符合AWS安全规范的强密码,建议结合IAM认证或AWS Secrets Manager管理密码。
内容的提问来源于stack exchange,提问作者user4695271
相关产品推荐
相关产品推荐

