首页 > 代码库 > ArcGIS for Server安全与LDAP配置

ArcGIS for Server安全与LDAP配置

ArcGIS for Server安全与LDAP配置

1、安全性概述

ArcGIS Server使用基于角色的访问控制来管理对受保护资源的访问。访问GIS资源的权限只能分配给角色。单独的用户只能通过从其角色继承来获取权限。对GIS资源访问权限的身份验证一般有两种方式:基于ArcGIS令牌的身份验证;Web服务器身份验证。

(1)ArcGIS Server账号

安装ArcGIS for Server时指定的操作系统账号称为ArcGIS Server账号。ArcGIS Server账号的几种用途:

  • 启动和停止支持 GIS 服务器和服务的进程。
  • 读取服务后的 GIS 数据。
  • 读取文件并将文件写入到 ArcGIS Server 目录;例如,创建地图缓存时,ArcGIS Server 帐户会将缓存切片写入服务器缓存目录中。
  • 读取文件并将文件写入到配置存储中;例如,在管理器中创建新的集群时,ArcGIS Server 帐户会将集群配置信息写入配置存储中的文件。
  • 读取文件并将文件写入 ArcGIS Server 安装位置与系统临时目录中;例如,该帐户会写入可用于排除服务器故障的日志文件。
  • 读取日志消息并将日志消息写入日志目录中。

(2)集群部署时与ArcGIS Server账号相关的注意事项

  • 每个 GIS 服务器都必须具有本地帐户和密码且它们完全相同。
  • 授予ArcGIS for Server安装目录中所有文件夹的读取权限,以及以下文件夹的完全控制权限:

<ArcGIS for Server?安装目录 >\framework

<ArcGIS for Server?安装目录 >\geronimo

<ArcGIS for Server?安装目录 >\usr

<ArcGIS for Server?安装目录 >\bin

<ArcGIS for Server?安装目录 >\XMLSchema

  • 授予服务器目录(arcgisserver\directories)的读写权限。
  • 授予配置存储目录(arcgisserver\config-store)的读写权限。
  • 授予日志目录(logs)的读写权限。
  • 授予注册到ArcGIS Server的数据库连接文件所在目录的读写权限。
  • 授予注册到ArcGIS Server的GIS数据目录的读写权限。

2、用户和角色的存储

ArcGIS Server中的用户和角色的存储主要有3中:

(1)使用内置存储的用户和角色

ArcGIS Server默认使用的是内置存储。该存储使用的是基于文件的格式。

(2)使用企业系统中的用户和角色

ArcGIS Server可采用在外部 Microsoft Active Directory 或 LDAP 服务器中管理的用户和角色实施安全性保护。ArcGIS Server将活动目录或 LDAP 服务器用作只读存储。

(3)使用企业系统中的用户和内置存储中的角色

ArcGIS Server可采用在外部 Microsoft Active Directory 或 LDAP 服务器中管理的用户和在 ArcGIS Server 内置存储中管理的角色来实施安全性保护。ArcGIS Server将活动目录或 LDAP 服务器用作只读存储。

此外,还可通过扩展实现自定义管理用户和角色的存储。

3、身份验证

前面提到,ArcGIS Server中身份验证有两种方式:基于ArcGIS令牌的身份验证;Web服务器身份验证。

基于ArcGIS令牌的身份验证主要是使用Web API开发的应用程序所采用的方式。ArcGIS Server可配置为委托第三方Web服务器(如Microsoft IIS或IBM Websphere)进行用户身份验证。这种方式下,可充分利用 Web 服务器所提供的标准身份验证机制,例如HTTP Digest 身份验证和 PKI 客户端认证身份验证等。

使用Web服务器身份验证必须在Web服务器上安装Web Adaptor,且必须启用管理选项。配置Web服务器身份验证后,ArcGIS Server将指派Web Adaptor进行身份验证。用户成功通过身份验证后, Web Adaptor会对用户信息进行加密并追加到请求中,然后转发至 ArcGIS Server。ArcGIS Server 接收用户信息并进行解密,以验证用户是否有权访问所请求的GIS服务。

4、使用OpenLDAP中的用户

OpenLDAP的部署与配置参考相关技术文档,其中定义的用户信息如下:

dn: dc=esrigz,dc=com

objectClass: domain

objectClass: top

o: esri guangzhou

dc: esrigz

??

dn: ou=Manager,dc=esrigz,dc=com

objectClass: organizationalUnit

ou: Manager

description: Container for manager entries

??

dn: ou=User,dc=esrigz,dc=com

objectClass: top

objectClass: organizationalUnit

ou: User

description: User container

??

dn: uid=xinli,ou=Manager,dc=esrigz,dc=com

uid: xinli

objectClass: inetOrgPerson

labeledURI: http://www.esri.com

userPassword: esri

sn: li

cn: xinli li

??

dn: uid=yun,ou=Manager,dc=esrigz,dc=com

uid: yun

objectClass: inetOrgPerson

mail: yun@mail.com

labeledURI: http://www.esri.com

sn: xin

cn: yun xin

userPassword: esri

??

dn: uid=arcgis,ou=User,dc=esrigz,dc=com

objectClass: inetOrgPerson

uid: arcgis

userPassword: esri

labeledURI: http://www.esri.com

sn: esri

cn: arcgis esri

mail: arcgis@mail.com

(1)在ArcGIS Server Manager站点中配置使用LDAP存储用户

端口:OpenLDAP安装时设置的端口,默认是389。

基本DN:记录用户信息的目录服务器节点标识名。如上面用户信息存储在Manager和User角色下。这里只能填其中一个。

URL:系统自动获取。

RDN属性:相对标识名,用于标识用户名称。

管理员的DN:LDAP服务器管理员的DN。

(2)测试LDAP用户信息的读取

在manager中点击用户即可查看LDAP中的用户信息。

??

??

ArcGIS for Server安全与LDAP配置