Postgresql 如何保护postgres中的数据库对象
我是postgresql新手,想知道什么是保护数据库中对象的好模式 在我职业生涯的大部分时间里,我一直在使用MSFT SQL server,我喜欢他们采取的保护数据库和对象的方法。我在postgresql中缺少的一些东西是实例和数据库级别的预定义角色,例如db_reader和db_writer 如何处理新对象的安全性Postgresql 如何保护postgres中的数据库对象,postgresql,security,google-cloud-sql,Postgresql,Security,Google Cloud Sql,我是postgresql新手,想知道什么是保护数据库中对象的好模式 在我职业生涯的大部分时间里,我一直在使用MSFT SQL server,我喜欢他们采取的保护数据库和对象的方法。我在postgresql中缺少的一些东西是实例和数据库级别的预定义角色,例如db_reader和db_writer 如何处理新对象的安全性 您是否限制了人们在数据库中创建新对象的能力(当然是,但我对一种方法或模式感兴趣),以及您是如何做到这一点的(手动使用CICD、基于事件的触发器) 目前,我正在使用一系列基于事件
- 您是否限制了人们在数据库中创建新对象的能力(当然是,但我对一种方法或模式感兴趣),以及您是如何做到这一点的(手动使用CICD、基于事件的触发器)
- db_reader,对用户定义数据库的只读访问
- db_writer,对用户定义数据库的读写访问
- db_admin,对用户定义数据库的完全数据库访问
- db_writer继承db_reader的所有权限
- db_admin继承db_writer的所有特权
- 连接所有用户定义的数据库
- 在所有用户定义的架构上使用
- 选择所有用户定义的表、视图和序列
- 与db_读取器关联的所有权限
- 在所有用户定义的表和序列上插入、更新、删除
- 与db_writer关联的所有权限
- 在所有用户定义的数据库上创建
- 截断所有用户定义的表
- 组角色(用户和权限)
- 用户角色(通常为个人或应用程序名称)
- 权限通过授予和撤销分配给组角色
- 用户角色从关联的组角色继承权限并具有登录权限