【问题标题】:Default privileges for new users on public schema?公共架构上新用户的默认权限?
【发布时间】:2019-04-11 18:48:20
【问题描述】:

我刚刚创建了一个带有额外 application 架构的数据库。

对于我们的 Java Spring Boot 应用程序,我使用以下 SQL 脚本创建了一个新角色,用于设置权限:

CREATE USER app_role WITH ENCRYPTED PASSWORD '#########';

GRANT ALL ON SCHEMA application TO app_role;

现在我的期望是,当我使用此角色登录时,我只能在架构 application 中创建和删除表。

不过,我也可以在架构 public 中创建和修改表。

public 架构是否有任何默认权限?

为什么我可以在我没有授予任何权限的架构中创建表?

【问题讨论】:

标签: postgresql privileges


【解决方案1】:

public 架构在 PostgreSQL 中具有特殊作用,正如 the documentation 所描述的那样。

如果您不希望这样(这可能是一个安全问题),您可以使用REVOKE CREATE 权限,甚至可以删除架构。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-05
    • 2012-10-16
    • 1970-01-01
    • 2023-01-23
    • 1970-01-01
    • 2014-01-26
    • 2021-12-19
    • 2012-11-30
    相关资源
    最近更新 更多