如何将所有权限重新分配给PostgreSQL中的另一个角色?

时间:2017-01-04 13:38:00

标签: postgresql privileges

在现有的PostgreSQL服务器上,假设我有两个用户" Alice" &安培; "鲍勃"我希望清理我的策略,因为它们实际上具有相同的工作,并且应该对数据库的每个对象具有完全相同的权限。

要做到这一点,我将创建一个新的组角色" Crew"他们将自动继承,以便将来管理员只需要处理组角色" Crew"并最终为其添加更多用户。

然而,因为我需要确保爱丽丝和鲍勃都不会因为这种改变而以任何方式感到尴尬,所以我需要转移现有的所有权和特权,以及#34; Alice" &安培; "鲍勃"到"船员"转而采用这项新政策。

要执行此操作,我应该:

  1. 创建船员角色
  2. Grant Crew to Alice&鲍勃(与INHERIT合作)
  3. 转让Alice&amp ;;的所有权Bob to Crew
  4. 来自Alice&的复制权限Bob to Crew (并保持更高的冲突特权)
  5. 步骤 3 实际上很简单,因为有一个内置命令:

    REASSIGN OWNED BY Alice TO Crew;
    REASSIGN OWNED BY Bob TO Crew;
    

    步骤 4 然而更复杂,因为没有魔术命令

    REASSIGN PRIVILEGES FROM Alice TO Crew; --This don't actually exist too bad for me!
    


    那么从#34; Alice"转移所有特权的最简洁方法是什么? &安培; "鲍勃"到"船员"吗

0 个答案:

没有答案