要允许您的 ArcGIS Server 站点访问要发布的数据源,则 ArcGIS Server 站点中的所有计算机均必须具有对源的访问权限。 例如,在将地图作为服务发布时,地图图层的地图和全部数据必须可供所有 ArcGIS Server 计算机访问。
要使您的数据可供 ArcGIS Server 访问,您需要执行以下操作:
- 将您的数据存储在 ArcGIS Server 站点中的所有计算机均可访问的位置。
- 授予权限以允许 ArcGIS Server 访问数据。
- 如果将数据存储在可使用操作系统身份验证进行访问的文件夹或数据库中,则必须授予 ArcGIS Server 帐户对这些位置的权限。 ArcGIS Server 帐户是用于安装 ArcGIS Server 的帐户,而不是在创建 ArcGIS Server 站点时指定的主站点管理员帐户。
- 如果将数据存储在可使用数据库身份验证进行访问的数据库中,则注册数据库时所提供的数据库用户必须具有对数据的权限。
- 如果您的数据位于云数据仓库中,则您用于访问该数据仓库的凭据必须具有查看数据的权限。
- 将您的数据存储注册到 ArcGIS Server 站点。
将数据存储到所有 ArcGIS Server 计算机都可以访问的位置
以下各节介绍了用于存储数据的选项,以使 ArcGIS Server 站点可以访问该数据。 您使用的选项取决于数据大小、访问 web 服务的人数以及数据更改的频率。
将数据本地存储在每台 ArcGIS Server 计算机中
将数据保存到本地路径(例如,/opt/local/data)并基于该数据创建服务时,除非其他 ArcGIS Server 计算机在 /opt/local/data 中存有相应的数据副本,否则这些计算机将无法使用该服务。
将数据的相同副本加载到每台 ArcGIS Server 计算机的相同路径中有利于提高性能,但是对于大型或经常更改的数据集,这种解决方案并不实用。
将数据存储在共享目录中
使所有 ArcGIS Server 计算机都能访问数据的另一种方法是,使用操作系统工具共享存储数据的目录。 共享网络目录通常使用 NFS 安装文件夹,其中包含服务器的名称(例如,/net/myserver/opt/local/data)。 当使用 NFS 路径引用数据时,所有 ArcGIS Server 计算机都将选择合适的计算机来获取数据。
如果在共享目录中存储您的 GIS 资源,请切记,资源中的所有数据源路径也必须使用 NFS 路径或相对路径。 例如,如果地图中包含来自三个 shapefile 的图层,则这三个 shapefile 的路径必须是 NFS 或相对路径。
虽然共享的网络文件夹便于引用数据,但是如果其他客户端或 web 服务同时访问源资源,则可能会出现锁定问题。 因此,对于在多个 web 服务或客户端中使用的数据,此选项并不实用。
将数据存储在数据库中
如果将空间数据存储在 Esri 支持的关系数据库管理系统中,则可以从 ArcGIS 访问该数据并从中发布地图和要素服务。 Esri 还提供了可以在数据库内部署的企业级地理数据库以扩展其功能。 如果您的数据位于受支持的云数据仓库中,则您可以从 ArcGIS Pro 发布地图服务(地图图像图层)。
数据库、企业级地理数据库和云数据仓库为大量用户提供相同数据的访问权限,并提供诸如备份、故障转移选项、属性域以及控制数据输入值的规则等机制,以帮助您保护数据。 如果将数据存储在企业级地理数据库中,则当网络访问权限不可用时,还可以选择离线使用要素服务数据。 如果在离线使用时对数据进行了编辑,则在重新获得网络访问权限后,可以通过要素服务对这些编辑内容进行同步。
将缓存、影像和大数据文件存储在云存储容器中
当您需要存储大型数据文件时,云存储容器可以提供灵活的选项。 由于地图和图像缓存、影像源以及大数据文件通常都非常大,因此您可能会考虑将此类型数据存储在注册到 ArcGIS Server 站点的云存储中。
由于数据存储在远程位置,因此,网络的速度和吞吐量将影响 Web 服务性能。 另请注意,您可能需要让网络管理员打开公司的防火墙才能访问这些容器。
授予 ArcGIS Server 对数据的权限
登录自己的计算机时,您使用的帐户名会授予您访问计算机中所有文件及文件夹的权限。 除非您为其授予访问权限,否则其他人无法访问这些文件和文件夹。 这同样适用于 GIS 数据。 对于在服务中所使用的文件夹中的任何数据以及您通过操作系统身份验证进行访问的数据库或企业级地理数据库中的任何数据,ArcGIS Server 帐户至少需要具有读取权限。 在需要进行编辑时,ArcGIS Server 帐户还需要写入权限。
何时需要应用权限?
您发布的资源也会复制到 ArcGIS Server 计算机上。 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 帐户访问数据文件的权限。
- 授予 ArcGIS Server 帐户访问数据文件夹的权限。 您需要对此文件夹下的每个目录都进行授权。 对于上方的示例,需要对以下所有文件夹进行授权:
- /opt
- /opt/local/
- /opt/local/data
对数据库中数据的权限
发布引用已注册的数据库或企业级地理数据库中数据的服务时,需要确保用于连接到数据库的帐户具有访问数据库及其数据的相应权限。 需要授予的权限类型取决于正在使用的数据库类型和正在用于连接的身份验证的类型。
授予 ArcGIS Server 对数据库中数据的访问权限的方式取决于您在连接到数据库时使用的是数据库身份验证还是操作系统 (OS) 身份验证。
数据库身份验证
使用数据库身份验证时,必须使用您注册的数据库连接来保存用户名和密码。 需要执行此操作,服务才能成功访问数据。
如果要发布要素服务并允许编辑数据,则必须向建立连接的数据库用户授予数据写入权限。
OS 身份验证
如果通过 OS 身份验证访问数据,则必须向数据库中添加 ArcGIS Server 帐户,然后授予该帐户访问所需资源的权限。 服务运行时,它将作为 ArcGIS Server 帐户登录到数据库管理系统。
您添加 ArcGIS Server 帐户并向其授予权限的方式可能有所不同。 要了解如何为操作系统帐户授予访问权限,查阅 DBMS 文档将会非常有帮助。 添加 ArcGIS Server 帐户后,您需要授予该帐户对您将要发布数据的 SELECT 权限。 如果要允许编辑数据,将需要数据的写入权限。
将您的数据注册到 ArcGIS Server 站点
数据注册将使您在最大程度上对站点访问数据的方式进行控制,并帮助您确保数据完全可供您发布的 web 服务访问。 因此,在授予 ArcGIS Server 帐户对包含您的数据的文件夹和数据库的相应权限后,您需要将上述文件夹和数据库注册到 ArcGIS Server 站点。 如果您希望允许发布者在云中存储地图或图像缓存,则需要将云存储位置注册到 ArcGIS Server 站点。
如果您的 ArcGIS Server 站点与 ArcGIS Enterprise 门户联合,则可以在门户中添加数据存储。 此举具有以下优势:
- 您可以一次将单个数据存储注册到多个联合 ArcGIS Server 站点。
- 在门户中注册时,会创建一个数据存储门户项目。 您可以与门户组或整个组织共享该项目。 当组成员或组织成员从 ArcGIS Server Manager 或 ArcGIS Pro 发布该数据存储中的内容时,他们不必单独将数据存储注册到您为数据存储项目配置的联合服务器。
但是,如果您在 ArcGIS Enterprise 门户中注册了数据存储,则您此时无法执行以下操作:
- 将数据存储配置为缓存存储。
- 管理门户之外的数据存储。
如果您使用的是独立 ArcGIS Server 站点,请在 ArcGIS Server Manager 或 ArcGIS Pro 中注册您的数据存储。
有关注册数据存储可用选项的信息,请参阅以下主题:
- 添加项目(在 Portal for ArcGIS 用户帮助中)
- 使用 Server Manager 将数据注册到 ArcGIS Server
- 使用 ArcGIS Pro 将数据注册到 ArcGIS Server
旧版本:
如果从 ArcMap 进行发布之前,未将文件夹或数据库注册到 ArcGIS Server 站点,或者如果未将数据放置在 ArcGIS Server 可以访问的位置,则会将数据复制到 ArcGIS Server 计算机。 由此您可以最小程度地控制服务和服务器访问数据的方式,但确保您发布的项目(例如,地理处理服务)将始终能够访问其源数据集。