Microsoft Dynamics CRM 的安全注意事项

 

发布日期: 2016年11月

适用于: Dynamics CRM 2015

Microsoft Dynamics 365 旨在帮助确保您的部署更加安全。 本节提供 Microsoft Dynamics 365 应用程序的相关信息和最佳做法。详细信息:Microsoft Dynamics CRM 的安全概念

本主题内容

我应选择哪种服务帐户?

Microsoft Dynamics CRM 安装程序和服务所需的最低权限

Microsoft Dynamics CRM 安装文件

我应选择哪种服务帐户?

当您指定标识运行 Microsoft Dynamics 365 服务时,可以选择域用户帐户或网络服务帐户。

如果服务与网络服务交互、访问文件共享之类的域资源,或者如果它使用指向其他计算机的链接服务器连接,您可以使用最小特权的域帐户。 许多服务器到服务器活动只需使用域用户帐户执行,并可提供最安全的选项。 域管理应在您的环境中预定义此帐户。

备注

当您配置服务以使用域帐户时,您可以隔离应用程序的权限,但是您必须手动管理密码或为管理这些密码创建一个自定义解决方案。 许多服务器应用程序使用此策略增强安全性,但是该策略要求额外的管理和复杂性。 在这些部署中,服务管理员会在维护任务(比如管理服务密码和服务主体名称 (SPN))上耗费大量时间,这对于 Kerberos 身份验证是必需的。 此外,这些维护任务可能会中断服务。

网络服务帐户是一个内置帐户,与域用户组的成员相比,对资源和对象有更多的访问权限。 作为网络服务帐户运行的服务使用 <domain_name>\<computer_name>$ 格式的计算机帐户凭据访问网络资源。 帐户的实际名称为 NT AUTHORITY\NETWORK SERVICE。

Microsoft Dynamics CRM 安装程序和服务所需的最低权限

设计 Microsoft Dynamics 365,就可以使用单独的标识来运行其功能。 通过指定仅授予其使特定功能正常运行所需的权限的域用户帐户,您可以帮助保护系统并降低不当使用的可能性。

该主题介绍 Microsoft Dynamics 365 服务和功能的用户帐户所需的最低权限。

Microsoft Dynamics CRM 服务器安装程序

用于运行 Microsoft Dynamics CRM 服务器安装程序的用户帐户在创建数据库时需要以下最低权限:

  • 是 Active Directory Domain Users 组的成员。 默认情况下,Active Directory 用户和计算机会向 Domain Users 组中添加新用户。

  • 是运行安装程序的本地计算机上管理员组的成员。

  • 具有本地 Program Files 文件夹的读取和写入权限。

  • 是将用于存储 Microsoft Dynamics 365 数据库的 SQL Server 实例所在的本地计算机上 Administrators 组的成员。

  • 在将用于存储 Microsoft Dynamics 365 数据库的 sysadmin 实例上获得 SQL Server 成员资格。

  • 创建组织单元和安全组并添加会员资格到 Active Directory 中的小组权限。 此外,如果已经创建安全组,还可使用安装程序 XML 配置文件来安装 Microsoft Dynamics CRM 服务器。 有关详细信息,请参阅安装指南中的使用命令提示符安装 Microsoft Dynamics CRM Server

  • 如果 Microsoft SQL Server Reporting Services 安装在其他服务器上,则必须在安装用户帐户的根目录级别添加内容管理器角色。 还必须在安装用户帐户的网站级别添加系统管理员角色。

Microsoft Dynamics CRM 服务和 IIS 应用程序池标识权限

本节列出服务和Microsoft Dynamics 365使用的IIS应用程序池的域用户帐户需要的最小权限:

重要

  • 不能将 Microsoft Dynamics 365 服务和应用程序池 (CRMAppPool) 身份帐户配置为 Microsoft Dynamics 365 用户。 这样做会导致所有 Microsoft Dynamics 365 用户在该应用程序中遇到身份验证问题和意外行为。详细信息:当 CRMAppPool 用户帐户为 CRM 用户时,CRM 中出现的问题

  • 管理服务帐户(组管理服务帐户 (gMSA) 或单个管理服务帐户)和虚拟帐户 (NT SERVICE\,<SERVICENAME>) 不支持运行 Microsoft Dynamics 365 服务。

以下小节介绍每个服务或应用程序池标识所需的域帐户用户权限:

Microsoft Dynamics CRM 沙盒处理服务

Microsoft Dynamics CRM 异步处理服务和 Microsoft Dynamics CRM 异步处理服务(维护)服务

Microsoft Dynamics CRM 监视服务

Microsoft Dynamics CRM VSS 编写器服务

部署 Web 服务(CRMDeploymentServiceAppPool 应用程序池标识)

应用程序服务(CRMAppPool IIS 应用程序池标识)

Microsoft Dynamics CRM 沙盒处理服务

  • Domain Users 成员资格。

  • 必须在本地安全策略中为该帐户授予“作为服务登录”权限。

  • 对本地计算机上的“跟踪”(默认情况下位于 \Program Files\Microsoft Dynamics CRM\Trace 下)和用户帐户“%AppData%”文件夹的读写权限。

  • 对 Windows 注册表中 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 子项的读取权限。

  • 该服务帐户可能需要用于访问其关联网站的 URL 的 SPN。若要为沙盒处理服务帐户设置 SPN,需要在运行该服务的计算机上从命令提示符处运行以下命令。

    SETSPN –a MSCRMSandboxService/<ComputerName> <service account>

Microsoft Dynamics CRM 异步处理服务和 Microsoft Dynamics CRM 异步处理服务(维护)服务

  • Domain Users 成员资格。

  • PrivUserGroup 和 SQLAccessGroup 成员资格。 默认情况下,在 Microsoft Dynamics CRM 服务器安装程序 过程中创建这些组并授予相应的成员资格。

  • 内置本地组 Performance Log Users 成员资格。

  • 必须在本地安全策略中为该帐户授予“作为服务登录”权限。

  • 以下文件夹的读取和写入权限。

    • Trace文件夹。 默认情况下位于 \Program Files\Microsoft Dynamics CRM\,和本地计算机的用户帐户 %AppData% 文件夹。

    • The CustomizationImport文件夹。 默认情况下位于 \Program Files\Microsoft Dynamics CRM\。 当您使用 Microsoft Dynamics CRM SDK 时,这是导入解决方案所必需的。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 和 Windows 注册表 中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSCRMSandboxService 子项的所有访问权限,除了完全控制和编写 DAC 之外。

  • 该服务帐户可能需要用于访问其关联网站的 URL 的 SPN。若要为异步服务帐户设置 SPN,需要在运行该服务的计算机上从命令提示符处运行以下命令。

    SETSPN –a MSCRMAsyncService/<ComputerName> <service account>

Microsoft Dynamics CRM 监视服务

  • Domain Users 成员资格。

  • 必须在本地安全策略中为该帐户授予 Logon as service 权限。

  • 如果安装带有 前端服务器 服务器角色的 Microsoft Dynamics CRM 监视服务,则需要在运行此服务的计算机上的本地管理员组成员资格来监视网站和应用程序池。详细信息:可用的单个服务器角色

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 的读取权限

  • SQLAccessGroup 成员资格。 默认情况下,在 Microsoft Dynamics CRM 服务器安装程序 过程中创建该组并授予相应的成员资格。

  • 该服务帐户可能需要用于访问其关联网站的 URL 的 SPN。

Microsoft Dynamics CRM VSS 编写器服务

  • Domain Users 成员资格。

  • 必须在本地安全策略中为该帐户授予 Logon as service 权限。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 的读取权限

  • PrivUserGroup 和 SQLAccessGroup 成员资格。 默认情况下,在 Microsoft Dynamics CRM 服务器安装程序 过程中创建这些组并授予相应的成员资格。

部署 Web 服务(CRMDeploymentServiceAppPool 应用程序池标识)

  • Domain Users 成员资格。

  • 必须在本地安全策略中为该帐户授予 Logon as service 权限。

  • 需要SQL Server运行所在计算机上本地管理员组成员以执行组织数据库操作(如创建新组织或导入组织)。

  • 运行部署 Web 服务的计算机上的本地管理员组成员资格。

  • 用于配置和组织数据库的 SQL Server 实例的 Sysadmin 权限。

  • 对本地计算机上的 TraceCRMWeb 文件夹(默认情况下位于 \Program Files\Microsoft Dynamics CRM\ 下)和用户帐户 %AppData% 文件夹的文件夹读写权限。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 和 Windows 注册表 中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSCRMSandboxService 子项的所有访问权限,除了完全控制和编写 DAC 之外。

  • PrivUserGroup 和 SQLAccessGroup 成员资格。 默认情况下,在 Microsoft Dynamics CRM 服务器安装程序 过程中创建这些组并授予相应的成员资格。

  • CRM_WPG 组成员资格。 该组用于 IIS 工作进程。 在运行 Microsoft Dynamics CRM 服务器安装程序期间,将创建该组并添加成员资格。

  • 该服务帐户可能需要用于访问其关联网站的 URL 的 SPN。

应用程序服务(CRMAppPool IIS 应用程序池标识)

  • Domain Users 组成员资格。

  • 内置本地组 Performance Log Users 成员资格。

  • 对本地计算机上的 TraceCRMWeb 文件夹(默认情况下位于 \Program Files\Microsoft Dynamics CRM\ 下)和用户帐户 %AppData% 文件夹的文件夹读写权限。

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSCRM 和 Windows 注册表 中 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\MSCRMSandboxService 子项的所有访问权限,除了完全控制和编写 DAC 之外。

  • CRM_WPG 组成员资格。 该组用于 IIS 工作进程。 在运行 Microsoft Dynamics CRM 服务器安装程序期间,将创建该组并添加成员资格。

  • 该服务帐户可能需要用于访问其关联网站的 URL 的 SPN。

使用内核模式身份验证和 SPN 运行的 IIS 应用程序池标识

默认情况下,将 IIS 网站配置为使用内核模式身份验证。 在使用内核模式身份验证运行 Microsoft Dynamics 365 网站时,不需要为 CRMAppPool 标识配置其他服务主体名称 (SPN)。

要确定您的 IIS 部署是否需要 SPN,请参阅用于 IIS 7.0/7.5 Kerberos 身份验证的服务主体名称 (SPN) 清单

Microsoft Dynamics CRM 安装文件

如果您计划从网络上的某个位置(例如网络共享)安装 Microsoft Dynamics 365,则必须确保向安装文件所在的文件夹(最好是在 NTFS 卷上)应用适当的权限。 例如,可能要求只有 Domain Admins 组的成员才有权访问此文件夹。 这种做法有助于降低安装文件遭受攻击从而可能导致安装文件损坏或被更改的风险。 有关如何在 Windows 操作系统上设置文件和文件夹权限的详细信息,请参阅 Windows 帮助。

另请参阅

规划 Microsoft Dynamics CRM 2015 的部署
Microsoft Dynamics CRM 安全性最佳实例
Microsoft Dynamics CRM 的内部部署管理最佳实践
Microsoft Dynamics CRM 的网络端口
Microsoft Dynamics CRM 服务器角色

© 2016 Microsoft Corporation。 保留所有权利。 版权