您可将 OpenAM 10.1.0 及更高版本配置为 SAML 中的 ArcGIS Enterprise 登录帐户的身份提供者 (IDP)。 配置过程包含两个主要步骤:将 SAML IDP 注册到 ArcGIS Enterprise,以及将 ArcGIS Enterprise 注册到 SAML IDP。
注:
要确保安全配置 SAML 登录帐户,请参阅 SAML 安全性最佳实践。
所需信息
当用户使用 SAML 登录帐户进行登录时,ArcGIS Enterprise 需要从 IDP 处接收某些属性信息。 NameID 属性为强制属性,并且必须由您的 IDP 在 SAML 响应中发送,才能使联合起作用。 由于 ArcGIS Enterprise 使用 NameID 的值唯一标识指定用户,因此建议使用常量值来唯一标识用户。 IDP 中的用户登录时,ArcGIS Enterprise 组织会在其用户存储中创建用户名为 NameID 的新用户。 NameID 发送的值中允许使用的字符包括字母数字、_(下划线)、.(点)和 @(at 符号)。 任何其他字符均会进行转义,从而在 ArcGIS Enterprise 创建的用户名中包含下划线。
ArcGIS Enterprise 支持用户的电子邮件地址、群组成员资格、名字以及姓氏从 SAML 身份提供者处流入。
将 OpenAM 作为 SAML IDP 注册到 ArcGIS Enterprise
- 确认您是否以组织管理员的身份登录。
- 单击站点顶部的组织,然后单击设置选项卡。
- 单击页面左侧的安全性。
- 在登录部分中,单击新建 SAML 登录帐户按钮,然后选择一位身份提供者选项。 在指定属性页面上,输入组织名称(例如,City of Redlands)。 当用户访问门户网站时,此文本将显示为 SAML 登录选项的一部分(例如,使用您的 City of Redlands 帐户)。
注:
您只能为门户注册一个 SAML IDP,或一个多 IDP 联合。
- 选择自动或应管理员的邀请来指定用户加入组织的方式。 选择第一个选项允许用户通过其 SAML 登录帐户登录组织,而不会受到管理员的任何干预。 首次登录时,用户的帐户即会自动注册到该组织。 第二个选项需要管理员使用命令行实用程序将必要的帐户注册到该组织。 帐户注册完成后,用户即可登录组织。
提示:
建议您至少将一个 SAML 帐户指定为门户的管理员并降级或删除初始管理员帐户。 还建议您禁用门户网站中的创建帐户按钮,这样用户便无法创建自己的帐户。 有关完整说明,请参阅在门户中配置 SAML 兼容身份提供者。
- 要为 IDP 提供元数据信息,可选择以下三个选项之一:
- URL - 如果 OpenAM 联合身份验证元数据的 URL 可供 ArcGIS Enterprise 访问,请选择此选项。 URL 通常是 https://<host>:<port>/openam/saml2/jsp/exportmetadata.jsp。
注:
如果您的 SAML IDP 包含自签名证书,则可能在尝试指定元数据的 HTTPS URL 时遇到错误。 出现此类错误的原因是 ArcGIS Enterprise 不能验证 IDP 的自签名证书。 此外,可使用 URL 中的 HTTP(以下选项中的另一选项),或为您的 IDP 配置受信任的证书。
- 文件 - 如果 ArcGIS Enterprise 无法访问 URL,请选择此选项。 从以上 URL 获取元数据,将其保存为 XML 文件,然后上传文件。
- 此处指定的参数 - 如果 URL 或联合身份验证元数据文件无法访问,请选择此选项。 手动输入值并提供所需参数:以 BASE 64 格式编码的登录 URL 和证书。 请联系 OpenAM 管理员获取这些参数。
- URL - 如果 OpenAM 联合身份验证元数据的 URL 可供 ArcGIS Enterprise 访问,请选择此选项。 URL 通常是 https://<host>:<port>/openam/saml2/jsp/exportmetadata.jsp。
- 配置适用的高级设置:
- 加密声明 - 如果 OpenAM 将配置为加密 SAML 声明响应,请启用此选项。
- 启用签名请求 - 启用此选项可使 ArcGIS Enterprise 对发送至 OpenAM 的 SAML 身份验证请求进行签名。
- 实体 ID - 可更新此值以使用新的实体 ID,以便将您的门户唯一识别到 OpenAM。
- 登录时更新个人资料 - 如果选中此选项,则 ArcGIS Enterprise 将更新用户的 givenName 和 email address 属性(如果自上次登录后已更改)。
- 启用基于 SAML 的群组成员资格 - 启用此选项允许组织成员在群组创建过程中将指定基于 SAML 的群组链接到 ArcGIS Enterprise 群组。
加密声明和启用签名请求设置将使用门户 keystore 中的证书 samlcert。 要使用新证书,请删除 samlcert 证书,按照将证书导入到门户中的步骤创建一个具有相同别名 (samlcert) 的证书,然后重新启动门户。
注:
目前,不支持向身份提供者传递注销和注销 URL。
- 单击保存。
将 ArcGIS Enterprise 作为受信任的服务提供者注册到 OpenAM
- 在 OpenAM 中配置托管 IDP。
- 登录到 OpenAM 管理控制台。 通常在 https://servername:port/<deploy_uri>/console 上提供。
- 在常见任务选项卡上,单击创建托管的身份提供者。
- 创建托管的 IDP,并将其添加到信任圈。 如果已具有信任圈,则可将其添加至现存信任圈,也可以创建新的信任圈。
- 默认情况下,托管的 IDP 使用 OpenDJ,即 OpenAM 随附的嵌入式用户存储。 如果要将 OpenAM 连接至诸如 Active Directory 等任何其他用户存储,则需要在主 OpenAM 管理控制台的访问控制选项卡上创建新数据源。
- 将 ArcGIS Enterprise 配置为 OpenAM 的受信任服务提供者。
- 获取您门户的元数据文件,并将其保存为 XML 文件。
要获取元数据文件,请以组织管理员身份登录,并打开组织页面。 单击设置选项卡,然后单击页面左侧的安全性。 在登录部分的 SAML 登录帐户下,单击下载服务提供者元数据按钮。
- 在 OpenAM 管理控制台的常见任务下,单击注册远程服务提供者。
- 为元数据选择文件选项,然后上传先前步骤中保存的元数据 XML 文件。
- 将此服务提供者添加至您的 IDP 所添加到的同一信任圈。
- 获取您门户的元数据文件,并将其保存为 XML 文件。
- 配置 NameID 格式以及 OpenAM 需要在对用户进行身份验证后发送至 ArcGIS Enterprise 的属性。
- 在 OpenAM 管理控制台中,单击联合身份验证选项卡。 该选项卡包含之前所添加的信任圈,以及服务提供者和 IDP。
- 在实体提供者下,单击 IDP。
- 在声明内容选项卡的名称 ID 格式下,验证 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 是否列于最上方。 这是 ArcGIS Enterprise 在向 OpenAM 发出 SAML 请求时所要求的 NameID 格式。
- 在名称 ID 值映射下,对用户配置文件中的属性(例如 mail 或 upn)进行映射,在对用户进行身份验证后,该属性将作为 NameID 返回到 ArcGIS Enterprise。
示例:urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified =upn
- 单击 IDP 中的声明处理选项卡。 在属性映射程序下,可对用户配置文件中想要发送至 ArcGIS Enterprise 的属性进行配置。
单击保存,保存 NameID 格式和属性内容更改。
- 在 OpenAM 管理控制台的联合选项卡上,浏览至实体提供者下的 ArcGIS Enterprise 服务提供者。
- 如果您在将 OpenAM 作为 SAML IDP 注册到 ArcGIS Enterprise 时选择了高级设置加密声明,请在声明内容选项卡上,选择加密下面的声明选项。
- 在名称 ID 格式下,验证 urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified 是否列于最上方。 这是 ArcGIS Enterprise 在向 OpenAM 发出 SAML 请求时所要求的 NameID 格式。。
- 单击 IDP 中的声明处理选项卡。 在属性映射程序下,对用户配置文件中要发送至 ArcGIS Enterprise 的属性进行配置。
- 单击保存,保存名称 ID 格式和属性内容更改。
- 重新启动部署了 OpenAM 的 web 服务器。