当使用轻量级目录访问协议 (LDAP) 验证用户身份时,可使用公钥基础设施 (PKI) 安全访问门户。
要使用 LDAP 和 PKI,必须通过部署到 Java 应用程序服务器的 ArcGIS Web Adaptor(Java 平台)设置基于 PKI 的客户端证书身份验证。无法使用 ArcGIS Web Adaptor (IIS) 按照 LDAP 执行基于 PKI 的客户端证书身份验证。如果您尚未执行此操作,请通过门户安装并配置 ArcGIS Web Adaptor(Java 平台)。
注:
如果您要将 ArcGIS Server 站点添加到您的门户中,并且希望在服务器上使用 LDAP 和 PKI,那么在将其添加到门户前,您需要在 ArcGIS Server 站点上禁用基于 PKI 的客户端证书身份验证,并启用匿名访问。虽然这听起来可能有悖常理,但是必须执行此操作才能使站点自由地与门户联合并读取门户中的用户和角色。如果您的 ArcGIS Server 站点尚未使用基于 PKI 的客户端证书身份验证,则无需执行任何操作。有关如何将服务器添加到门户的说明,请参阅联合 ArcGIS Server 站点与门户。
使用 LDAP 配置门户
默认情况下,Portal for ArcGIS 将对所有通信强制执行 HTTPS。如果您之前已将此选项更改为允许 HTTP 和 HTTPS 通信,则需要按照以下步骤重新配置门户,以使用仅 HTTPS 通信。
配置门户以对所有通信使用 HTTPS
- 以组织管理员的身份登录到门户网站。URL 格式为 https://webadaptorhost.domain.com/webadaptorname/home。
- 单击组织,再单击设置选项卡,然后单击页面左侧的安全性。
- 启用允许仅通过 HTTPS 访问门户。
更新门户的身份存储
然后,更新门户的身份存储以使用 LDAP 用户和群组。
- 以组织管理员的身份登录到 ArcGIS Portal Directory。URL 格式为 https://webadaptorhost.domain.com/webadaptorname/portaladmin。
- 单击安全性 > 配置 > 更新身份存储。
- 在用户存储配置(JSON 格式)文本框中,粘贴组织的 LDAP 用户配置信息(JSON 格式)。或者,您可以将下列示例更新为特定于组织的用户信息。
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "uid=admin,ou=system", "userFullnameAttribute": "cn", "userGivenNameAttribute": "givenName", "userSurnameAttribute": "sn", "ldapURLForUsers": "ldaps://bar2:10636/ou=users,ou=ags,dc=example,dc=com", "userEmailAttribute": "mail", "usernameAttribute": "uid", "caseSensitive": "false", "userSearchAttribute": "dn" } }
大多数情况下,只需要更改 user、userPassword、ldapURLForUsers 和 userSearchAttribute 参数值。userSearchAttribute 是 PKI 证书的 Subject 参数值。如果组织使用 PKI 证书中的其他属性,如电子邮件,则必须更新 userSearchAttribute 以与 PKI 证书中的 Subject 参数相匹配。LDAP 的 URL 需要由 LDAP 管理员提供。
在上述示例中,LDAP URL 指的是特定 OU (ou=users) 中的用户。如果用户存在于多个 OU 中,则 LDAP URL 可指向较高级别的 OU,甚至是根级别(如有需要)。在这种情况下,URL 如下所示:
"ldapURLForUsers": "ldaps://bar2:10636/dc=example,dc=com",
用于用户参数的帐户需要具有在组织中查看用户电子邮件地址和用户名的权限。尽管以明文形式输入密码,但在单击更新配置(下面)时将对其进行加密。
如果将 LDAP 配置为区分大小写,则将 caseSensitive 参数设为 true。
- 如果想要在使用身份存储中的现有企业组的门户中创建群组,请将组织的 LDAP 组配置信息(JSON 格式)粘贴到组存储配置(JSON 格式)文本框中,如下所示。或者,您可以将下列示例更新为特定于组织的群组信息。如果只想使用门户内置群组,请删除文本框中的所有信息,并跳过此步骤。
{ "type": "LDAP", "properties": { "userPassword": "secret", "isPasswordEncrypted": "false", "user": "uid=admin,ou=system", "ldapURLForUsers": "ldaps://bar2:10636/ou=users,ou=ags,dc=example,dc=com", "ldapURLForRoles": "ldaps://bar2:10636/dc=example,dc=com", "usernameAttribute": "uid", "caseSensitive": "false", "userSearchAttribute": "dn", "memberAttributeInRoles": "member", "rolenameAttribute":"cn" } }
大多数情况下,只需要更改 user、userPassword、ldapURLForUsers、ldapURLForUsers 和 userSearchAttribute 参数值。userSearchAttribute 是 PKI 证书的 Subject 参数值。如果组织使用 PKI 证书中的其他属性,如电子邮件,则必须更新 userSearchAttribute 以与 PKI 证书中的 Subject 参数相匹配。LDAP 的 URL 需要由 LDAP 管理员提供。
在上述示例中,LDAP URL 指的是特定 OU (ou=users) 中的用户。如果用户存在于多个 OU 中,则 LDAP URL 可指向较高级别的 OU,甚至是根级别(如有需要)。在这种情况下,URL 如下所示:
"ldapURLForUsers": "ldaps://bar2:10636/dc=example,dc=com",
用于用户参数的帐户需要具有在组织中查找组的名称的权限。尽管以明文形式输入密码,但在单击更新配置(下面)时将对其进行加密。
如果将 LDAP 配置为区分大小写,则将 caseSensitive 参数设为 true。
- 单击更新配置保存更改。
- 如果您已配置高可用性门户,请重新启动每台门户计算机。有关完整的说明,请参阅停止和启动门户。
将企业帐户添加到门户中
默认情况下,企业用户可以访问门户网站。然而,他们只能查看共享给组织中所有人的项目。这是因为企业帐户未添加到门户中,且未授予访问权限。
通过以下方法之一将帐户添加到门户中:
- Portal for ArcGIS 网站(逐一添加,通过 CSV 文件批量添加,或从现有的企业组添加)
- Python 脚本
- 命令行实用程序
- 自动
建议至少将一个企业帐户指定为门户管理员。为此,可在添加帐户时选择管理员角色。如果您拥有备选门户管理员帐户,可以将初始管理员帐户分配给用户角色或删除帐户。有关详细信息,请参阅关于初始管理员帐户。
添加帐户并完成以下步骤之后,用户将能够登录到组织并访问内容。
配置 ArcGIS Web Adaptor 以使用 PKI 身份验证
为门户安装并配置 ArcGIS Web Adaptor (Java Platform) 后,在 Java 应用程序服务器上配置 LDAP 域,并为 ArcGIS Web Adaptor 配置基于 PKI 的客户端认证身份验证。有关说明,请咨询您的系统管理员,或参阅 Java 应用程序服务器的产品文档。
验证是否可以使用 LDAP 和 PKI 访问门户
- 打开门户网站。URL 格式为 https://webadaptorhost.domain.com/webadaptorname/home。
- 验证是否收到安全凭据的提示并能够访问网站。
防止用户创建自己的内置帐户
您可以通过在组织设置的禁止用户创建新内置帐户来防止用户创建自己的内置帐户。