如何在Postgresql中实现ACL

时间:2016-04-28 07:25:12

标签: database postgresql acl

我的数据库中有两种模式:商业和品牌。每个企业都有一个或多个访问多个品牌的权限,例如阅读,更新和删除。

我不确定实施访问控制的最佳方法是什么。目前,我创建了一个包含多个字段的联接表:business_idbrand_idcan_readcan_updatecan_delete,每当采取某些操作时,我检查一下这张桌子。

但是,我意识到这种方法是在应用程序级别,而不是在数据库级别。

我的问题是,有没有办法在数据库级别实现这种访问控制?

我在Postgresql"中使用Google搜索" ACL,但结果都是关于数据库本身的帐户,而不是它存储的数据。

请帮忙!

2 个答案:

答案 0 :(得分:0)

您可能需要考虑行级安全策略。这是PostgreSQL v9.5中的一个新功能。

有关详细信息,请参阅Row Security Policies

答案 1 :(得分:-1)

你的出发点应该是Postgres中的grant命令 我通常建议允许/授予每个企业只是访问具有所有相关数据的特定视图 表格只能由管理员访问。