保护与服务之间建立的本地连接
在 Windows 中: 连接到 GIS 服务器的本地连接和运行在 GIS 服务器上的服务是由服务器对象管理器 (SOM) 计算机的操作系统进行管理的。操作系统允许您在自己的计算机上创建和删除文件,但却阻止您在同事的计算机上执行此类操作,与此相似,SOM 上的操作系统授权某些用户访问服务器计算机上运行的服务,同时拒绝他们访问其他服务。登录自己的计算机时,您所指定的用户名和密码可将您标识为网络上的有效用户。根据您的操作系统帐户,您将可以执行一系列特定操作,其中一项操作可能就是访问 GIS 服务器。
在 Linux 和 Solaris 上:连接到 GIS 服务器的本地连接是由服务器对象管理器 (SOM) 进行管理的。适用于 Linux 和 Solaris 平台的 ArcGIS Java Server 还随附了可随 SOM 一起安装的 Sun One Directory Server。GIS 服务器 SOM 使用此目录服务器来维护用户和组的资料档案库,这些用户和组可通过本地连接使用并管理 GIS 服务器。
开始使用 GIS 服务器之前,需要先指定可以访问该服务器的用户。指定完成后,您将可以连接到 GIS 服务器并向其添加服务。
指定哪些用户可以与服务器建立本地连接
应该向哪些用户授权对 GIS 服务器进行本地访问?这个问题的答案要视服务器上运行的服务类型及计划如何使用这些服务而定。某些情况下,您需要使在服务器上安排的服务对所有用户可用。某些情况下,您可能希望对访问权限加以限制,因为服务中包含仅可向特定人员公开的敏感性信息。
作为 GIS 服务器的管理员,您可以将某些用户的操作系统帐户在 Windows 中添加到对服务器有访问权限的用户列表中,或在 Linux/Solaris 中添加到管理器中的本地用户列表中,从而授予这些用户对 GIS 服务器的本地访问权限。事实上,系统中实际存在两个列表:一个是对服务器上运行的服务具有使用权限的用户的列表,一个是对服务器本身具有管理(即,添加、删除和修改服务器服务)权限的用户的列表。由于在 Windows 中对服务器具有最终访问控制权的是操作系统,因此您可使用两个操作系统用户组(即 ArcGIS Server 用户和 ArcGIS Server 管理员)来管理这两个用户列表。用户组便可定义哪些用户对特定资源(这里指 GIS 服务器)具有访问权限。在 Linux/Solaris 中,此类分组信息还可通过 ArcGIS Server 管理器进行维护,因此您可以在添加新的本地用户时分配组,也可以对组进行更改。
一般来说,添加到 ArcGIS Server 用户和管理员组的帐户列表将取决于要连接到服务器的客户端。连接到 Windows GIS 服务器时,如果希望客户端访问 GIS 服务器,则需要将用以运行 ArcGIS Desktop 的各操作系统帐户添加到 ArcGIS Server 用户组中。此外,您所创建的各 Web 应用程序也可以通过特定操作系统帐户连接到 GIS 服务器。Web 应用程序所使用的各帐户也都应被添加到 ArcGIS Server 用户组中。
您无需将 SOM 和 SOC 帐户(与 Linux/Solaris 安装拥有者帐户相同)添加到管理员组或用户组中。操作系统仅使用这些帐户启动和停止 GIS 服务器上的进程。但对于Linux/Solaris 上的分布式安装,或者在运行脚本以在 Linux/Solaris 计算机上生成/更新缓存时,则需要将此用户帐户添加到管理器中的本地 GIS 帐户。
控制对于 GIS 服务器的访问
安装 ArcGIS Server 时,安装程序会自动创建 ArcGIS Server 用户组 (agsusers) 和管理员组 (agsadmin)。在 Windows 中,这些组将被作为本地操作系统组而在 SOM 计算机和各容器计算机中进行创建。而在 Linux/Solaris 中,此组将在管理器(仅存在于 SOM 计算机上)中进行维护。除了 Linux/Solaris 中 agsadmin 组中的用户“admin”之外,ArcGIS Server 安装程序不会向上述组自动添加任何用户。因此,您将需要根据各用户所应具有的访问权限类型将用户添加到相应组中。当然,您需要向 agsadmin 组添加的第一个帐户就是您自己的帐户,或者直接选用 admin。
在 Windows 中:
在 Linux/Solaris 中:
当应用程序与 GIS 服务器建立本地连接时,系统会对照 GIS 服务器上的 agsusers 和 agsadmin 组来对这些应用程序进行验证。
如果在 Windows 中使用 ArcGIS Server,那么向这些组中添加用户帐户的方式将取决于组织对用户的总体管理方式。如果组织已建立许多用户组,则可以选择将特定用户组添加为 agsadmin 组和 agsusers 组的成员。通过根据其他组来分配用户,您可以使更改 GIS 服务器访问权限时所需的工作量降至最低。例如,如果聘用了新员工并将其添加到组织的现有组,该员工即会被自动授予对 GIS 服务器的访问权限,因为此时该员工已是组成员,而该组是 ArcGIS Server 用户组的成员。此外,您也可以向 agsadmin 组或 agsusers 组添加单独的用户。
用户和管理员的权限
ArcGIS Server 用户组 (agsusers) 的成员对 GIS 服务器具有用户级别权限。用户可以查看并访问服务,但不能执行添加、移除或修改服务等管理任务。用户也不能修改服务器本身的属性(如添加或移除计算机)。
ArcGIS Server 管理员组 (agsadmin) 的成员对 GIS 服务器具有访问和管理权限。以管理员组成员身份进行连接的用户可以执行以下操作:
- 添加或移除容器计算机。
- 添加、移除或修改服务器目录。
- 添加、删除或修改服务。
- 启动、停止或暂停服务。
- 查看统计信息。
从 ArcGIS Desktop 与服务器建立本地连接
ArcGIS Server 的桌面客户端应用程序将以启动应用程序的用户帐户运行。例如,如果在域 AVWORLD 中以域用户 ANDY 的身份登录到桌面计算机上,那么在运行应用程序(例如 ArcCatalog)时,该应用程序的标识将为 AVWORLD\ANDY。在该 ArcCatalog 会话中与 ArcGIS Server 建立本地连接时,将以 AVWORLD\ANDY 的身份进行连接。只要 AVWORLD\ANDY 是 SOM 的 agsusers 组成员,即可成功连接。要连接到 Linux/Solaris GIS 服务器,域(此示例中为 AVWORLD)将被忽略。只要 ANDY 是 GIS 服务器用户组 (agsusers) 的成员,即可成功连接。如果 AVWORLD\ANDY 是 agsadmin 的成员,您将通过该连接具有对于服务器的管理员权限。
一般来说,执行日常任务时最好使用权限限制较为严格的帐户,而仅在需要对服务器进行管理时才使用管理帐户。在 Windows 中,您可以利用 runas 命令,使用当前登录帐户之外的操作系统帐户连接到 ArcCatalog。您可以在命令提示符处运行 runas 命令;在某些操作系统版本中,也可以作为 ArcCatalog 可执行文件(位于安装位置的 bin 文件夹中)的快捷菜单选项运行该命令。例如,在命令提示符处输入以下内容:
runas /user:username "C:\Program Files\ArcGIS\bin\ArcCatalog.exe"
此外,也可以导航到 bin 文件夹中的 ArcCatalog.exe 文件,或者找到该文件的快捷方式,右键单击该可执行文件,然后单击 Run as。有关使用 runas 命令的详细信息,请查阅 Windows 文档。
从 Web 应用程序与服务器建立本地连接
使用 Web 应用程序开发框架 (ADF) 构建访问本地服务的 Web 应用程序时,将需要指定用户名和密码。您所使用的凭据必须属于应用程序将要连接的各本地服务器上的 agsadmin 组或 agsusers 组。最终用户访问应用程序时,无需输入用户名和密码即可访问服务。系统将改为使用存储在应用程序的 faces-config.xml 文件中的加密凭据。
限制访问具体服务
只可以对通过 Internet 进行的连接限制 GIS 服务器上部分服务的访问。要了解具体操作方法,请参阅保护 Internet 连接和 Web 应用程序部分。