如何限制用户使用自己的数据库

How to restrict user to its own database

我有一个带有多个数据库和用户的 marklogic 集群 (v8)。我想为每个用户创建特定权限(如 SQL 中的授予权限),例如:

- User "project1-reader" can only read on database "project1"
- User "project1-writer" can only read and write on database "project1"
- User "project1-admin" can administrate database "project1"

并且所有这些用户都无法访问“project2”数据库。

有什么想法吗? :)

谢谢! 罗曼.

数据库只能通过应用服务器从外部访问。应用程序服务器允许管理员配置访问它所需的权限。 (权限与角色相关联,一个用户有零个或多个角色。)目前没有办法在数据库级别对此进行限制。我已将您的请求添加到我们用于跟踪此问题的现有增强请求中。

在应用程序服务器中的代码 运行 中,xdmp:evalxdmp:invoke 还允许您在另一个数据库的上下文中 运行 代码。但是,只有具有特定评估权限的角色的用户才能更改数据库上下文。这不是默认设置,必须由管理员明确授予(或放大)。同样,这并不比 anynone 更细化。查看 “Security Guide” 了解更多信息。