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

时间:2020-11-11 18:58:22

标签: sql postgresql amazon-web-services amazon-rds

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

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

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

所以我的问题是: 1-如何为某人创建凭据以远程连接到我的数据库? 2-如何使其只读? 3-如何基于外键限制他们对某些记录的访问?

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

1 个答案:

答案 0 :(得分:1)

取决于此数据的生存时间,您可以考虑在适当的时候将数据exporting/dumping简单地share the snapshot发送给S3,然后与第三方共享。然后,他们可以将其导入数据库。

您没有说PostgreSQL数据库是否在RDS中,但是如果它在RDS中,您还可以创建数据库的快照,并与客户Microsoft Docs on GetCustomAttribute<T>(Assembly)建立联系。

这两个选项都可能比构建API容易。它们还消除了第三方损坏您的数据库(因为您不小心过度使用它们)或引起数据库或应用程序的可用性问题的任何可能性。