动作类型权限(Permissions):谁能看、谁能改、谁能运行
动作类型涉及三类问题:谁能看这个动作、谁能改这个动作、谁能带着一组参数去运行它。运行权限尤其绕——它取决于被编辑对象的类型、数据源,以及提交条件。
https://www.palantir.com/docs/foundry/action-types/permissions/
原始标题:Permissions
一句话速览
动作类型权限(Permissions):谁能看、谁能改、谁能运行:动作类型涉及三类问题:谁能看这个动作、谁能改这个动作、谁能带着一组参数去运行它。运行权限尤其绕——它取决于被编辑对象的类型、数据源,以及提交条件。
权限作用在哪三个层面
先把"看 / 改 / 运行"分开想。
权限对动作类型的作用方式有三问:
- 谁能查看(view)某个动作类型?
- 谁能编辑(edit)某个动作类型?
- 谁能带着一组参数运行(apply)某个动作类型?
本篇重点在第三问——运行权限,因为它最容易被误解。
Apply action(运行权限)
运行一个动作,到底需要哪些权限?
能否运行一个动作类型,取决于它编辑的对象类型与链接类型(object/link types)的配置。任何情况下,提交动作的用户都必须:
- 能查看被编辑的对象类型、链接类型及其数据源(datasources);
- 通过 submission criteria(提交条件)。
进一步分情况:
- 若对象类型只允许通过动作编辑:用户对自己能查看的所有对象都能编辑;
- 若对象/链接类型还允许动作之外的编辑:用户还需对回写数据集(writeback dataset)有 Edit 权限(当其由数据集支撑时);
- 若由 Restricted View(受限视图)支撑:用户还需通过编辑策略(edit policy)。
读取时强制(read-time enforcement)
行列访问控制只管"读",不管"写"。
行列访问控制(包括 restricted views、object security policies、property security policies)过滤的是调用动作时用户能读取的数据。这些控制不会延伸到动作的写入(write)。
为了让数据在下游仍受保护,要把这些控制与 marking(标记)或 CABAC(基于分类的访问控制)搭配使用。这是"读"与"写"安全边界容易脱节的典型位置。
对象编辑权限:收紧还是放开
默认"仅经动作编辑"更安全,但有取舍。
对象的编辑权限可以设为:锁定为只经动作编辑,或放开为允许动作、Foundry Forms、Object Explorer 直接编辑、API 调用等多种方式。出于一致的安全范式,默认新对象类型只允许经动作编辑,其他方式不推荐用于新场景。
| 编辑设置 | 运行动作所需 |
|---|---|
| 仅经动作编辑 | 被编辑对象的 Read 即可(可能创建自己都看不到的对象) |
| 多种编辑方式(含 dataset) | 对所有被编辑对象的 writeback dataset 有 Edit |
副作用权限(side effect permissions)
谁能配副作用,通知发给谁。
任何能搭建动作的人,都可以配置副作用(side effects)。注意:
- Webhook 副作用默认不启用,要在 Data Connection 里额外授权才能用;
- 提交条件仍须照常通过,否则副作用不会被触发;
- 通知的收件人必须对通知内容里的对象数据有访问权——缺权限的人收不到;多人中部分缺权限,只有够权限的收到;
- 执行动作的用户必须能查看将要收到通知的用户/组。
一页带走
延伸阅读 · 相关页面
按主题横向跳转,不必顺着目录一篇篇读。
常见问题速答 · FAQ
关于「动作类型权限(Permissions):谁能看、谁能改、谁能运行」,读者最常问的几个问题。