如何将用户限制在自己的数据库中

时间:2015-12-20 14:33:20

标签: marklogic

我有一个包含多个数据库和用户的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 "数据库中。

有什么想法吗? :)

谢谢! 罗曼。

1 个答案:

答案 0 :(得分:3)

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

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