我尝试在postgres中为后端服务器创建一个角色,出于安全原因,我想限制backend_user权限。用户只能访问database_x和公共模式,并且可以在database_x中的所有表中执行以下操作:
- 添加/创建一行
- 修改/更新行
- 删除行
用户不能执行以下操作
- 创建一个新的数据库、表或表中的列
- 删除数据库、表或表中的列
- 修改数据库、表或表中的列(例如修改名称)
我一直关注this,但所有尝试都没有成功。
编辑:
CREATE user userx WITH ENCRYPTED PASSWORD 'mypass';
GRANT ALL PRIVILEGES ON DATABASE mydb TO userx;
GRANT ALL PRIVILEGES ON SCHEMA public TO userx;
grant all PRIVILEGES on all tables in schema public to userx;
REVOKE drop, alter ON ALL TABLES IN SCHEMA public FROM userx;
REVOKE alter, create, drop ON DATABASE mydb FROM userx;
字符串
1条答案
按热度按时间ulmd4ohb1#
感谢@Adrian Klaver的解决方案:
字符串
用户不能创建、修改、删除数据库、表或表中的列。