Вы имеете в виду функции, связанные с совершенно разными темами безопасности, каждая из которых имеет свое назначение.Просто для ясности:
sec:collection-set-permissions
относится к защищенным коллекциям, то есть к тому, кто может добавлять документы в коллекцию (а не к защите документов внутри нее) - * 1007Аргумент * и MLCP
-output_permissions
относятся к разрешениям на документы, и именно так вы контролируете, кто может получить доступ к какому документу.Безопасность отсека является связанной темой. sec:path-set-permissions
и sec:protect-path
относятся к Защищенным путям, что касается детального управления доступом на уровне элемента или свойства внутри документов.Другими словами, он добавляет поверх доступа к документу.Он также известен как Element Level Security (ELS). sec:priv-doc-permissions
- это просто внутренняя функция, помогающая создавать так называемые привилегии. - Редактирование в основном предназначено для экспорта данных в такихспособ, которым конфиденциальные данные могут быть скрыты или скрыты.
Обычно вам не нужно использовать функции из библиотеки sec
.Обычно вы также разрабатываете свой план обеспечения безопасности заранее, чтобы избежать необходимости прикасаться к вашим документам впоследствии.
Во время разработки вы часто обнаруживаете, что вам необходимо применить изменения.Для документов это будет применяться только к xdmp:document-set-permissions
, так как это единственный, который должен применяться к самим документам.Для этого вы должны сделать цикл for, но не для всех документов одновременно.Обычно вы пакетируете файлы, которые хотите обработать, и запускаете обработку на сервере задач.Вот несколько указаний на это: https://stackoverflow.com/a/52953123/918496
Добавление защищенных путей, кстати, вызовет переиндексацию всех связанных документов, которые MarkLogic позаботится полностью автоматически для вас.Защита коллекций влияет только на вставки и обновления после применения защиты.
HTH!