克里斯托夫·佩图斯:检查您的权限
💡
原文英文,约700词,阅读约需3分钟。
📝
内容提要
PostgreSQL角色和权限系统可能会令人惊讶。除非授予特定权限,否则任何人都可以执行函数。新函数的默认权限是任何人都可以执行。为了修复这个问题,撤销对PUBLIC的授权并修改新函数的默认权限。请注意默认权限并相应地进行调整。
🎯
关键要点
-
PostgreSQL的角色和权限系统可能会令人惊讶。
-
新创建的函数默认权限是任何人都可以执行。
-
可以通过撤销对PUBLIC的授权来限制函数的执行权限。
-
REVOKE命令不会创建新的权限条目,只是移除已存在的权限。
-
PUBLIC角色意味着所有角色,因此任何人都可以执行未明确限制的函数。
-
要修复权限问题,首先需要撤销对PUBLIC的EXECUTE权限。
-
可以通过ALTER DEFAULT PRIVILEGES命令修改新函数的默认权限。
-
重要的是要记住,修改默认权限不会影响现有函数的权限。
🏷️
标签
➡️