ArcGIS Server 在工作时,需要启动和停止进程、读取数据并将数据写入到文件系统中的相应位置以及在计算机之间进行通信。 为了安全地执行这些任务,ArcGIS Server 将使用安装 ArcGIS Server 时所指定的操作系统帐户。 本文档中将其称为 ArcGIS Server 帐户。
何时使用 ArcGIS Server 帐户?
ArcGIS Server 帐户有以下几种用途:
- 启动和停止支持 ArcGIS Server 和服务的进程。
- 如果注册数据库使用操作系统身份验证,请读取服务后的 GIS 数据。
- 读取文件并将文件写入到 ArcGIS Server 目录;例如,创建地图缓存时,ArcGIS Server 帐户会将缓存切片写入服务器缓存目录中。
- 读取和写入文件到配置存储。
- 读取文件并将文件写入 ArcGIS Server 安装位置与系统临时目录中;例如,该帐户会写入可用于排除服务器故障的日志文件。
- 读取日志消息并将日志消息写入日志目录中。
注:
ArcGIS Server 帐户与创建 ArcGIS Server 站点时所定义的主站点管理员不同。 有关详细信息,请参阅确保 ArcGIS Server 站点安全。
应将哪个帐户指定为 ArcGIS Server 帐户?
ArcGIS Server 帐户的默认名称为 arcgis。 对于大多数非生产部署,接受此默认值便已足够;但是,对于生产系统,Esri 建议在安装 ArcGIS Server 之前创建域帐户或活动目录帐户。 如果组织的安全策略要求密码过期,则您必须运行配置 ArcGIS Server 帐户实用程序来更新已过期的密码。
可指定本地帐户或域帐户。 在站点的第一台计算机上安装 ArcGIS Server 时,您可以导出安装程序配置文件,在站点的其他计算机上安装 ArcGIS Server 时,可以使用该配置文件。 由此可以保证站点中所有计算机上的 ArcGIS Server 帐户配置均完全相同。
域帐户
使用域帐户更容易访问远程系统中的数据。 出于安全考虑,也最好使用域帐户,因为域帐户采用集中管理。
在指定域帐户时使用格式 DOMAIN\username。 如果未指定域,则 ArcGIS Server 安装向导将使用您指定的用户名创建一个本地帐户。 如果指定的域帐户不存在,安装程序将返回错误。
如果登录设置拒绝您登录安装 ArcGIS Server 的计算机,在安装时会出现错误。 不一定要对 ArcGIS Server 帐户进行本地登录组策略设置。 有关详细信息,请参阅使用域帐户时的高级注意事项。
本地帐户
如果您选择了本地帐户,则 ArcGIS Server 站点中的每台计算机都必须具有本地帐户和密码,并且其完全相同。 安装 ArcGIS Server 之前,您可以在每台计算机上使用相同的密码创建本地帐户,或者可以使用 ArcGIS Server 安装向导创建本地帐户;只需确保在站点中的每台计算机上使用相同的用户名和密码。
如果您在安装过程中创建了本地帐户,则为该帐户指定的密码必须符合您操作系统的本地安全策略。 如果密码不满足您操作系统的最小强度要求,则安装程序将返回错误。 要了解如何检查计算机上的安全策略,请参阅您正在使用的 Windows 版本的 Microsoft 文档。
组托管服务帐户
组托管服务帐户 (gMSA) 是一个可提供自动密码管理的特殊 Active Directory 域帐户。 该帐户不能用于交互式登录,仅限用于预定义的服务器组。
当一个服务帐户管理多台计算机上的软件(例如在多机 ArcGIS Server 站点中)时,使用 gMSA 尤其有用。 由于 gMSA 是在域级别运行的,它可以定期更改每台计算机上的服务帐户密码,且无需手动步骤。
可以使用如下所述的 ServerConfigurationUtility 命令行工具来配置 ArcGIS Server 服务以在 gMSA 下运行。 对于用户名参数,可以指定组托管服务帐户末尾是否有 $ 符号。 不需要密码参数。 readconfig 和 writeconfig 参数均使用组托管服务帐户达到相同效果。
将 gMSA 配置为 ArcGIS Server 帐户的示例命令:
ServerConfigurationUtility.exe /username mydomain\enterprise-gmsa$ /writeconfig c:\temp\domainaccountconfig.xml
是否可以使用 Windows 本地 LocalSystem 帐户来运行 ArcGIS Server 服务?
是;但是,由于以下原因,不建议执行此操作:
- Windows LocalSystem 帐户需要高级权限,并且这具有安全隐患。 有关详细信息,请参阅 Microsoft 开发中心的 LocalSystem 帐户。
- LocalSystem 帐户不用于访问网络位置。 要使用 LocalSystem 帐户来访问您的服务和站点数据,您必须在本地存储数据。
- 在具有多台计算机的站点中,不要使用 LocalSystem 作为 ArcGIS Server 帐户。
需要为 ArcGIS Server 帐户授予哪些权限?
ArcGIS Server 安装程序授予 ArcGIS Server 帐户执行服务器启动和停止进程等基本功能的权限。 它还为帐户授予对 ArcGIS Server 安装目录中所有文件夹的读取权限和对以下文件夹的完全控制权限:
- <ArcGIS Server installation directory>\framework
- <ArcGIS Server installation directory>\usr
- <ArcGIS Server installation directory>\bin
- <ArcGIS Server installation directory>\XMLSchema
- <ArcGIS Server installation directory>\DatabaseSupport
创建站点之前,应授予 ArcGIS Server 帐户下列权限:
- 对服务器目录创建位置的完全控制权限。 请注意,您必须授予 ArcGIS Server 帐户对您在配置站点后所创建的任何新服务器目录的读写权限。
- 对配置存储创建位置的完全控制权限。
- 对将包含 ArcGIS Server 日志目录的完全控制权限和创建此文件夹的权限(如果尚未手动创建)。 默认情况下,此目录为 C:\arcgisserver\logs。
- 对包含将在发布 web 服务之前注册到 ArcGIS Server 站点的数据库连接文件的目录的读取权限。 如果使用的是 Windows 身份验证而非数据库身份验证,还必须授予 ArcGIS Server 帐户写入权限。
- 对将在发布 web 服务之前注册到 ArcGIS Server 站点的 GIS 数据文件夹的读取权限。 如果允许发布进程将数据复制到服务器中(请参阅发布时自动将数据复制到服务器),则数据会放置在已对 ArcGIS Server 帐户授予权限的服务器目录中。 不必再为原始服务器目录应用任何其他权限。
- 对 Python27 文件夹的完全控制权限。 仅当您在 ArcGIS Server 10.9.1 中启用 ArcMap Runtime 支持功能时,此文件夹才会存在。 默认情况下,此文件夹位于 C:\Python27(如果已在 C: 硬盘中安装 ArcGIS Server)。
创建站点时,将授予 ArcGIS Server 帐户对 ArcGIS Server 日志目录的读写权限。 如果创建新的日志位置,则需要为 ArcGIS Server 帐户手动授予对此位置的读写权限。
ArcGIS Server 帐户无需属于站点中任何计算机的 Windows 管理员组。
更改 ArcGIS Server 帐户
无需重新运行 ArcGIS Server 安装进程也能更改 ArcGIS Server 帐户。 安装后,可通过运行随此软件提供的配置 ArcGIS Server 帐户实用程序来更改帐户。 此操作可用来响应安全策略更改,或者在排除服务器故障时实施。
请使用本实用程序,而不要尝试使用操作系统工具手动更改 ArcGIS Server 帐户。 该实用程序旨在对部署中的所有计算机上的所有必要目录(如上所述,Python 2.7 目录除外)应用权限。 如果您手动更改帐户并出现误操作,服务器可能出现故障并停止运行。
注:
“配置 ArcGIS Server 帐户”实用程序工具不会授予 Python 2.7 目录的权限。 使用该实用程序后,您必须手动授予 Python 2.7 目录的权限。
要使用该实用程序来更改 ArcGIS Server 帐户,请执行以下步骤:
- 在 ArcGIS Server 站点的一台计算机上,打开配置 ArcGIS Server 帐户实用程序。
- 为要指定为 ArcGIS Server 帐户的帐户指定帐户名和密码。 单击下一步。
- 也可以指定 ArcGIS Server 站点所使用的根服务器目录和配置存储位置。 例如
- 如果根服务器目录和配置存储在本地驱动器盘符路径中可用,并且您在该实用程序中指定了这些目录,则该实用程序会将该目录的读写权限自动授予新帐户。
- 如果根服务器目录和配置存储使用网络 (UNC) 路径,则将这些字段留空并在完成该实用程序后将该目录的读写权限手动授予新帐户。
- 也可以指定日志目录位置。 如果输入一个位置,则该实用程序会将该目录的读写权限自动授予新帐户。 如果将此字段留空,必须在完成该实用程序后,在 ArcGIS Server 站点的每台计算机上将该目录的读写权限手动授予新帐户。
注:
日志目录与服务器目录或配置存储位置无关。 如果更改日志目录的位置,请尝试将该位置保留在 ArcGIS Server 站点的根级别。 无法将网络目录指定为日志位置。 有关详细信息,请参阅关于服务器日志。
- 单击下一步。
- 在导出服务器配置文件对话框中,考虑以下情形:
- 如果 ArcGIS Server 站点中具有多台计算机,请导出配置文件。 对于站点中其余的计算机,这样做就不必将此信息重新输入该实用程序。 由此可以保证站点中所有计算机上的 ArcGIS Server 帐户配置均完全相同。 为配置文件指定安全位置并单击下一步。
- 如果您的 ArcGIS Server 站点中只有一台计算机,您可以导出并保存配置文件,也可以选择保存配置文件。 务必将其存储在安全位置,然后单击下一步。
- 在汇总面板中,查看帐户属性并单击配置。 您的新帐户被配置为 ArcGIS Server 帐户。 关闭该实用程序。
- 在站点中其余每台计算机上运行该实用程序。 可将该实用程序指向之前创建的配置文件,或重新输入上面所提供的信息。
- 将已注册到 ArcGIS Server 站点的数据目录和数据库连接文件的读取权限授予新帐户。 如果使用的是 Windows 身份验证而非数据库身份验证,还需要授予帐户对连接文件的写入权限。
通过命令行更改 ArcGIS Server 帐户
您可以通过命令提示符运行可执行文件,而非运行“配置 ArcGIS Server 帐户”实用程序向导。 ServerConfigurationUtility.exe 命令行实用程序安装在 <ArcGIS Server installation location>\bin 中。 将更新应用到组织的安全策略后,可以将更新写入 ArcGIS Server 帐户的脚本。
可用参数包括:
ServerConfigurationUtility /readconfig /writeconfig /username /password /rsdir /csdir /logsdir
- /readconfig - 先前运行实用程序时保存的配置文件的可选路径。
- /writeconfig - 保存配置文件的可选路径,以便将来运行实用程序时应用相同属性。
- /username - 要用于 ArcGIS Server 帐户的名称。
- /password - ArcGIS Server 帐户的密码。
- /rsdir - 根服务器目录的路径。 本参数可选,但如果不提供它,您必须为 ArcGIS Server 帐户手动授予对根服务器目录的读写权限。
- /csdir - 配置存储目录。 本参数可选,但如果不提供它,您必须为 ArcGIS Server 帐户手动授予对配置存储的读写权限。
- /logsdir - ArcGIS Server 日志目录的路径。 本参数可选,但如果不提供它,您必须为 ArcGIS Server 帐户手动授予对日志目录的读写权限。
示例:ServerConfigurationUtility /writeconfig c:\temp\myconfig.xml /username arcgisnew /password secret /rsdir c:\arcgisserver\directories /csdir c:\arcgisserver\config-store /logsdir c:\arcgisserver\logs
指定 ArcGIS Server 帐户的区域设置
将 ArcGIS Server 帐户的区域设置设置为安装期间指定的 Windows 帐户的区域设置。 如果未指定帐户且使用默认帐户 (arcgis),则帐户的区域设置由操作系统设置确定。 由于 ArcGIS Server 生成的所有消息(如日志)将显示在 ArcGIS Server 帐户的区域设置中,因此区域设置尤为重要。 要以不同的语言或格式显示消息,请针对 ArcGIS Server 站点中的每台计算机,更改 ArcGIS Server 帐户的显示语言。 有关您正在使用的操作系统版本的具体说明,请参阅 Microsoft 文档。