可将 NetIQ Access Manager 3.2 和更高版本配置为 Portal for ArcGIS 中企业登录的身份提供者。配置过程包含两个主要步骤:将企业级身份提供者注册到 Portal for ArcGIS,以及将 Portal for ArcGIS 注册到企业级身份提供者。
此外,还可向门户提供有关标识存储中企业群组的元数据。此操作允许您在使用标识存储中的现有企业级群组的门户中创建群组。成员登录门户后,访问内容、项目和数据由企业群组中定义的成员规则控制。如果您未提供必要的企业群组元数据,仍可以创建组。然而,成员规则由 Portal for ArcGIS 而不是标识存储控制。
所需信息
当用户使用企业登录帐户进行登录时,Portal for ArcGIS 需要从身份提供者处接收某些属性信息。NameID 是强制属性,该属性必须由您的身份提供者在 SAML 响应中发送,才能使 Portal for ArcGIS 的联合身份验证起作用。IDP 中的用户登录时,Portal for ArcGIS 会在其用户存储中创建用户名为 NameID 的新用户。NameID 属性发送的值中允许使用的字符包括字母数字、_(下划线)、. (圆点)和 @(at 符号)。任何其他字符均会进行转义,从而在 Portal for ArcGIS 创建的用户名中包含下划线。
Portal for ArcGIS 支持企业登录的 givenName 和 email address 属性从企业级身份提供者流入。当用户使用企业登录帐户进行登录时,如果 Portal for ArcGIS 收到名为 givenname 和 email 或 mail 的属性(无论哪种),则 Portal for ArcGIS 将使用从身份提供者处接收的值来填充用户帐户的全称和电子邮件地址。建议您从企业级身份提供者传递 email address,以便用户能够接收通知。
将 NetIQ Access Manager 作为企业级身份提供者注册到 Portal for ArcGIS
- 以组织管理员的身份登录门户网站,然后单击我的组织 > 编辑设置 > 安全性。
- 在企业登录部分,单击设置身份提供者按钮,并在打开的窗口中输入组织名称(例如,City of Redlands)。当用户访问门户网站时,此文本将显示为 SAML 登录选项的一部分(例如,使用您的 City of Redlands 帐户)。
- 选择用户是否可以自动或在门户中添加帐户之后加入组织。选择第一个选项可以使用户通过其企业登录帐户登录组织,而不会受到管理员的任何干预。首次登录时,用户的帐户即会自动注册到该组织。第二个选项需要管理员使用命令行实用程序或 Python 脚本示例将必要的帐户注册到该组织。帐户注册完成后,用户即可登录组织。
提示:
建议您至少将一个企业帐户指定为门户的管理员并下移或删除初始管理员帐户。还建议您禁用门户网站中的创建帐户按钮和注册页面 (signup.html),这样用户便无法创建自己的帐户。有关完整说明,请参阅在门户中配置 SAML 兼容身份提供者。
- 配置适用的高级设置:
- 加密声明 - 如果 NetIQ Access Manager 将配置为加密 SAML 声明响应,请选择此选项。
- 启用签名请求 - 选择此选项可使 Portal for ArcGIS 对发送至 NetIQ Access Manager 的 SAML 身份验证请求进行签名。
- 注销 URL - 如果您已将 NetIQ Access Manager 配置为使用自定义注销 URL,则请更新此值。
- 实体 ID - 可更新此值以使用新的实体 ID,以便将您的门户唯一识别到 NetIQ Access Manager。
加密声明和启用签名请求设置将使用门户 keystore 中的证书 samlcert。要使用新证书,请删除 samlcert 证书,按照将证书导入到门户中的步骤创建一个具有相同别名的 (samlcert) 新证书,然后重新启动门户。
- 要为身份提供者提供元数据信息,可选择以下三个选项之一:
- URL - 如果 NetIQ Access Manager 联合身份验证元数据的 URL 可供 Portal for ArcGIS 访问,请选择此选项。 URL 通常是运行 NetIQ Access Manager 的计算机上的 http(s)://<host>:<port>/nidp/saml2/metadata。
注:
如果您的企业级身份提供者包含自签名证书,则可能在尝试指定元数据的 HTTPS URL 时遇到错误。出现此类错误的原因是 Portal for ArcGIS 不能验证身份提供者的自签名证书。此外,可使用 URL 中的 HTTP(以下选项中的另一选项),或为您的身份提供者配置受信任的证书。
- 文件 - 如果 Portal for ArcGIS 不能访问 URL,请将从上述 URL 中获取的元数据保存为 XML 文件并上传此文件。
- 参数 - 如果 URL 或文件无法访问,请选择此选项。手动输入值并提供所需参数:登录 URL 和证书。请联系 NetIQ Access Manager 管理员获取这些参数。
- URL - 如果 NetIQ Access Manager 联合身份验证元数据的 URL 可供 Portal for ArcGIS 访问,请选择此选项。 URL 通常是运行 NetIQ Access Manager 的计算机上的 http(s)://<host>:<port>/nidp/saml2/metadata。
- 此外,还可向门户提供有关标识存储中企业群组的元数据:
- 以组织管理员的身份登录到 ArcGIS Portal Directory。URL 格式为 https://webadaptor.domain.com/arcgis/portaladmin。
- 单击安全性 > 配置 > 更新标识存储。
- 将组配置 JSON 放置于组存储配置(JSON 格式)文本框中。
如果您的身份存储是 Windows Active Directory,请复制以下文本,然后对其进行更改,以使其包含您的站点指定的信息:
{ "type": "WINDOWS", "properties": { "isPasswordEncrypted": "false", "userPassword": "secret", "user": "mydomain\\winaccount" } }
大多数情况下,只需要更改 user 和 userPassword 参数值。尽管以明文形式输入密码,但在门户的配置目录中存储或查看密码时,其为加密形式。用于用户参数的帐户只需要具有在网络上查找 Windows 组的名称的权限。如果可以,请使用密码未过期的帐户。
如果您的身份存储是 LDAP,请复制以下文本,然后对其进行更改,以使其包含您的站点指定的信息:
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "uid=admin\,ou=system", "ldapURLForUsers": "ldap://bar2:10389/ou=users\,ou=ags\,dc=example\,dc=com", "ldapURLForRoles": "ldap://bar2:10389/dc=example,dc=com", "usernameAttribute": "cn", "caseSensitive": "false", "userSearchAttribute": "cn", "memberAttributeInRoles": "member", "rolenameAttribute":"cn" } }
大多数情况下,只需要更改 user、userPassword、ldapURLForUsers 和 ldapURLForUsers 参数的值。LDAP 的 URL 需要由 LDAP 管理员提供。用于用户参数的帐户需要具有在组织中查找组的名称的权限。尽管以明文形式输入密码,但在门户的配置目录中存储或查看密码时,其为加密形式。
如果将 LDAP 配置为不区分大小写,则将 caseSensitive 参数设为 "false"。
- 输入用户存储配置 JSON 后,单击更新配置以保存更改,然后重新启动门户。
将 Portal for ArcGIS 作为受信任服务提供者注册到 NetIQ Access Manager
- 配置属性集。
按照下列步骤创建新属性集,以便在验证用户身份后可将这些属性作为 SAML 声明的一部分发送到 Portal for ArcGIS。如果已在 NetIQ Access Manager 中配置现有属性集,也可使用该属性集。
- 登录到 NetIQ Access Manager 管理控制台。通常在 http(s)://<host>:<port>/nps 上提供。
- 浏览到 NetIQ 管理控制台中的 Identity Server 并单击共享设置选项卡。在属性集下,可看到已创建的所有属性集。单击新建,创建新属性集。在集名称中输入 Portal,然后单击下一步。
- 定义属性映射,并将其添加到在先前步骤中创建的属性集。
Portal for ArcGIS 支持企业登录的 givenName 和 email address 属性从企业级身份提供者流入。当用户使用企业登录帐户进行登录时,如果 Portal for ArcGIS 收到名为 givenname 和 email 或 mail 的属性(无论哪种),则 Portal for ArcGIS 将使用从身份提供者处接收的值来填充用户帐户的全称和电子邮件地址。
建议您将电子邮件地址从企业级身份提供者传递到 Portal for ArcGIS。 如果用户日后成为管理员,此操作将很有帮助。帐户中存在电子邮件地址的用户拥有接收所有管理活动的相关通知以及向其他用户发送加入组织的邀请的权利。
单击新建链接,添加任一新属性映射。下方的屏幕截图显示的是添加 givenName、email address 和 uid 的属性映射。可从身份验证源而非这些示例中选择任何属性。
单击创建属性集向导中的完成。这将创建名为 Portal 的新属性集。
- 按照下列步骤将 Portal for ArcGIS 作为 NetIQ Access Manager 的受信任提供者添加。
- 登录到 NetIQ 管理控制台、选择 Identity Server 并单击编辑链接。
常规选项卡打开。
- 单击 SAML 2.0 选项卡,然后单击新建 > 服务提供者。
服务提供者窗口就是将 Portal for ArcGIS 作为 NetIQ Access Manager 的受信任服务提供者添加的位置。
- 在创建受信任服务提供者向导中,单击元数据文本作为源,然后将 Portal for ArcGIS 组织的元数据粘贴到文本框中。
通过以下方法获取 Portal for ArcGIS 组织的元数据:以管理员身份登录到组织,然后依次单击编辑设置按钮、安全性选项卡和获取服务提供者按钮。 将元数据保存为 XML 文件。
单击下一步和完成,完成受信任服务提供者的添加。
- 登录到 NetIQ 管理控制台、选择 Identity Server 并单击编辑链接。
- 按照下列步骤对 Portal for ArcGIS 及 NetIQ Access Manager 联合属性进行配置。
- 在 SAML 2.0 选项卡中,单击服务提供者下的服务提供者链接。 将打开配置选项卡。单击元数据选项卡并验证 Portal for ArcGIS 组织的元数据是否正确。
- 单击配置选项卡,返回至配置的信任部分。如果您在将 NetIQ Access Manager 作为企业级身份提供者注册到 Portal for ArcGIS 时选择了高级设置加密声明,则请选择加密声明选项。
- 单击属性选项卡。
在此步骤中,添加在步骤 2.1 中所创建的集中的属性映射,这样 NetIQ Access Manager 便可在 SAML 声明中将属性发送至 Portal for ArcGIS。
选择上述步骤 2.1 中所定义的属性集。选择属性集后,在集中定义的属性将显示在可用框中。将 givenName 和 email 属性移动至通过身份验证发送框。
- 单击服务提供者的配置选项卡下的身份验证响应选项卡,然后对身份验证响应进行设置。
单击绑定下拉菜单中的提交。
在名称标识符列中,选中未指定旁边的复选框。
在默认值列中,选中未指定旁边的单选按钮。
在值列中,选择 Ldap 属性 uid。
注:
通过作为 NameID 发送的身份验证源,可对属性集中的任何其他唯一属性进行配置。此参数的值将用作组织中的用户名。
单击应用。
- 单击配置下的选项选项卡并选择用户身份验证合约(例如,用户名/密码 - 表格),然后单击应用。
- 浏览到 Identity Server 并单击更新全部链接,以便重新启动 NetIQ Access Manager。