ArcGIS Server 可以将您的数据(例如地图、工具、影像和定位器)共享给组织内的众多其他客户端,甚至整个 Internet。为此,您的 ArcGIS Server 计算机必须具有访问数据的权限。要使数据可供 ArcGIS Server 访问,需要完成以下三个主要工作。
- 将数据存储到所有 ArcGIS Server 计算机能够访问的位置。
- 授予 ArcGIS Server 帐户访问数据位置的权限,其中数据位置为通过操作系统身份验证才能进行访问的文件夹和数据库。ArcGIS Server 帐户是安装 ArcGIS Server 时指定的操作系统帐户,而不是在创建 ArcGIS Server 站点时指定的主站点管理员帐户。
- 将您的数据注册到 ArcGIS Server 站点。
ArcGIS Server 存储和访问数据的方式
当您将一个资源作为服务发布时,该资源将放在 ArcGIS Server 计算机上。因此,如果将定位器作为地理编码服务进行发布,最终会在 ArcGIS Server 有足够权限访问的服务器上存放一个定位器的副本。同样,您发布的地图也会复制到 ArcGIS Server 计算机上。
有时,发布的资源可能会引用其他数据。例如,地图可能会引用存储在数据库、地理数据库中的各种不同要素类,或文件夹中的 shapefile。如果发布之前未将文件夹或数据库注册到 ArcGIS Server 站点或者未将数据放置在 ArcGIS Server 能够访问的位置,则此数据会被移动到 ArcGIS Server 计算机。
将数据存储到所有 ArcGIS Server 计算机能够访问的位置。
部署中的每个 ArcGIS Server 计算机都需要能够读取您的 GIS 资源及其引用的全部数据。例如,在将地图作为服务发布时,地图图层的全部数据必须对所有 ArcGIS Server 计算机均可见。以下例举了一些存储数据的方法。
将数据本地存储在每台 ArcGIS Server 计算机中
将数据保存到本地路径(例如,C:\data)并从中创建服务时,除非其他 ArcGIS Server 计算机在 C:\data 中存有相应的数据副本,否则这些计算机将无法使用该服务。将数据的相同副本加载到每台 ArcGIS Server 计算机的相同路径中有利于提高性能,但是对于大型或经常更改的数据集,这种解决方案可能并不实用。
将数据存储在共享目录中
使所有 ArcGIS Server 计算机都能访问数据的另一种方法是,使用操作系统工具共享存储数据的目录。共享目录通常使用通用命名约定 (UNC) 路径,其中包含服务器的名称(例如,\\myServer\data)。当使用 UNC 路径引用数据时,所有 ArcGIS Server 计算机都将选择合适的计算机来获取数据。
如果在共享目录中存储您的 GIS 资源,请切记,资源中的所有数据源路径也必须使用 UNC 路径或相对路径。例如,如果地图文档中包含来自三个 shapefile 的图层,则这三个 shapefile 的路径必须是 UNC 或相对路径。
虽然共享网络文件夹对引用数据十分方便,但他们对网络流量有要求而且会出现性能瓶颈,而通过本地路径访问数据则不会出现这些问题。如果其他客户端也同时访问源资源,您也可能遇到锁止问题。
将数据存储在数据库中
许多 GIS 厂商会将大型数据集存储在关系数据库管理系统中。Esri 本身支持一组特定的数据库,从而使您可以在 ArcGIS 中非常方便地组织和使用数据库中的空间数据。Esri 还提供了可在数据库中部署的地理数据库。
请参阅 ArcGIS Server 站点数据存储注意事项,以了解此方法是否适合您。
将数据存储在云存储容器中
如果您有 Amazon Web Services (AWS) 或 Microsoft Azure 帐户,并且需要将数据存储在云中,则可以将基于文件的数据置于 AWS Simple Storage Service (S3) 存储段或 Azure Blob 存储容器中,并将该位置注册到 ArcGIS Server 站点。
由于数据存储在远程位置,因此,网络的速度和吞吐量将影响 Web 服务性能。另请注意,您可能需要让网络管理员打开公司的防火墙才能访问这些容器。
授予 ArcGIS Server 帐户访问您数据的权限
登录自己的计算机时,您使用的帐户名会授予您访问计算机中所有文件及文件夹的权限。除非您为其授予访问权限,否则其他人无法访问这些文件和文件夹。这同样适用于 GIS 数据。对于在服务中所使用的文件夹中的任何数据以及您通过操作系统身份验证进行访问的数据库(或企业级地理数据库)中的任何数据,ArcGIS Server 帐户至少需要具有读取权限。在需要进行编辑时,ArcGIS Server 帐户可能还需要具有写入权限。
何时需要应用权限?
您发布的资源也会复制到 ArcGIS Server 计算机上。这些文件夹已经得到 ArcGIS Server 帐户的许可。但是,这些资源中引用的数据(例如,地图中的图层)不一定应用了正确的权限,这要取决于发布之前是否已将包含文件夹或数据库注册到 ArcGIS Server 站点。
如果选择让服务器将数据自动复制到服务器,则无需设置任何额外的权限。所有数据都将复制到 ArcGIS Server 帐户已经拥有访问权限的服务器。如果源数据基于文件,并且您要发布要素服务或启用事务的 WFS (WFS-T) 服务,则源数据将被复制到已注册到服务器的地理数据库中,该数据库称为 ArcGIS Server 托管数据库。无需为 ArcGIS Server 帐户授予对已复制到服务器的源数据的访问权限。
有关详细信息,请参阅发布时将数据自动复制到服务器。
如果选择对所包含的文件夹进行注册,则需要明确授予 ArcGIS Server 帐户从该文件夹进行读取的权限。
如果选择对所包含的数据库进行注册,则需要授予的权限类型取决于您正在使用的数据库类型和连接时使用的身份验证类型。
对基于文件的数据或数据库数据授予权限的过程将在本主题的其他部分进行说明。
对基于文件的数据的权限
如果您的数据基于文件(例如 shapefile、图像文件和文件地理数据库),则需要使用操作系统来设置对于包含数据的文件夹的访问权限。ArcGIS Server 帐户必须至少具有对数据的读取权限以及写入权限(如果要编辑该数据)。以下是一些使用情境:
- 如果您的数据存储在 ArcGIS Server 计算机上(如果有多台 ArcGIS Server,则为其中一台),则授予 ArcGIS Server 帐户对包含数据的文件夹的读取权限(还可以授予写入权限)。
- 如果数据未存储在 ArcGIS Server 计算机中,且您已指定本地帐户为 ArcGIS Server 帐户,则需要在托管数据的计算机中先创建一个相同的本地帐户(具有相同的用户名和密码)。然后再授予该本地帐户对包含数据的文件夹的读取权限(还可以同时授予写入权限)。只要包含数据的计算机中的本地帐户与 ArcGIS Server 计算机中本地帐户相同,ArcGIS Server 计算机就可以访问该数据。
- 如果数据未存储在 ArcGIS Server 计算机中,且您已指定域帐户为 ArcGIS Server 帐户,则需授予域帐户对包含数据的文件夹的读取权限(还可选择授予写入权限)。
您应该了解操作系统的安全机制和等级。例如,如果您在 Windows 的共享目录中进行操作,则需要授予 ArcGIS Server 帐户对该文件夹的共享权限,然后需要切换到文件夹属性的安全性选项卡并授予 ArcGIS Server 帐户对该文件夹的 NTFS(文件)权限。如果未授予两种类型的权限(共享权限和文件权限),ArcGIS Server 将无法访问资源,因为操作系统将优先对这两种权限加以限制。
对数据库中数据的权限
当创建引用数据库中数据的服务时,您需要确保服务器具有访问数据的相应权限。需要授予的权限类型取决于所使用数据库的类型,以及您使用哪种类型的身份验证进行连接。
注:
ArcGIS 10.1 for Server 及更高版本不支持个人地理数据库。
您使用何种方式授予对数据库中数据的 ArcGIS Server 访问权限取决于您在连接到数据库时使用的是数据库身份验证还是操作系统 (OS) 身份验证。在 ArcCatalog 中或 ArcMap 的目录窗口中查看数据库连接属性以了解该连接使用的是数据库身份验证还是 OS 身份验证。请注意,应始终使用 OS 身份验证访问工作组地理数据库。
数据库身份验证
如果使用数据库身份验证,请在目录树中检查数据库连接属性,并确保已选中有关保存用户名和密码的选项。需要执行此操作,服务才能成功访问数据。
如果要允许编辑数据,则必须向建立连接的数据库用户授予数据写入权限。
OS 身份验证
如果通过 OS 身份验证访问数据,则必须向数据库中添加 ArcGIS Server 帐户,然后授予该帐户访问所需资源的权限。服务运行时,它将作为 ArcGIS Server 帐户登录到 DBMS。
您添加 ArcGIS Server 帐户并向其授予权限的方式可能有所不同。要了解如何为操作系统帐户授予访问权限,查阅 DBMS 文档将会非常有帮助。添加 ArcGIS Server 帐户后,您需要授予该帐户对您将要发布资源的 SELECT 权限。如果要允许编辑数据,将需要数据的写入权限。
如果使用工作组地理数据库,则在 ArcCatalog 或目录窗口中执行以下步骤,以授予 ArcGIS Server 帐户必要的权限:
- 在目录树中双击数据库服务器。
- 右键单击包含地理数据库的数据库服务器,然后单击权限。
- 单击添加用户添加 ArcGIS Server 帐户。单击确定。
- 双击上述数据库服务器。
- 右键单击该地理数据库,单击管理,然后单击权限。
- 单击 ArcGIS Server 帐户将其选中,然后选择您希望该帐户拥有的权限级别。查看数据至少需要读取权限,而编辑数据至少需要写入权限。如果需要详细帮助信息来确定您的 ArcGIS Desktop 帐户需要哪种权限,请参阅 ArcGIS Server 帮助中的数据库服务器权限。
将数据注册到 ArcGIS Server
在授予 ArcGIS Server 帐户对包含您的数据的文件夹和数据库的相应权限后,您需要使用 ArcGIS Server Manager 或 ArcGIS Desktop 将上述文件夹和数据库注册到服务器。数据注册将使您在最大程度上对服务器访问数据的方式进行控制,并帮助您确保数据完全可供服务器访问。
请注意,要将工作组级地理数据库注册到 ArcGIS Server 站点,您需要创建到工作组级地理数据库的数据库连接(.sde 文件)。
有关说明,请参阅以下主题: