Orchestrator 数据加密
发布日期: 2016年3月
适用于: System Center 2012 SP1 - Orchestrator,System Center 2012 - Orchestrator,System Center 2012 R2 Orchestrator
以下各节提供了有关 Orchestrator 中的数据加密的信息:
Orchestrator 中加密和解密哪些数据?
在 Orchestrator 中如何管理加密的数据?
如何在 Orchestrator 实例之间移动加密的数据?
加密变量的最佳做法
System Center 2012 中的加密变量允许你更加安全地使用变量向 Runbook 活动提供敏感数据,这在 Orchestrator 中已有介绍。 加密变量的使用方式与标准全局变量的使用方式完全相同;即通过订阅来使用。 如果在重新发布的活动字段中订阅这些变量,变量内容可能会在数据总线上公开。 因此,应仅在未重新发布的字段中订阅加密变量。Orchestrator 不强制使用此最佳做法,但此最佳做法应该是规划过程的一部分。
但是,如果必须在数据总线上发布加密数据才能将其发送到其他系统(例如,在其他服务器上运行的产品),则应该确保通向该产品的通道是安全的。 例如,BMC Remedy 支持连接的安全模式,并且具有 Web 接口的产品通常允许使用安全套接字层连接(使用 HTTPS 协议)。
Orchestrator 中加密和解密哪些数据?
Orchestrator 提供用于生成 Orchestrator 平台加密数据的加密和解密服务的代码集。 这些服务用于保护标记为要在 Orchestrator 数据库中加密的数据,以及将数据解密为纯文本以便可将其用作 Runbook 的一部分。 这些核心加密服务由 Orchestrator 数据库和 Management 服务器来管理。 系统通过 Orchestrator 用户组或 Orchestrator 系统组中的成员资格授予对这些服务的权限。
说明 |
---|
Orchestrator Runbook 可能包含由外部加密服务加密且用作 Runbook 已发布数据的数据。 Orchestrator 将完全用处理任何其他数据段的方式来处理来自此类外部系统的数据。 |
Orchestrator 在下列产品功能区域中使用加密:
功能区域 | 描述 |
---|---|
Runbook 活动 | 在某人键入字段时屏蔽的任何属性均为加密属性。 这将包括“安全凭据”选项卡上的密码,但也可以包括其他属性。 |
“选项”菜单 | “选项”菜单用于存储凭据,以及存储用于配置集成包的其他信息。 连接设置的属性可以包含加密的属性。 |
变量 | 系统也将加密“加密变量”复选框处于选中状态的变量。 |
说明 |
---|
在需要加密值(例如用于 Runbook 活动的密码)的属性中,计划通过订阅来使用加密变量。 如果在非加密字段中订阅了加密变量,则将提供加密值。 只有用于加密属性时才可以使用纯文本值。 |
在 Orchestrator 中如何管理加密的数据?
Orchestrator 具有一项核心加密服务,其设计基于使用 SQL Server 单元格级加密的 AES。 在这种情况下,所有加密和解密由 SQL Server 集中执行。 加密密钥由 SQL Server 集中管理。 若要加密和解密数据,则需要 SQL Server 服务主密钥和 Orchestrator 数据库主密钥。
Orchestrator 在运行时和设计时体验中均使用加密技术。 Runbook 作者与 Runbook Designer 中的 Runbook 活动交互,这些活动通常将与外部系统交互以“发现”属性网格、列表值和其他属性。 同样,在 Runbook Tester 中测试 Runbook 时,需要对受保护字段中提供的加密数据进行解密,以便能够将数据传递到目标系统。 最后,Runbook 服务器需要能够对加密的数据进行解密,以便允许 Runbook 与外部系统交互。 在这种情况下,需要从 Runbook 服务器、Runbook Designer 和 Runbook Tester 中访问数据库加密服务。
由于核心加密服务位于 Orchestrator 数据库中,因此对数据库的访问本质上定义了对未加密数据的访问。
Runbook 服务器可以直接访问数据库。 在这种情况下,它们可直接访问 SQL Server 提供的加密服务。 对 SQL Server 提供的加密服务的运行时访问局限于 Orchestrator 系统组的成员。
Runbook Designer 和 Runbook Tester 通过 Management 服务器间接访问数据库。 Management 服务器提供了一项新服务,该服务用于满足 Runbook Designer 和 Runbook Tester 的加密/解密请求。 Management 服务器通过 Runbook 作者的安全上下文进行传递,并且这些凭据用于访问加密服务。 对 SQL Server 提供的加密服务的设计时访问局限于 Orchestrator 用户组的成员。
对 Orchestrator 中的加密数据的访问由 Orchestrator 用户组和 Orchestrator 系统组进行管理。 这两个安全组的成员实质上对 Orchestrator 具有丰富的管理权限,包括访问核心加密服务以及对数据库中存储的加密数据进行解密的权限。
如何在 Orchestrator 实例之间移动加密的数据?
安装 Orchestrator 数据库时会创建数据库主加密密钥。 此数据库主密钥与 SQL Server 主密钥一起用于对 Orchestrator 数据库中存储的数据进行加密和解密。 这意味着加密的数据本质上“连接”至对数据加密的 SQL Server 2008 R2 的实例。 例如,某人无法从 SQL Server 2008 R2 的一个实例的列中复制加密的字符串,无法将值“粘贴”到 Orchestrator 数据库的另一个实例,并且无法解密数据,除非数据库主密钥和服务器主密钥与对数据加密的系统的密钥匹配。
因此在 Orchestrator 实例之间移动加密的数据时,需要以下两种方案中的一种:
SQL Server 服务主密钥和 Orchestrator 数据库主密钥与最初对数据加密的系统上的密钥相同。
导出 Runbook 和相关的加密数据并导入到新系统中。
实质上,导出功能会创建一个导出文件,此文件的加密数据已通过用户在导出过程中提供的密码进行了加密。 此导出文件包含加密数据,通过在导入过程中提供相同的密码可以解密该数据。 系统将使用新数据库的加密密钥来加密此数据并将其存储在数据库中。