为了集成和自动化云端和本地应用程序,企业利用 Amazon® Web Services (AWS) 安全性 和 iPaaS 架构,以符合全面的企业架构标准和严格的 IT 安全策略。Chain Builder 的 架构的每一层都保护客户端数据,并且:
- 它为其所连接的敏感系统提供访问控制。
- 满足现代建筑的要求
- 是否符合 SOC1 和 SOC2 标准
- 通常超出所需的云认证范围。
参考架构
您可以通过支持网络和移动设备的 HTTPS(TLS 1.3 或更高版本)协议安全地构建链。在主机服务中运行的是主要应用程序,它是一个支持高级加密标准 (AES) 的数据库,安全地存储元数据和一个队列,用于管理远程 CloudRunner 和 GroundRunner 服务代理上的通信和任务执行。
总而言之,链构建器的架构包括:
- 用于运行和管理集成的安全浏览器用户界面。
- 托管在亚马逊网络服务 (AWS) 中的中央多租户服务
- 远程 CloudRunner 和 GroundRunner 执行代理,用于与云端和本地应用程序进行交互
GroundRunner 和 CloudRunner
这些执行代理(称为 GroundRunner)托管在本地,并与客户端网络内部和外部的应用程序进行交互。GroundRunners:
- 尽量减少资源消耗。
- 支持在物理和虚拟计算资源上运行 Microsoft Windows®、Linux®、macOS® 和 Oracle Solaris® 操作系统。
- 执行所有必要的自动化和集成任务,从运行简单的操作系统命令到加载或检索数据等原生应用程序操作。
要访问本地系统,您必须在可以访问主机服务的操作系统环境中托管 GroundRunner。
如果您不需要访问本地系统,则 Workiva 托管的默认 CloudRunner 将执行集成任务。
| 部署注意事项 | GroundRunner | CloudRunner |
|---|---|---|
| 安装 | 需要安装在企业防火墙内的计算环境中,该计算环境可以通过 443 端口与外部主机服务进行交互。了解更多 | 没有任何 |
| 操作系统 | 微软Windows、Linux、Oracle Solaris或macOS。这些可执行文件以服务的形式运行,需要使用具有对操作系统或其他共享资源适当权限的特定服务帐户启动。 | 不适用 |
| 服务责任 | 贵组织负责托管、管理和安装 GroundRunners。 | 默认的 CloudRunner(作为 Chain Builder 的一部分提供)由 Workiva 负责。 |
| 数据流 | 使用 GroundRunner,您的数据 不会通过主机服务传输 。 | 当 CloudRunner 直接与受支持的云技术交互时,它会通过主机服务传输数据。 |
| 本地部署和云集成 | 与本地和云应用程序实现全面无缝集成 | 仅限云应用程序之间的集成 |
| 原生使用应用程序已发布的 API | 根据本地系统的不同,连接会利用不同的应用程序编程接口(API)。对于云技术,连接仅使用已发布的 REST API,通过 HTTPS (TLS 1.3) 安全地传输数据。 | 连接仅使用已发布的 REST API,这些 API 通过 HTTPS (TLS 1.3) 安全地传输数据。 |
GroundRunner 会定期检查是否有新的升级。当 GroundRunner 检测到升级时,它会自动使用严格的安全传输层下载新的二进制文件。或者,您也可以手动下载和部署二进制文件。为防止中间人攻击,新二进制文件均经过签名和加密。
网络安全
Chain Builder托管在AWS上,其网络在虚拟私有云(VPC)中运行。该虚拟防火墙使 Workiva 能够控制进出 Chain Builder 的流量。更细致地说,Chain Builder 的服务托管在 VPC 的公共子网和私有子网(或隔离的 IP 地址块)中。VPC充当DMZ,具体表现为:
- 公共子网包含通过公共互联网,使用单个端口(443)上的 HTTPS 请求直接访问的服务。
- 私有子网阻止公共流量,并托管仅供 VPC 内服务访问的内部服务。
数据传输安全
为了确保系统间数据传输的完全安全,Chain Builder 的所有进出流量均使用 TLS 1.3 协议和 2048 位证书进行加密。此外,内部应用程序之间的通信经过加密,以确保所有传输均来自合法来源。
GroundRunner 和 CloudRunner 支持直接数据交换,代理可以使用相同的 TLS 1.3 协议以及 JSON Web Token (JWT) 通过通信通道下载和交换文件。每个 GroundRunner 都支持代理之间的直接数据交换,并且可以配置为启用或禁用此选项并控制其监听端口(默认情况下为 8821)。
为了创建安全通道,GroundRunners 还与贵公司 IT 部门指导的企业代理服务器合作,以便与主机服务进行通信。
数据库层安全
数据库服务器托管在私有子网内。这些数据库无法直接从公共互联网访问;只有 VPC 内的服务才能连接到它们。所有数据库连接均受密码保护,并且只有必要的端口才能访问。为防止数据丢失,数据库具有高度冗余性,并分布在多个数据中心。
数据库每天都会备份。这些快照以 AES-256 加密级别存储在 Amazon Simple Storage Service (S3) 中,并跨多个可用区存储,以确保额外的安全冗余层。
数据和元数据管理
为了描述和提供有关数据的信息,主机服务以 AES-256 加密级别存储此元数据:
- 设计元数据,例如工作区、链和任务的配置。
- 审计元数据,例如任何组件的更改历史记录,包括工作区、链、文件资源和计划。
- 运行时元数据,例如链和任务运行历史记录以及服务器、CloudRunner 或 GroundRunner 生成的任何日志。
CloudRunner 和 GroundRunner 执行所有数据传输并直接与以下设备对接:
- Workiva平台
- 云应用程序,例如 Anaplan®、Salesforce®、Oracle® EPM Cloud 和 Tableau®
- 通过其原生 API 运行 Oracle® Hyperion 或 SQL Server® 等本地应用程序
链中可能包含一个任务,该任务会生成一个称为输出的临时暂存平面文件。
- 如果 CloudRunner 生成输出,则该输出将以 AES-256 加密级别存储在 AWS 弹性文件系统 (EFS) 卷上。
- 如果 GroundRunner 生成输出,则会将其临时存储在主机的文件系统中,由主机决定加密级别。
工作流程附件是临时性的,工作流程完成后就会消失。要保存与工作流程关联的文件,请将其保存到本地文件系统或云盘,例如 Google® Drive 或 BOX®。
敏感文件(例如为工作区或连接器上传的资源)通过 HashiCorp Vault Transit 加密进行加密,并以加密形式存储在 Amazon Simple Storage Service (S3) 中。敏感文本字段(例如作为连接器属性输入的身份验证凭据)以加密的 HashiCorp Vault Secrets 的形式存储在 Amazon DynamoDB® 中。为了存储主密钥,Vault Transit 和 Vault Secrets/KV Store 都使用 awskms seal。