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。 对于大多数非生产部署,接受此默认值便已足够;但是,对于生产系统,建议您在安装 ArcGIS Server 之前创建域账户或 Active Directory 账户。 如果组织的安全策略要求密码过期,则您必须运行配置服务账户实用程序来更新已过期的密码。
可指定本地账户或域账户。 在站点的第一台计算机上安装 ArcGIS Server 时,您可以导出安装程序配置文件,在站点的其他计算机上安装 ArcGIS Server 时,可以使用该配置文件。 由此可以保证站点中所有计算机上的 ArcGIS Server 账户配置均相同。
域账户
使用域账户可以访问远程系统中的数据。 出于安全考虑,也最好使用域账户,因为域账户采用集中管理。
在指定域账户时使用格式 DOMAIN\username。 如果未指定域,则 ArcGIS Server 安装向导将使用您指定的用户名创建一个本地账户。 如果指定的域账户不存在,安装程序将返回错误。
如果登录设置拒绝您登录安装 ArcGIS Server 的计算机,在安装时会出现错误。 不一定要对 ArcGIS Server 账户进行本地登录组策略设置。 有关详细信息,请参阅使用域账户时的高级注意事项。
本地账户
如果您选择了本地账户,则 ArcGIS Server 站点中的每台计算机都必须具有本地账户和密码,并且其完全相同。 安装 ArcGIS Server 之前,您可以在每台计算机上使用相同的密码创建本地账户,或者可以使用 ArcGIS Server 安装向导创建本地账户;但需确保在站点中的每台计算机上使用相同的用户名和密码。
如果您在安装过程中创建了本地账户,则为该账户指定的密码必须符合您操作系统的本地安全策略。 如果密码不满足您操作系统的最小强度要求,则安装程序将返回错误。
要确定本地计算机上的密码要求,请打开本地安全策略控制台。 有关如何访问本地安全策略的信息,请参阅 Microsoft Windows 文档。
组托管服务账户
组托管服务账户 (gMSA) 是一个可提供自动密码管理的特殊 Active Directory 域账户。 该账户不能用于交互式登录,仅限用于预定义的服务器组。
当一个服务账户管理多台计算机上的软件(例如在多机 ArcGIS Server 站点中)时,使用 gMSA 尤其有用。 由于 gMSA 是在域级别运行的,它可以定期更改每台计算机上的服务账户密码,且无需手动步骤。
可以使用如下所述的 configureserviceaccount 实用程序来配置 ArcGIS Server 服务以在 gMSA 下运行。 对于用户名参数,可以指定组托管服务账户末尾是否有 $ 符号。 不需要密码参数。 readconfig 和 writeconfig 参数均使用组托管服务账户达到相同效果。
将 gMSA 配置为 ArcGIS Server 账户的示例命令:
configureserviceaccount.bat --username mydomain\enterprise-gmsa$ --writeconfig c:\temp\domainaccountconfig.xml使用 Windows 本地 LocalSystem 账户来运行 ArcGIS Server 服务
不建议使用 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>\bin
- <ArcGIS Server installation directory>\DatabaseSupport
- <ArcGIS Server installation directory>\framework
- <ArcGIS Server installation directory>\usr
创建站点之前,必须授予 ArcGIS Server 账户下列权限:
- 对服务器目录创建位置的完全控制权限。 请注意,您必须授予 ArcGIS Server 账户对您在配置站点后所创建的任何新服务器目录的读写权限。
- 对配置存储创建位置的完全控制权限。
- 对将包含 ArcGIS Server 日志目录的完全控制权限和创建此文件夹的权限(如果尚未手动创建)。 默认情况下,此目录为 C:\arcgisserver\logs。
- 对包含将在发布 web 服务之前注册到 ArcGIS Server 站点的数据库连接文件的目录的读取权限。 如果使用的是 Windows 身份验证而非数据库身份验证,还必须授予 ArcGIS Server 账户写入权限。
- 对将在发布 web 服务之前注册到 ArcGIS Server 站点的 GIS 数据文件夹的读取权限。 如果允许发布进程将数据复制到服务器中(请参阅发布时自动将数据复制到服务器),则数据会放置在已对 ArcGIS Server 账户授予权限的服务器目录中。 不必再为原始服务器目录应用任何其他权限。
创建站点时,将授予 ArcGIS Server 账户对 ArcGIS Server 日志目录的读写权限。 如果创建新的日志位置,则必须为 ArcGIS Server 账户手动授予对此位置的读写权限。
ArcGIS Server 账户无需属于站点中任何计算机的 Windows 管理员组。
更改 ArcGIS Server 账户
无需重新运行 ArcGIS Server 安装进程也能更改 ArcGIS Server 账户。 安装后,可通过运行随此软件提供的配置服务账户实用程序来更改账户。 例如,此操作可用来响应安全策略更改,或者在排除服务器故障时实施。
实用程序旨在更改分配给 ArcGIS Server 服务的 RunAs 账户并为账户授予对 ArcGIS Server 安装目录中所有文件夹的读取权限和对以下文件夹的完全控制权限:
- <ArcGIS Server installation directory>\bin
- <ArcGIS Server installation directory>\DatabaseSupport
- <ArcGIS Server installation directory>\framework
- <ArcGIS Server installation directory>\usr
使用 configureserviceaccount 实用程序更改正在使用的 ArcGIS Server 服务后,请使用操作系统工具更新由具有以下权限的 ArcGIS Server 使用的以下位置:
- 对所有服务器目录、配置存储目录和 ArcGIS Server 日志目录的完全控制权限。 使用 ArcGIS Server Manager 或 ArcGIS Server Administrator Directory 来定位这些目录。
- 对包含将在发布 web 服务时注册到 ArcGIS Server 站点的数据库连接文件的目录的读取权限。 如果使用的是 Windows 身份验证而非数据库身份验证,还必须授予 ArcGIS Server 账户写入权限。
- 对将在发布 web 服务之前注册到 ArcGIS Server 站点的 GIS 数据文件夹的读取权限。 如果您允许发布过程将数据复制到服务器,则数据将放置在 ArcGIS Server 账户被授予权限的服务器目录中,并且不必再为原始服务器目录应用任何其他权限。
configureserviceaccount 实用程序安装在以下目录中:<ArcGIS Server installation directory>\tools\ConfigUtility。 该工具设置了新的账户以运行 ArcGIS Server 服务,并在该服务所使用的 ArcGIS Server 安装目录位置上授予所需的权限。
在以下示例中,configureserviceaccount 实用程序将对域账户进行设置,以运行 ArcGIS Server 服务,授予此账户对 ArcGIS Server 安装目录文件夹和文件的所需权限,并将包含 Windows 账户信息的配置文件写入磁盘。
注:
必须从使用以管理员身份运行选项打开的命令提示符窗口运行 configureserviceaccount 实用程序。
configureserviceaccount.bat --username mydomain\username --password difficultpsswd --writeconfig c:\temp\domainaccountconfig.xml注:
更改账户会导致在其下运行的服务重启。
configureserviceaccount 实用程序具有以下参数:
configureserviceaccount [--username username] [--password password] [--readconfig user-configuration-file] [--writeconfig user-configuration-file]- username - 用于 ArcGIS Server 账户的名称。
- password - 用于 ArcGIS Server 账户的密码。
- readconfig - 先前运行实用程序时保存的配置文件的可选路径
- writeconfig - 保存配置文件的可选路径,以便将来运行实用程序时应用相同属性
指定 ArcGIS Server 账户的区域设置
将 ArcGIS Server 账户的区域设置设置为安装期间指定的 Windows 账户的区域设置。 如果未指定账户且使用默认账户 (arcgis),则账户的区域设置由操作系统设置确定。 由于 ArcGIS Server 生成的所有消息(如日志)将显示在 ArcGIS Server 账户的区域设置中,因此区域设置尤为重要。 要以不同的语言或格式显示消息,请针对 ArcGIS Server 站点中的每台计算机,更改 ArcGIS Server 账户的显示语言。 有关您正在使用的操作系统版本的具体说明,请参阅 Microsoft 文档。