gpt4 book ai didi

postgresql - 如何使具有权限的一个用户postgresql仅执行功能

转载 作者:行者123 更新时间:2023-11-29 14:37:47 26 4
gpt4 key购买 nike

我想创建只能从一个数据库执行功能的用户。不查看任何数据库的源函数、过程、选择等。

谢谢。

最佳答案

应该这样做:

  • 允许用户仅连接到正确的数据库,或者具有数据库对象的权限(您必须REVOKE CONNECT 授予PUBLIC 默认情况下首先)或在 pg_hba.conf 中使用合适的条目。

  • 在用户可以连接的一个数据库中,它应该对包含函数的模式具有 USAGE 权限。

  • 使用属于有权访问所需对象的用户的 SECURITY INVOKER 创建函数。

  • REVOKE EXECUTE PUBLIC 中的所有函数,并根据需要将其GRANT 授予用户。

在 PostgreSQL 中没有支持的方法来阻止可以登录的用户查看函数的源代码。您可以尝试 REVOKE SELECT ON pg_proc FROM PUBLIC,但是如果您在客户端程序(如 pgAdmin 或 psql)上遇到问题,请不要感到惊讶。

关于postgresql - 如何使具有权限的一个用户postgresql仅执行功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41758713/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com