cts:search 和权限设置 (MarkLogic)

cts:search and setting of permissions (MarkLogic)

我一直在阅读并了解有几种设置权限的方法,例如 sec:collection-set-permissionsxdmp:document-set-permissionssec:path-set-permissionssec:protect-pathsec:priv-doc-permissions、通过 MLCP 和修订设置权限。

但是,我一直在尝试查看是否有任何其他方法以及是否有可能以可扩展的方式进行 CTS:Search + 权限设置。现在我知道我可以使用类似的方法来解决这个问题,如以下问题 所示。但是,这种方法似乎无法通过使用 for 循环进行扩展。

任何解决建议以及以可扩展方式设置权限的任何建议都将不胜感激。

您指的是与完全不同的安全主题相关的功能,每个主题都有不同的用途。为清楚起见:

  • sec:collection-set-permissions 与受保护的集合有关,它是关于谁可以将文档添加到集合中(而不是关于保护其中的文档)
  • xdmp:document-set-permissions 和 MLCP 的 -output_permissions 论点是关于文档权限的,即您如何控制谁可以访问哪个文档。 Compartment Security 是这里的相关主题。
  • sec:path-set-permissionssec:protect-path 与 Protected Paths 有关,这是关于文档内部元素或 属性 级别的细粒度访问控制。换句话说,它增加了文档访问权限。它也称为元素级安全性 (ELS)。
  • sec:priv-doc-permissions 只是一个内部函数,用于帮助创建所谓的权限。
  • 密文主要用于以隐藏或混淆敏感数据的方式导出数据。

您通常不需要使用 sec 库中的函数。您通常还会预先设计您的安全计划,以避免事后需要触及您的文档。

然而,在开发过程中,您经常会发现自己需要应用更改。对于文档,这仅适用于 xdmp:document-set-permissions,因为这是唯一应应用于文档本身的方法。您基本上会为此执行 'for loop',但不会同时对所有文档执行。您通常会批量处理要处理的文件,然后将处理生成到任务服务器上。这里有一些关于此的指示:

顺便添加受保护的路径会触发所有相关文档的重新索引,MarkLogic 会自动为您处理。保护集合只会影响应用保护后的插入和更新。

HTH!