读写授权(Read/Write authorizations):给动作加安全边界
读写授权(处于 beta 阶段)给动作类型套上两道安全边界:读授权限制动作能直接读取或接收的带标记数据,写授权规定它创建/修改的数据必须满足的最低安全。它们只是"补充",不替代现有权限与提交条件。
https://www.palantir.com/docs/foundry/action-types/read-write-authorizations/
原始标题:Read and write authorizations
一句话速览
读写授权(Read/Write authorizations):给动作加安全边界:读写授权(处于 beta 阶段)给动作类型套上两道安全边界:读授权限制动作能直接读取或接收的带标记数据,写授权规定它创建/修改的数据必须满足的最低安全。
什么是 read / write authorization
两道边界,一上一下。
读写授权为动作类型增加安全边界(security boundaries):
- Read authorization(读授权)限制动作在执行时能读取或直接接收的带标记(marked)数据的上限;
- Write authorization(写授权)为动作创建或修改的数据设定最低安全要求(minimum security)。
它们补充用户现有权限与动作的 submission criteria,但不授予访问、也不替代现有权限或提交条件。
Read authorization:读取的上限
即使你能看,动作也可能读不到。
读授权给动作能读取的数据设了一道额外的上限(upper bound)。它在 Foundry 把值载入参数时生效——包括另一段逻辑调用该动作时,以及 function-backed 动作执行读取时。
如果数据超出了配置的读授权,即使该用户本来能访问它,动作也无法载入那部分数据。当然,应用动作的用户仍须对数据本身有权限;若读授权未配置任何 marking,则除了用户现有访问外,不额外设读边界。
Write authorization:写入的底线
低于最低安全,动作会被拦下。
写授权定义了动作创建或修改的数据必须满足的最低安全。Foundry 会校验结果数据的安全,若结果低于配置的最低要求,就阻断(block)该动作。
关键是:写授权不授予用户对 marking 的访问,也不会自动加上任何已配置的 marking,更不会让本就无效的编辑变得合法。用户仍须具备所需权限、在适用处提供有效的 marking 值、并通过 submission criteria。
另外,写授权不对平台托管的写入生效——例如 action log(动作日志)与 edit history(编辑历史)对象,因此它们的实际安全可能低于写授权。
强制标记保证与"降级"风险
读写不一致,可能切断标记传播。
强制标记(mandatory markings)本应沿数据依赖传播,让衍生数据保留输入的防护。但动作的输出安全由动作逻辑决定——它可以比输入更高、相等,或更低。读/写授权分别设了动作的上界与下界。
若把写授权设得比读授权更宽松,动作就能写出低于其读取边界的数据——这会有意切断(sever)强制标记传播,可能导致数据降级(declassification)。编辑器在读写设置不一致时会显示警告。
当读写不一致时,Foundry 会检查保存/发布该动作类型的用户权限:他必须能降级(declassify)被切断的每一个强制标记。检查通过后,动作类型即可执行该降级;且运行时不再重复此检查。
如何配置,以及表单上的状态反馈
开启 Access constraints,分别配读写。
在动作类型编辑器里,启用 Access constraints(访问约束)即可配置授权:启用会初始化两套授权(无 marking),禁用则清空两者。用 Write security 与 Read security 标签页分别配置;设置不一致时编辑器会警告。若授权里含有你无权查看的值,会显示为已脱敏(redacted)且不可编辑。
提交前,动作表单可显示基于写授权的 Minimum required security(最低必需安全),状态有五种:
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「读写授权(Read/Write authorizations):给动作加安全边界」,读者最常问的几个问题。