Orchestration 数据库安全

 

发布时间: 2016年3月

适用对象:System Center 2012 SP1 - Orchestrator, System Center 2012 - Orchestrator, System Center 2012 R2 Orchestrator

以下各节提供了有关保护 Orchestrator 中的 Orchestration 数据库的信息:

  • 数据库角色

  • 保护 SQL Server 连接

  • 加密密钥

数据库角色

Orchestration 数据库的安全性通过 Microsoft SQL Server 支持版本中的数据库角色来实现。 下表列出了在 Orchestration 数据库中创建的角色以及授予每个角色的权限。 这些角色是在安装过程中配置并提供给所需成员的,因此通常不需要直接使用它们。 本文中提供的信息用于帮助管理员更好地了解配置背后的安全性以及准备可能的自定义方案。

帐户

数据库角色

管理服务帐户

Microsoft.SystemCenter.Orchestrator.Admins

Orchestrator 管理员组的成员

Microsoft.SystemCenter.Orchestrator.Admins

Orchestrator Runbook Service 帐户

Microsoft.SystemCenter。 Orchestrator.Runtime

Orchestrator Runbook Server Monitor 服务帐户

Microsoft.SystemCenter。 Orchestrator.Runtime

Orchestrator Web 服务用户帐户

Microsoft.SystemCenter。 Orchestrator.Operators

角色

权限

对象

Microsoft.SystemCenter。 Orchestrator.Operators

选择

[Microsoft.SystemCenter.Orchestrator.Runtime].[Jobs],

[Microsoft.SystemCenter.Orchestrator.Runtime].[RunbookInstances],

[Microsoft.SystemCenter.Orchestrator.Runtime].[RunbookInstanceParameters],

[Microsoft.SystemCenter.Orchestrator.Runtime].[RunbookServers],

[Microsoft.SystemCenter.Orchestrator.Runtime].[ActivityInstances],

[Microsoft.SystemCenter.Orchestrator.Runtime].[ActivityInstanceData],

[Microsoft.SystemCenter.Orchestrator.Runtime].[Events],

[Microsoft.SystemCenter.Orchestrator.Statistics].[Statistics]

Microsoft.SystemCenter。 Orchestrator.Operators

执行

[Microsoft.SystemCenter.Orchestrator].[GetSecurityToken],

[Microsoft.SystemCenter.Orchestrator].[AccessCheck],

[Microsoft.SystemCenter.Orchestrator].[ComputeAuthorizationCache],

[Microsoft.SystemCenter.Orchestrator.Statistics.Internal].[GetStatisticsSummary],

[Microsoft.SystemCenter.Orchestrator.Runtime].[CreateJob],

[Microsoft.SystemCenter.Orchestrator.Runtime].[CancelJob]

Microsoft.SystemCenter。 Orchestrator.Runtime

选择

所有表,

dbo.[POLICIES_VIEW],

dbo.[POLICY_REQUEST_HISTORY]

Microsoft.SystemCenter。 Orchestrator.Runtime

插入

dbo.[OBJECT_AUDIT]

Microsoft.SystemCenter。 Orchestrator.Runtime

插入、更新

dbo.[OBJECTS],

dbo.[ACTIONSERVERS],

dbo.[POLICYINSTANCES],

dbo.[OBJECTINSTANCES],

dbo.[OBJECTINSTANCEDATA]

Microsoft.SystemCenter。 Orchestrator.Runtime

插入、删除

dbo.[COUNTERINSTANCES],

dbo.[POLICYRETURNDATA]

Microsoft.SystemCenter。 Orchestrator.Runtime

更新

dbo.[POLICY_PUBLISH_QUEUE]

Microsoft.SystemCenter。 Orchestrator.Runtime

控制

[ORCHESTRATOR_ASYM_KEY],

[ORCHESTRATOR_SYM_KEY]

Microsoft.SystemCenter。 Orchestrator.Runtime

执行

dbo.sp_insertevent,

dbo.sp_PublishPolicy,

dbo.sp_UnpublishPolicy,

dbo.sp_UnpublishPolicyRequest,

dbo.fn_GetPolicyInstanceStatus,

dbo.fn_NumFailedInstancesPerServer,

dbo.fn_NumInstancesPerServer,

dbo.fn_NumRunningInstancesPerServer,

[Microsoft.SystemCenter.Orchestrator.Cryptography].[Encrypt],

[Microsoft.SystemCenter.Orchestrator.Cryptography].[Decrypt],

[Microsoft.SystemCenter.Orchestrator.Internal].[RethrowError]

Microsoft.SystemCenter。 Orchestrator.Admins

选择、插入、更新、删除、修改、创建表

SCHEMA::dbo

Microsoft.SystemCenter。 Orchestrator.Admins

引用

dbo.[OBJECTS]

Microsoft.SystemCenter。 Orchestrator.Admins

选择

dbo.[POLICIES_VIEW], GRANT SELECT ON dbo.[POLICY_REQUEST_HISTORY]

Microsoft.SystemCenter。 Orchestrator.Admins

控制

[ORCHESTRATOR_ASYM_KEY],

[ORCHESTRATOR_SYM_KEY]

Microsoft.SystemCenter。 Orchestrator.Admins

执行

[Microsoft.SystemCenter.Orchestrator.Cryptography].[CreateOrchestratorKeys],

[Microsoft.SystemCenter.Orchestrator.Cryptography].[DropOrchestratorKeys],

[Microsoft.SystemCenter.Orchestrator.Cryptography].[Encrypt],

[Microsoft.SystemCenter.Orchestrator.Cryptography].[Decrypt],

[Microsoft.SystemCenter.Orchestrator.Internal].[RethrowError],

dbo.sp_CustomLogCleanup,

dbo.sp_GetLogEntriesForDelete_FilterByDays,

dbo.sp_GetLogEntriesForDelete_FilterByEntries,

dbo.sp_GetLogEntriesForDelete_FilterByEntriesAndDays,

dbo.sp_insertevent,

dbo.sp_PublishPolicy,

dbo.sp_UnpublishPolicy,

dbo.sp_UnpublishPolicyRequest,

dbo.fn_GetPolicyInstanceStatus,

dbo.fn_NumFailedInstancesPerServer,

dbo.fn_NumInstancesPerServer,

dbo.fn_NumRunningInstancesPerServer,

[Microsoft.SystemCenter.Orchestrator.Internal].AddUserToRole,

[Microsoft.SystemCenter.Orchestrator].[SetPermissions],

[Microsoft.SystemCenter.Orchestrator.Internal].[SetProductInfo]

数据库配置实用工具 (DBSetup.exe) 需要安装有 Management 服务器并且为管理员组或 Orchestrator 用户组成员的计算机上的用户权限,以访问 settings.dat 文件。 直接通过 DBDataStore.dll 连接至数据库的自定义工具需要相同的权限。

System_CAPS_security 安全性注意

安装 Orchestrator 时,请确保用于连接到 SQL Server 的帐户在 SQL Server 上具有最低权限,以避免潜在的权限提升。

保护 SQL Server 连接

Orchestrator 的默认部署中的 SQL Server 连接不安全。 但在 Orchestrator 存储或检索敏感数据时例外。 在此情况下,Orchestrator 会用自签名证书创建到 SQL Server 的安全连接。 此证书未提供很强的安全性,易受到中间人攻击。

有关加密到 SQL Server 的连接的信息,请转到 Encrypting Connections to SQL Server (configuring SSL)(加密与 SQL Server 的连接(配置 SSL))。 有关如何启用到数据库引擎的连接的信息,请转到如何:启用到数据库引擎 (SQL Server Configuration Manager) 的加密连接

加密密钥

作为安全规划的一部分,你应该规划定期修改加密密钥。 国家标准技术研究院 (NSIT) 建议至少每两年修改一次密钥。 有关 NSIT 安全标准的详细信息,请转到 NSIT Computer Security Division Computer Security Resource Center(NSIT 计算机安全部门计算机安全资源中心)

修改加密密钥

  1. 从 Runbook Designer 中,导出所有 Runbook、全局设置、变量、日程安排等。 

    应为导出提供密码。

    在导出过程中,所有加密的数据会被解密,然后使用密码所创建的新密钥重新加密。

  2. 如果需要,请更改 SQL Server 主数据库密钥。 

    Orchestrator 使用 SQL Server 主数据库密钥和 Orchestration 数据库的主数据库密钥来加密数据。 

    有关如何更改 SQL Server 主数据库密钥的信息,请转到 SQL Server 和数据库加密密钥(数据库引擎)

  3. 重新安装 Management 服务器并创建新数据库。 

    有关如何安装 Management 服务器的信息,请参阅主题如何安装 System Center 2012 - Orchestrator 的 Management 服务器

    请不要连接到现有数据库。  创建新数据库时会生成一个新的加密密钥。

  4. 从 Runbook Designer 中重新导入已经导出的 Runbook 和任何其他数据。 

    请提供用于导出的密码。  导出文件中的数据使用此密码来解密,在将此数据导入到数据库时将使用新 Orchestrator 主数据库密钥来加密。