【问题标题】:PostgreSQL - correct db privileges for an API user accountPostgreSQL - API 用户帐户的正确数据库权限
【发布时间】:2018-01-20 20:06:15
【问题描述】:

我有一个将连接到 PostgreSQL 数据库的 REST 服务。应用程序只会执行 INSERT/UPDATE/DELETE 操作。我想确保我给 API 帐户正确的权限,只执行这些类型的命令,而不是 DROP 和其他危险操作。此类帐户的最佳做法是什么,您能否给我一些 SQL 示例或说明如何在 pgAdmin 4 中执行此操作。

【问题讨论】:

    标签: sql postgresql privileges pgadmin-4


    【解决方案1】:

    当您想要限制访问权限时,通常明智的做法是先清除公共可能拥有的所有权限。除了作为默认模式的名称之外,public 也是一个特殊角色,包括所有角色,因此如果允许 public 做某事,那么每个人都可以做。

    REVOKE ALL ON ALL TABLES IN SCHEMA public FROM public;
    REVOKE ALL ON SCHEMA public FROM public;
    

    然后为您的用户设置授权。

    GRANT USAGE ON SCHEMA public TO api_user;
    GRANT SELECT INSERT UPDATE DELETE ON ALL TABLES IN SCHEMA public TO api_user;
    

    如果您有其他架构除了公开重复这些。

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 2014-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-03
      • 2010-09-22
      相关资源
      最近更新 更多