1 常见用户需求
在发布和使用GIS服务的过程中,经常会遇到如下的一些需求:
1) 凡是内网的员工,都可以访问服务A
2) 服务B只能由张三、李四访问
3) 只要是信息所的用户,就可以访问服务C
4) 项目1涉及的全部服务,王五都可以访问
5) 小赵也可以参与安全管理
6) 小马主要负责发布服务
7) ……
这是最基本的一些服务安全控制需求,针对这些需求,ArcGIS提供了完整的解决方案—基于角色的访问控制体系。
2 基于角色的访问控制体系
2.1 角色
在访问设置了权限控制的服务时,我们只需要提供用户名密码,ArcGIS Server将找到其对应的角色,验证该角色是否对服务资源具备访问权限。2.1.1 User
即最普通的用户角色,能够访问已被授权访问的服务,通常在应用程序中使用该类角色。2.1.2 Publisher
10.1中新增的角色类型,能够访问所有的服务,发布新服务,管理已有的服务。此外还能够查看日志、创建缓存,部署/卸载SOEs,也可以查看用户、角色信息和存储配置。具体权限如下表: Publisher能做的 | Publisher不能做的 |
创建和删除文件夹 | 编辑配置存储路径 |
查看、发布、删除服务 | 浏览、创建和编辑集群 |
启动、停止和编辑服务 | 添加或移除站点中的机器 |
设置权限规则,限制谁可以访问服务 | 启动或停止站点中机器 |
部署和卸载SOEs | 注册和反注册服务器目录 |
查看安全配置设置(例如角色存储类型) | 编辑安全配置设置 |
查看可选的用户及其所属角色 | 添加和移除用户 |
查看角色及其具备的权限,和包含的用户 | 添加和移除角色 |
浏览和查询日志 | 从角色中删除用户 |
创建KML网络链接 | 为角色授予权限或收回授权 |
查看软件授权信息 | 编辑站点主管理员账户 |
注册数据存储 | 编辑日志设置 |
2.1.3 Administrator
即Server最高管理员,拥有不受限制的完整权限,考虑到系统安全,应尽量减少这里角色的用户,并务必谨慎使用。2.2 用户
用户必须属于某类角色,ArcGIS Server默认只有一个账户,即主站点管理员。在实际应用中,需要根据部门资源分配情况,以及项目管理情况来划分用户。通常Administrator账户只有一两个,Publisher可根据需要适当设置几个,但也不宜太多;User账户则可根据实际情况进行设置,没有数量的限制。2.3 权限
权限是赋予给角色对资源的访问能力,权限设置可以对ArcGIS Server服务,也可以对服务文件夹进行设置。如果对文件夹设置权限,则文件夹中的服务自动继承权限;如果是对文件夹中的服务设置权限,则将覆盖从文件夹中继承的权限。3 案例效果
3.1 创建角色、用户
本例创建了多个User类型的角色,用于表示Esri中国各地分公司,如esrisw表示Esri中国西南分公司。
然后为每个角色创建了相应的用户,例如为esrisw创建了chengdu和chongqing两个用户。

3.2 为角色授予访问权限
为角色授予访问权限,例如本例中,授权esrisw角色访问sw服务目录,则chegndu和chongqing用户就可以访问其中的sw_cities和sw_provinces服务了。

3.3 匿名用户登录
以匿名用户登录,将看不到sw服务目录。
3.4 授权用户登录
以授权用户(如chegndu)登录,将可以看到sw服务目录,并可查看其中的服务。


3.5 未授权用户登录
以未授权用户(如beijing)登录,也不能看见sw服务目录。