V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dzdh
V2EX  ›  PostgreSQL

有什么权限管理最佳实践吗

  •  
  •   dzdh · 1 天前 · 1662 次点击

    场景是这样。

    一个库 owner 是 user

    几个开发者 只有只读和建表删表权限 usera/userb

    开发者自己建的表会自动 owner 给自己。导致其他人没权限。

    阿里云 rds-pg 。有什么解决方案?

    13 条回复    2024-11-04 17:33:32 +08:00
    encro
        1
    encro  
       1 天前
    采用统一的 migrate 命令,用统一的账户,没必要每个用户开不同的数据库账号吧。
    dzdh
        2
    dzdh  
    OP
       1 天前
    @encro #1 目前开发规范和流程所致。之前 mysql 是这么玩。dev 库大家一起弄。上生产时导出导入。
    abolast
        3
    abolast  
       1 天前   ❤️ 1
    dev 环境开全权限,test 开只读,导入导出让运维帮忙,生成的话只允许提交 sql 到仓库,自动化程序来执行(交给高权限的人来呗,运维开发个程序给高权限的人用)
    adoal
        4
    adoal  
       1 天前
    数据库的 owner 是一种角色,有义务为别人设置权限,不论它的岗位是不是专职 dba
    xiaogu2014
        5
    xiaogu2014  
       1 天前
    可以考虑用一些 migration 的方式。比如 java 的 flyway 之类的。可以手动 trigger/自动随着部署 trigger 。
    以及用户更改表的权限 revoke 吧。 保留修改数据的。所有更改表的都通过上面的 migration 的方式进行。
    xuanbg
        6
    xuanbg  
       1 天前
    都只管自己不管别人的是吧。数据库表应该有专人管理维护的呀,不然还不得乱了套。
    dzdh
        7
    dzdh  
    OP
       1 天前
    没法像 mysql 那样 按 db 给权限吗 下面的表自动继承
    dk7952638
        8
    dk7952638  
       1 天前
    casbin, 支持非常多的权限模型
    panxiuqing
        9
    panxiuqing  
       21 小时 55 分钟前
    @dzdh #7 mysql 的 db 不是对应 pg 的 schema 吗。
    dzdh
        10
    dzdh  
    OP
       21 小时 15 分钟前
    @panxiuqing 那 pg 可以给 schema 弄个权限或 owner 然后所有在这个 schema 里操作都继承么
    panxiuqing
        11
    panxiuqing  
       19 小时 13 分钟前
    @dzdh #10 schema 有 owner ,schema 的 owner 可以决定其他 user 在 schema 中的权限,schema 中 table 的 owner 默认是 table 的创建人。
    dzdh
        12
    dzdh  
    OP
       19 小时 11 分钟前
    @panxiuqing #11 如果把 schema 的 owner grant 给其他 user 。那其他 user 在这个 schema 里建的 table ,其他被 grant 过的 user 们 能操作这个 schema 里其他 user 创建的 table 吗?
    panxiuqing
        13
    panxiuqing  
       18 小时 41 分钟前
    @dzdh #12 table 不会自动继承 schema “本身”的权限,可以设置 schema 内的默认权限(也只影响新建的表)。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3888 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:15 · PVG 12:15 · LAX 20:15 · JFK 23:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.