2

Cloudant、CouchDB 和 BigCouch 都建议创建用户特定的数据库作为实现文档级访问控制的一种方式。即 AliceDB 将只有 Alice 可以阅读的文档,BobDB 将只有 Bob 的文档等等。

实现此模式需要以编程方式创建和删除数据库。这些 API 有 DB REST API,但这些 API 要求调用者具有服务器管理员权限。我在同一个集群上有许多其他不相关的数据库,我担心分发具有 serveradmin 权限的用户 ID。(如果客户端代码不小心删除了我的其他数据库怎么办?!!)

人们正在做什么来解决这个问题?我在 Cloudant、CouchDB 或 BigCouch 文档中找不到任何内容。

4

1 回答 1

3

有几个潜在的选项可供您使用:

  • Apache CouchDB 2.0 包含一个couch_peruser可能有用的配置选项。
  • 您可以创建自己的系统,与couch_peruser. 这将涉及创建一个程序,该程序有权创建新数据库并相应地分配权限。
  • Cloudant Envoy可以提供每个用户拥有一个单独数据库的错觉,而无需实际创建单独的数据库。
于 2017-02-23T17:16:43.957 回答