授予Postgres角色但是因关系错误而获得权限被拒绝

时间:2018-02-22 16:23:58

标签: sql postgresql amazon-web-services permissions amazon-rds

我正在尝试为数据收集端点创建一个只写角色。

我的设计计划是:

  1. 创建只写角色
  2. 将用户分配给该角色
  3. 让端点后面的应用程序使用该角色
  4. 我创建了角色

    CREATE ROLE new_write_only WITH
       NOLOGIN
       NOSUPERUSER
       INHERIT
       NOCREATEDB
       NOCREATEROLE
       NOREPLICATION
    

    我创建了用户

    CREATE USER " + user_name + "
       VALID UNTIL 'infinity'
       ENCRYPTED PASSWORD '" + password + "'
    

    我将用户分配给角色

    GRANT new_write_only TO " + user_name + "
    

    我为角色分配INSERT权限

    GRANT INSERT ON target_table TO new_write_only
    

    但是当我以user_name

    运行以下内容时
    INSERT INTO target_table (col_1, col_2, col_3) VALUES ('123abc', '{}', '2018-02-22 10:45:01.845539')
    

    我得到了

    permission denied for relation target_table
    

    当我和表所有者一样运行时,没问题。

1 个答案:

答案 0 :(得分:0)

我需要GRANT USAGE上的sequence以及

GRANT USAGE ON SEQUENCE target_table_row_id_seq TO new_write_only;