我有一个包含多个数据库和用户的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 "数据库中。
有什么想法吗? :)
谢谢! 罗曼。
答案 0 :(得分:3)
只能通过应用服务器从外部访问数据库。应用服务器允许管理员配置访问它所需的权限。 (权限与角色相关联,用户具有零个或多个角色。)目前没有办法在数据库级别对此进行限制。我已将您的请求添加到我们用于跟踪此功能的现有增强请求中。
在app服务器中运行的代码中,xdmp:eval
或xdmp:invoke
还允许您在另一个数据库的上下文中运行代码。但是,只有具有特定eval权限的角色的用户才能更改数据库上下文。这不是默认设置,必须由管理员明确授予(或放大)。同样,这不比any
或none
更精细。有关详细信息,请查看“Security Guide”。