可将 Okta 配置为 Portal for ArcGIS 中企业登录帐户的身份提供者 (IDP)。配置过程包含两个主要步骤:将企业级 IDP 注册到 Portal for ArcGIS,以及将 Portal for ArcGIS 注册到企业级 IDP。
此外,还可向门户提供有关标识存储中企业群组的元数据。此操作允许您 在使用标识存储中的现有企业群组的门户中创建群组。成员登录门户后,访问内容、项目和数据由企业组中定义的成员规则控制。如果您未提供必要的企业群组元数据,仍可以创建组。然而,成员规则由 Portal for ArcGIS 而不是标识存储控制。
所需信息
当用户使用企业登录帐户进行登录时,Portal for ArcGIS 需要从 IDP 处接收某些属性信息。NameID 属性为强制属性,并且必须由您的 IDP 在 SAML 响应中发送,才能使 Portal for ArcGIS 的联合身份验证起作用。IDP 中的用户登录时,Portal for ArcGIS 会在其用户存储中创建用户名为 NameID 的新用户。NameID 属性发送的值中允许使用的字符包括字母数字、_(下划线)、. (圆点)和 @(at 符号)。任何其他字符均会进行转义,从而在 Portal for ArcGIS 创建的用户名中包含下划线。
Portal for ArcGIS 支持企业登录帐户的 givenName 和 email address 属性从企业级 IDP 流入。当用户使用企业登录帐户进行登录时,如果 Portal for ArcGIS 收到名为 givenname 和 email 或 mail 的属性(无论哪种),则 Portal for ArcGIS 将使用从 IDP 处接收的值来填充用户帐户的全称和电子邮件地址。建议您从企业级 IDP 传递 email address,以便用户能够接收通知。
将 Okta 作为企业级 IDP 注册到 Portal for ArcGIS
- 以组织管理员的身份登录门户网站,并单击我的组织 > 编辑设置 > 安全性。
- 在通过 SAML 设置企业登录帐户部分,单击设置身份提供者按钮,并在随即出现的窗口中输入组织名称(例如,City of Redlands)。当用户访问门户网站时,此文本将显示为 SAML 登录选项的一部分(例如,Using your City of Redlands account)。
注:
您可以仅为门户注册一个企业级 IDP。
- 选择用户是否可以自动或在门户中添加帐户之后加入组织。选择第一个选项可以使用户通过其企业登录帐户登录组织,而不会受到管理员的任何干预。首次登录时,用户的帐户即会自动注册到该组织。第二个选项需要管理员使用命令行实用程序或 Python 脚本示例将必要的帐户注册到该组织。帐户注册完成后,用户即可登录组织。
提示:
建议您至少将一个企业帐户指定为门户的管理员并下移或删除初始管理员帐户。还建议您禁用门户网站中的创建帐户按钮和注册页面 (signup.html),这样用户便无法创建自己的帐户。有关完整说明,请参阅在门户中配置 SAML 兼容身份提供者。
- 要为 IDP 提供元数据信息,可选择以下选项之一:
- 文件 - 从 Okta 下载或获取联合身份验证元数据文件的副本,并使用文件选项将该文件上传至 Portal for ArcGIS。
注:
如果这是您第一次使用 Okta 注册服务提供商,则在将 Portal for ArcGIS 注册到 Okta 后,您将需要获取元数据文件。 - 参数 - 如果联合身份验证元数据文件无法访问,请选择此选项。手动输入值并提供所需参数:登录 URL 和证书。请联系 Okta 管理员获取这些参数。
- 文件 - 从 Okta 下载或获取联合身份验证元数据文件的副本,并使用文件选项将该文件上传至 Portal for ArcGIS。
- 配置适用的高级设置:
- 加密声明 - 选择此选项可对 Okta 的 SAML 声明响应进行加密。
- 启用签名请求 - 选择此选项可使 Portal for ArcGIS 对发送至 Okta 的 SAML 身份验证请求进行签名。
- 向身份提供者传递注销 - 选择此选项可使 Portal for ArcGIS 使用注销 URL 注销 Okta 中的用户。输入将在注销 URL 设置中使用的 URL。如果 IDP 需要对注销 URL 签名,则需选中启用签名请求。
- 注销 URL - 用于注销当前登录用户 IDP URL。
- 实体 ID - 可更新此值以使用新的实体 ID,以便将您的门户唯一识别到 Okta。
加密声明和启用签名请求设置将使用门户 keystore 中的证书 samlcert。要使用新证书,请删除 samlcert 证书,按照将证书导入到门户中的步骤创建一个具有相同别名的 (samlcert) 新证书,然后重新启动门户。
- 完成后,单击更新身份提供者。
- 单击获取服务提供者以下载门户的元数据文件。该文件中的信息将用于将门户作为受信任服务提供者注册到 Okta。
- 此外,还可向门户提供有关标识存储中企业群组的元数据:
- 以组织管理员的身份登录到 ArcGIS Portal Directory。URL 格式为 https://webadaptorhost.domain.com/webadaptorname/portaladmin。
- 单击安全性 > 配置 > 更新标识存储。
- 将组配置 JSON 放置于组存储配置(JSON 格式)文本框中。
如果您的身份存储是 Windows Active Directory,请复制以下文本,然后对其进行更改,以使其包含您的站点指定的信息:
{ "type": "WINDOWS", "properties": { "isPasswordEncrypted": "false", "userPassword": "secret", "user": "mydomain\\winaccount" } }
大多数情况下,只需要更改 user 和 userPassword 参数的值。尽管以明文形式输入密码,但在门户的配置目录中存储或查看密码时,其为加密形式。用于 user 参数的帐户只需要具有在网络上查找 Windows 组的名称的权限。如果可以,请使用密码未过期的帐户。
如果您的身份存储是 LDAP,请复制以下文本,然后对其进行更改,以使其包含您的站点指定的信息:
{ "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": "cn", "caseSensitive": "false", "userSearchAttribute": "cn", "memberAttributeInRoles": "member", "rolenameAttribute":"cn" } }
大多数情况下,只需要更改 user、userPassword、ldapURLForUsers 和 ldapURLForRoles 参数值。LDAP 的 URL 需要由 LDAP 管理员提供。
在上述示例中,LDAP URL 指的是特定 OU (ou=users) 中的用户。如果用户存在于多个 OU 中,则 LDAP URL 可指向较高级别的 OU,甚至是根级别(如有需要)。在这种情况下,URL 如下所示:
"ldapURLForUsers": "ldaps://bar2:10636/dc=example,dc=com",
用于用户参数的帐户需要具有在组织中查找组的名称的权限。尽管以明文形式输入密码,但在门户的配置目录中存储或查看密码时,其为加密形式。
如果将 LDAP 配置为区分大小写,则将 caseSensitive 参数设为 false。
- 输入用户存储配置 JSON 后,单击更新配置以保存更改,然后重新启动门户。
将 Portal for ArcGIS 作为受信任服务提供者注册到 Okta
- 以具有管理权限的成员身份登录到 Okta 组织。
- 在“应用程序”选项卡上,单击添加应用程序按钮。
- 单击新建应用程序,然后选择 SAML 2.0 选项。单击创建。
- 在常规设置中,输入门户部署的应用程序名称,然后单击下一步。
- 在配置 SAML 选项卡中,进行以下操作:
- 输入单点登录 URL 的值,例如 https://portalhostname.domain.com/portalcontext/sharing/rest/oauth2/saml/signin。此值可从服务提供者元数据文件中复制,该文件需从您的门户下载。
- 为受众 URI 输入值。将默认值设为 portalhostname.domain.com.portalcontext。此值可从服务提供者元数据文件中复制,该文件需从您的门户下载。
- 将名称 ID 格式保留为未指定。
- 在高级设置下,将声明签名选项更改为无符号。
- 在属性语句部分中,添加以下属性语句:
givenName 设置为 user.firstName + " " + user.lastName
email 设置为 user.email
- 单击下一步并单击完成。
- 您现在将看到新创建的 SAML 应用程序的“登录”部分。要获得 Okta IDP 元数据,请单击登录选项卡,然后单击身份提供者元数据链接。
- 右键单击用户选项卡,并配置将具备您门户访问权限的、经 Okta 验证的用户。