注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。
Data Connection 中的所有主要概念——代理、来源和同步——都在 Foundry 中作为资源进行管理。这使得可以灵活地在项目和文件夹之间组织这些资源,并允许将诸如权限标记等安全原语应用于 Data Connection 资源。
平台所有者应谨慎对待 Data Connection 资源的过度共享。拥有查看和编辑权限的来源和代理用户应该是值得信赖的数据管道开发者。同步生成的数据集可以根据需要导入下游的变换项目,从而在不共享代理或来源访问权限的情况下授予对数据的访问权限。
本页面记录了所有 Data Connection 资源的权限工作方式,包括:
下列权限为默认设置。在某些环境中,默认权限行为可能已通过自定义角色更改。
所有者
代理的所有者通常是其创建者,并获得以下权限:
编辑者
代理的编辑者可以:
用户必须是项目的编辑者才能在该项目中创建代理,但必须是项目的所有者才能管理该项目中的代理。这意味着用户可能创建了一个代理,但无法生成下载链接或对代理执行其他管理任务。
只读
代理的只读者可以:
所有者
编辑者
来源的编辑者可以:
请记住,如果来源凭据允许的话,同步可以更改来源系统(例如,从目录或 S3 来源删除文件,或通过任意 SQL 从数据库中删除数据)。您应该仅授予对来源(或包含它的项目)的编辑访问权限给那些您也会授予完全访问该来源使用的数据账户的用户。
只读
同步权限来源于相关来源和输出数据集。
所有者
编辑者
只读
Webhook 的权限完全继承自与其关联的来源。
默认情况下,只有执行 Webhook 的用户可以使用 Data Connection 应用中的历史记录选项卡查看响应。可以将 webhooks:read-privileged-data
权限添加到自定义或默认角色中,以允许具有该角色的用户查看他们可以访问的所有 webhook 的完整请求和响应历史记录。标准推荐的设置是添加一个名为“Webhook Privileged Data Viewer”的新角色,并确保需要查看完整 Webhook 历史记录的用户在相关来源上具有此角色。
如上所述,资源可以具有组织和权限标记作为附加的访问控制级别。应用于来源的组织和权限标记将传播到从该来源的同步中生成的数据集中。这意味着用户将无法查看从来源生成的任何数据集中的数据,除非他们拥有对应用于该来源的所有组织和权限标记的访问权限。
由于来源可能包含不同敏感度级别的数据,我们建议您使用适用于该来源中数据的所有组织和权限标记标记来源,然后使用变换来清理和取消标记数据,使用 stop_propagating
和/或 stop_requiring
功能。要了解有关取消标记的更多信息,请参阅移除权限标记和移除继承权限标记的指南。
注意,在数据同步后应用组织和权限标记不应被视为充分的措施;因为访问来源实际上就是访问数据,来源应标记为适用于其包含的任何内容的组织和权限标记。
作为快速提醒,主要的 Data Connection 资源是代理和来源。插件和驱动被部署到代理以扩展功能。
代理有两种推荐的权限设置:每个组织的所有代理在一个项目中,或者每个代理在自己的项目中。上图展示了前一种选择;以下指导说明了您可能选择每种选项的原因。
选项1:将所有代理放在每个组织的单个项目中。
将所有代理放在一个项目中是最简洁的方法,推荐给管理所有代理的用户组。这允许您在项目级别控制对代理的访问,并在下游分别对来源和同步进行权限设置。
仅在可以接受每个代理管理者和每个来源编辑者都能访问所有代理时选择此选项。请记住,要在代理上部署来源,用户必须对该代理拥有编辑者权限。
选项2:将每个代理放在自己的项目中。
此方法允许代理权限的完全细化。它还保证了在来源管理演变的任何时间点,结构永远不会偏离“分组”。例如,您可以安全地从来源中指派/取消指派代理,而不需要授予用户访问整个代理组的权限,也不需要重新构建项目以应对未来的组权限更改。
如果您有多个组管理代理,并希望分别对他们的代理访问权限进行权限设置,建议采用此方法。
包含代理的项目编辑者将能够创建在该代理上运行的新来源和同步。请确保不将项目的编辑者角色授予不应该能够这样做的用户。
每个来源都应该在数据源层的自己的项目中。为来源定义的每个同步都应输出到与来源在同一项目中的数据集。如果来源包含诸如 PII 之类的敏感数据,您可以对来源应用一个权限标记,它将传播到输出数据集中。
包含来源的项目编辑者将能够为该来源创建新同步和编辑现有同步,以及创建 Webhooks 并在 Foundry 中配置其以供其他地方使用。
请记住,如果来源凭据允许的话,同步可以更改来源系统;例如,从目录或 S3 来源删除文件,或通过任意 SQL 从数据库中删除数据。
您应该仅授予对来源(或包含它的项目)的编辑访问权限给那些您也会授予完全访问该来源使用的数据账户的用户。
插件和 JDBC 驱动有两种推荐的权限设置:每个组织的所有资源在一个项目中,或者每个 JDBC/驱动在一个项目中与一个或多个需要它的代理一起。
选项1:将所有插件和驱动放在每个组织的单个项目中。
如果有一个用户组管理所有代理,建议采用这种方式。这允许代理管理者访问所有已上传的插件和驱动。只有在所有代理管理者之间应该有对插件和驱动的平等访问时才选择这种方法。
实现这种方法的推荐过程是:
选项2:将每种插件和驱动类型放在自己的项目中。
此方法允许某些“敏感”插件或驱动与其他插件或驱动分开进行权限设置。如果采用这种方法,您必须确保为所需的代理所有者提供每个项目的足够权限,以便他们可以在代理上使用它们。