用户:审核员
角色:
rest-reader
rest-writer
路径表达式:
/national-treasure/revenue
>权限:pii-reader ( update )
pii-reader ( read )
我确认
auditor
无法读取/national-treasure/revenue
元素。但它可以删除此文档:
Jul 06, 2020 4:48:52 PM com.fc.allegro6.DeleteDocument deleteDocument
INFO: Delete Document /national-treasure/rocky-mountains.xml
Jul 06, 2020 4:48:52 PM com.marklogic.client.impl.DocumentManagerImpl delete
INFO: Deleting /national-treasure/rocky-mountains.xml
Deleted
我想知道是否可以通过元素安全性或特权保护文档免受更新(删除(。
具有读取权限的 PII 阅读器可以更新受保护的路径:
用户:
auditor
角色:
pii-reader
路径表达式:
/national-treasure/revenue
权限:pii-reader(read)
原始节点:
<established>1885-01-01</established>
</highlights>
<revenue>CAN$6 billion/annual</revenue>
</national-treasure>
node-replace
:
let $txn := "xquery version '1.0-ml';
xdmp:node-replace(//revenue, <revenue>CAN$7 Trillion/annual</revenue>)"
……………………………
<user-id>{xdmp:user("auditor")}</user-id>
node-replace
结果:
<established>1885-01-01</established>
</highlights>
<revenue>CAN$7 Trillion/annual</revenue>
</national-treasure>
同样,node-delete
也会经历。
遗憾的是,元素级安全性仅涉及对受保护路径中的元素和属性read
访问。您必须使用文档级权限,以防止在涉及 PII 的情况下删除。
我可以想象你有一个叫做pii-updater
的隔离角色。然后,用户需要具有该角色才能更新或删除文档。
哼!