每个人好,我正在使用 Render、PostgreSQL 和 Supabase Auth构建一个 Node.js/Express 应用程序,但我遇到了一个数据库权限问题,希望能得到使用 Render 或遇到过同样问题的人的第一手经验。
我需要一个单独的运行时登录,具有以下权限:
- 连接到一个应用程序数据库。
- 使用一个应用程序架构。
- 执行两个明确批准的函数。
- 不直接访问应用程序表或序列。
- 不拥有数据库、架构或对象。
- 不是 SUPERUSER、CREATEDB、CREATEROLE、REPLICATION 或 BYPASSRLS。
- 不具有角色成员资格或管理委托,以获得额外的权限。
Render 文档指出,创建管理凭据会改变其连接 URL 中的默认用户,并在下一次同步更新引用蓝图环境变量。它还指出,通过 CREATE USER 直接创建的用户是未管理的,不会替换默认用户。
我尚未确定的是:
- Render 管理用户实际获得哪些属性、成员资格和所有权。
- 是否可以通过 SQL 创建和管理一个单独的受限登录。
- 是否有计划或 PostgreSQL 版本限制。
- 有没有人在 Render 上成功配置过仅限函数访问模式,包括检查公共权限、角色成员资格和默认权限。
- 这些手动配置的角色和限制是否在 Render 维护、升级和管理凭据轮换期间保留。
我已经将这个问题提交给 Render 支持,但尚未收到技术回复。原生认证仍然禁用,我正在调查。
我正在寻找一个支持的、可验证的配置,而不是绕过权限检查的方法。清洁示例、只读检查查询或文档链接将非常有帮助。感谢提前提醒。
评论 (0)