本教程介绍了如何使用集成的 Windows 身份验证来确保 ArcGIS Web 服务的安全性。这需要在 Microsoft Windows Active Directory 服务器中管理用户和角色。如果希望 GIS 用户可以充分利用他们在网络中的已有的 Windows 域帐户,这不失为一种便捷的方法。
注:
如果您的 ArcGIS Server 站点与门户联合,则必须通过门户进行安全访问,而不是使用本主题中的步骤进行访问。有关详细信息,请参阅在门户中使用集成的 Windows 身份验证。
要使用集成的 Windows 身份验证,必须使用部署到 Microsoft 的 IIS Web 服务器的 ArcGIS Web Adaptor (IIS)。无法使用 ArcGIS Web Adaptor (Java Platform) 来执行集成的 Windows 身份验证。
如果登录设置拒绝登录用于托管活动目录的计算机,则在配置安全性时会遇到错误。无需对用户进行本地登录组策略设置。有关详细信息,请参阅使用域帐户时的高级注意事项。
要使用集成的 Windows 身份验证来确保 ArcGIS Web 服务的安全性,请执行以下步骤:
- 配置 ArcGIS Web Adaptor (IIS) 以使用 Windows 身份验证。
- 配置 ArcGIS Server 以使用 Windows Active Directory 用户和角色。
- 查看用户和角色。
- 为 Active Directory 用户配置管理员和发布者权限。
- 设置服务的权限。
- 对受保护的服务进行访问测试。
配置 ArcGIS Web Adaptor (IIS) 以使用 Windows 身份验证。
集成的 Windows 身份验证需要进行 Web 层身份验证,而此操作必须通过 ArcGIS Web Adaptor (IIS) 来完成。Web Adaptor 基于 IIS 进行用户身份验证,并为 Web Adaptor 提供用户的帐户名。获取帐户名称后,会将其传送至 ArcGIS Server。
- 按照安装 ArcGIS Web Adaptor (IIS) 中的说明安装 ArcGIS Web Adaptor (IIS)。
- 按照完成安装后配置 Web Adaptor 中的说明配置 Web Adaptor。
注:
配置 Web Adaptor 时,必须通过 Web Adaptor 启用管理。这使得 Windows Active Directory 中的用户能够通过 ArcGIS Desktop 来发布服务。具有这些角色的用户连接到 ArcGIS Desktop 中的服务器时,必须指定 Web Adaptor URL。
- 使用 IIS 管理器设置 Web Adaptor 的身份验证方法。
- 要打开 IIS 管理器,请单击开始 > 控制面板 > 管理工具 > Internet 信息服务管理器。
- 在站点下,展开 IIS 管理器左侧的树状列表。展开默认网站查找 ArcGIS Web Adaptor (IIS) 应用程序。默认情况下,ArcGIS Web Adaptor (IIS) 会命名为 arcgis。
- 编辑 Web Adaptor 的身份验证属性。取消选择匿名身份验证并选择 Windows 身份验证。
- 关闭 IIS 管理器。
配置 ArcGIS Server 安全性以使用 Windows Active Directory 用户和角色
要支持集成的 Windows 身份验证,请配置 ArcGIS Server 以从 Windows 活动目录服务器中检索用户和角色。
- 打开 Manager 并以主站点管理员的身份登录。必须使用主站点管理员帐户。如需此步骤的帮助,请参阅登录 Manager。
- 单击安全性 > 设置。
- 单击配置设置旁边的编辑按钮 。
- 在用户和角色管理页面中,选择现有企业系统(LDAP 或 Windows 域)中的用户和角色选项,然后单击下一步。
- 在企业存储类型页面中,选择 Windows 域选项,然后单击下一步。
- 在 Windows 域凭据页面中,输入有权确定用户所在组的帐户凭据。单击下一步。
注:
建议指定具有未过期密码的帐户。如果不可行,则需要在每次帐户密码更改时重复本部分中的步骤。
- 在身份验证层页面中,选择 Web 层。
- 查看所选内容的摘要信息。单击完成应用和保存安全性配置。
查看用户和角色
将 Windows Active Directory 域配置为用户和角色存储后,查看用户和角色以确保所检索的用户和角色正确无误。要添加、编辑或删除用户和角色,您需要使用活动目录服务器中所提供的工具。
- 在 Manager 中,单击安全性 > 用户。
- 验证是否已按预期从 Windows 域服务器中检索用户。如果 Active Directory 具有多个域,则将显示 GIS 服务器计算机所属域的用户。要查看其他域的用户,请在查找用户字段中输入搜索字符串[域名称]\,并单击搜索 按钮。
- 单击角色查看从 Windows 域服务器中检索的角色。如果 Active Directory 具有多个域,则将显示 GIS 服务器计算机所属域的角色。要查看其他域的角色,请在查找角色字段中输入搜索字符串[域名称]\,并单击搜索 按钮。
- 验证是否已按预期检索角色。
注:
对于 10.3.1 及更新版本,ArcGIS Web Adaptor (IIS) 具有配置活动目录身份验证相关选项的属性。请参阅 Web Adaptor (IIS) 帮助中的配置 ArcGIS Web Adaptor 内存缓存选项了解详情。
用户和角色缓存
从 ArcGIS 10.5 起,Active Directory 中的用户和角色将在发出用户或角色请求之后,在服务器上进行缓存。这会使安全服务性能得到优化。默认情况下,用户和角色将进行 30 分钟的缓存。可通过将 ArcGIS Server 管理员目录系统属性下的 minutesToCacheUserRoles 属性设置为其他值来修改此时间段。也可以将该属性设置为零,从而禁用缓存。
为活动目录用户配置管理员和发布者权限
出厂时,ArcGIS Server 仅允许主站点管理员访问服务器。如果要使用活动目录用户来管理 ArcGIS Server 或发布服务,请执行以下步骤。
- 在 ArcGIS Server Manager 中,单击安全性选项卡,然后打开用户页面。
- 使用查找用户工具定位您希望分配管理员或发布者权限的用户。查看该用户所属的角色,然后选择将分配管理员或发布者权限的角色。
- 打开角色页面,并使用查找角色工具定位在上一步中选择的角色。
- 单击角色旁的编辑按钮 。
- 对于角色类型参数,可选择发布者或管理员。
- 单击保存应用更改。
为 ArcGIS Web 服务设置权限
配置安全性设置并定义用户和角色后,可设置服务的权限来控制允许访问服务的用户。
ArcGIS Server 使用基于角色的访问控制模型对您的服务器上所托管的 GIS Web 服务的访问权限进行控制。在基于角色的访问控制模型中,访问受保护服务的权限将通过为该服务分配角色来控制。要使用某一受保护的服务,用户必须是已分配了该服务访问权限的角色中的成员。
权限可分配给一个单独的 Web 服务或包含一组服务的父文件夹。如果将权限分配给文件夹,则该文件夹内所包含的任何服务都将继承文件夹的权限。例如,如果授予某个角色访问站点(根)文件夹的权限,则属于该角色的所有用户都将拥有访问该站点上托管的所有服务的权限。若要自动覆盖服务从其父文件夹继承的权限,可以编辑该服务并明确移除继承的权限。
要设置服务的权限,请参阅在管理器中编辑权限。
注:
使用集成 Windows 身份验证浏览 ArcGIS Server Manager 时,登出链接将不再可见。这是因为运行 Web 浏览器的用户可通过操作系统自动登录。要以其他用户身份运行浏览器,可使用 Windows 运行方式命令选项。为此,请在“开始”菜单中找到程序快捷方式,按住 Shift 键,右键单击程序并选择以其他用户身份运行。
对受保护的服务进行访问测试
要测试设置,请标识有权访问包含您的服务的根(站点)文件夹的 Windows 域用户帐户。使用此用户帐户登录 Windows,打开 Web 浏览器并访问 ArcGIS Server WSDL:
http://webadaptorhost.domain.com/webadaptorname/services?wsdl
同样,还可查看服务目录以验证对受保护的服务的访问权限:
http://webadaptorhost.domain.com/webadaptorname/rest/services
注:
使用集成 Windows 身份验证浏览服务目录时,注销链接将不再可见。这是因为运行 Web 浏览器的用户可通过操作系统自动登录。要以其他用户身份运行浏览器,可使用 Windows 运行方式命令选项。为此,请在“开始”菜单中找到程序快捷方式,按住 Shift 键,右键单击程序并选择以其他用户身份运行。
要确定哪个 Windows 域用户有访问根文件夹的权限,请执行以下操作:
- 登录 Manager,然后单击服务。
- 单击站点(根)文件旁边的锁按钮 ,并标识被授予访问此文件夹的权限的角色。如果目前所有角色均无权访问,请单击添加角色 向至少一个角色授予访问权限。
- 对于具有根文件夹访问权限的角色,单击安全性 > 角色并单击编辑按钮 。
- 查看属于该角色成员的用户的列表。