如何授予某人对 PostgreSQL 的有限访问权限

How to grant someone limited access to PostgreSQL

我在 AWS 上有一个 SQL 数据库,它连接到 Heroku 上的 Django 框架网站。我需要授予第三方访问权限,以便他们将数据从我的数据库提取到他们自己的 SQL 数据库。

我是一名自学成才的程序员、网页设计师,对 AWS 和数据库管理的了解非常有限,无法找到明确的路线图来说明如何为某人创建凭据以编程方式(只读)访问我的数据库并拥有仅访问某些数据。例如,杂项表中的所有记录都与具有外键的项目相关,我希望用户只能访问某些项目的数据。

我现在拥有的唯一帐户是我在 Django 网站中使用的主帐户,并通过客户端连接以浏览该数据。

所以我的问题是: 1- 如何为某人创建凭据以远程连接到我的数据库? 2-我怎样才能让它只读? 3- 我如何根据外键限制他们只能访问某些记录?

编辑:我发现以下讨论倾向于创建 REST API 而不是提供 SQL 访问。如果我遗漏任何内容,我愿意接受更多意见。 https://softwareengineering.stackexchange.com/questions/277701/why-do-people-do-rest-apis-instead-of-dbals 谢谢,

根据'live'这些数据的需要,您可以考虑在合适的时间exporting/dumping将数据简单地exporting/dumping到S3,然后与第三方共享。然后他们可以导入到他们这边的数据库中。

您没有说 PostgreSQL 数据库是否在 RDS 中,但如果它在 RDS 中,您还可以创建数据库的快照并 share the snapshot 与客户。

这两种选择都可能比构建 API 更容易。它们还消除了第三方损坏您的数据库(因为您不小心过度许可)或导致它或您的应用程序出现可用性问题的任何可能性。