您可以将 Active Directory Federation Services (AD FS) 操作系统中的 Microsoft Windows Server 配置为 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 身份提供者处流入。
将 AD FS 作为 SAML IDP 注册到门户
- 确认您是否以组织管理员的身份登录。
- 单击站点顶部的组织,然后单击设置选项卡。
- 单击页面左侧的安全性。
- 在登录部分中,单击新建 SAML 登录帐户按钮,然后选择一位身份提供者选项。 在指定属性页面上,输入组织名称(例如,City of Redlands)。 当用户访问门户网站时,此文本将显示为 SAML 登录选项的一部分(例如,使用您的 City of Redlands 帐户)。
注:
您只能为门户注册一个 SAML IDP,或一个多 IDP 联合。
- 选择自动或应管理员的邀请来指定用户加入组织的方式。 选择第一个选项允许用户通过其 SAML 登录帐户登录组织,而不会受到管理员的任何干预。 首次登录时,用户的帐户即会自动注册到该组织。 第二个选项需要管理员使用命令行实用程序将必要的帐户注册到该组织。 帐户注册完成后,用户即可登录组织。
提示:
建议您至少将一个 SAML 帐户指定为门户的管理员并降级或删除初始管理员帐户。 还建议您禁用门户网站中的创建帐户按钮,这样用户便无法创建自己的帐户。 有关完整说明,请参阅在门户中配置 SAML 兼容身份提供者。
- 要为 IDP 提供元数据信息,可选择以下选项之一:
- URL - 如果 AD FS 联合身份验证元数据的 URL 可供访问,请选择此选项并输入 URL(例如 https://<adfs-server>/federationmetadata/2007-06/federationmetadata.xml)。
注:
如果您的 SAML IDP 包含自签名证书,则可能在尝试指定元数据的 HTTPS URL 时遇到错误。 出现此类错误的原因是 ArcGIS Enterprise 不能验证 IDP 的自签名证书。 此外,可使用 URL 中的 HTTP(以下选项中的另一选项),或为您的 IDP 配置受信任的证书。
- 文件 - 如果无法访问 URL,请选择此选项。 从 AD FS 下载或获取联合身份验证元数据文件的副本,并使用文件选项将该文件上传至 ArcGIS Enterprise 门户。
- 此处指定的参数 - 如果 URL 或联合身份验证元数据文件无法访问,请选择此选项。 手动输入值并提供所需参数:以 BASE 64 格式编码的登录 URL 和证书。 请联系 AD FS 管理员获取这些参数。
- URL - 如果 AD FS 联合身份验证元数据的 URL 可供访问,请选择此选项并输入 URL(例如 https://<adfs-server>/federationmetadata/2007-06/federationmetadata.xml)。
- 配置适用的高级设置:
- 加密声明 - 启用此选项可对 AD FS SAML 声明响应进行加密。
- 启用签名请求 - 启用此选项可使 ArcGIS Enterprise 对发送至 AD FS 的 SAMLSAML 身份验证请求进行签名。
- 向身份提供者传递注销 - 启用此选项可使 ArcGIS Enterprise 使用注销 URL 注销 AD FS 中的用户。 输入将在注销 URL 设置中使用的 URL。 如果 IDP 需要对注销 URL 签名,则需打开启用签名请求。
注:
默认情况下,AD FS 需要使用 SHA-256 签名的注销请求,所以您需要启用启用签名请求切换按钮并选择使用 SHA256 签名。
- 登录时更新个人资料 - 如果选中此选项,则 ArcGIS Enterprise 将更新用户的 givenName 和 email address 属性(如果自上次登录后已更改)。
- 启用基于 SAML 的群组成员资格 - 启用此选项允许组织成员在群组创建过程中将指定基于 SAML 的群组链接到 ArcGIS Enterprise 群组。
- 注销 URL - 用于注销当前登录用户的 IDP URL。
- 实体 ID - 可更新此值以使用新的实体 ID,以便将您的门户唯一识别到 AD FS。
加密声明和启用签名请求设置将使用门户 keystore 中的证书 samlcert。 要使用新证书,请删除 samlcert 证书,按照将证书导入到门户中的步骤创建一个具有相同别名 (samlcert) 的证书,然后重新启动门户。
- 单击保存。
将门户作为受信任的服务提供者注册到 AD FS
- 打开 AD FS 管理控制台。
- 选择依赖方信任 > 添加依赖方信任。
- 在添加依赖方信任向导中,单击开始按钮。
- 对于选择数据源,可选择以下选项之一以获取依赖方相关数据:从 URL 导入、从文件导入或手动输入。
URL 和文件选项要求您从组织中获取元数据。 如果您无权访问元数据 URL 或文件,可以手动输入信息。 在某些情况下,手动输入数据可能是最轻松的选择。
- 导入在线发布或在本地网络上发布的依赖方相关数据
此选项使用 ArcGIS Enterprise 组织的 URL 元数据。 URL 为 https://organization.example.com/<context>/sharing/rest/portals/self/sp/metadata?token=<token>,例如:https://samltest.domain.com/arcgis/sharing/rest/portals/self/sp/metadata?token=G6943LMReKj_kqdAVrAiPbpRloAfE1fqp0eVAJ-IChQcV-kv3gW-gBAzWztBEdFY。 可使用 https://organization.example.com/<context>/sharing/rest/generateToken 生成令牌。 在生成令牌页面上输入 URL 后,指定 Webapp URL 字段中 AD FS 服务器的完全限定域名。 不支持选择任何其他选项(如 IP 地址或此请求源的 IP 地址),如若选择,则可能生成无效令牌。
- 从文件导入依赖方相关数据
此选项使用 ArcGIS Enterprise 组织中的 metadata.xml 文件。 可通过两种方式获得元数据 .xml 文件:
- 在组织页面上,单击设置选项卡,然后单击页面左侧的安全性。 在登录部分的 SAML 登录帐户下,单击下载服务提供者元数据按钮,为组织下载元数据文件。
- 打开 ArcGIS Enterprise 组织元数据的 URL,并将其作为 .xml 文件保存在您的计算机上。 URL 为 https://organization.example.com/<context>/sharing/rest/portals/self/sp/metadata?token=<token>,例如:https://samltest.domain.com/arcgis/sharing/rest/portals/self/sp/metadata?token=G6943LMReKj_kqdAVrAiPbpRloAfE1fqp0eVAJ-IChQcV-kv3gW-gBAzWztBEdFY。 可使用 https://organization.example.com/<context>/sharing/rest/generateToken 生成令牌。 在生成令牌页面上输入 URL 后,指定 Webapp URL 字段中 AD FS 服务器的完全限定域名。 不支持选择任何其他选项(如 IP 地址或此请求源的 IP 地址),如若选择,则可能生成无效令牌。
- 手动输入依赖方相关数据
如果选择此选项,添加依赖方信任向导将显示用于手动输入数据的附加窗口。 下面的步骤 6 到 8 中对此进行了描述。
- 导入在线发布或在本地网络上发布的依赖方相关数据
- 在指定显示名称中输入显示名称。
显示名称用于标识 AD FS 中的依赖方。 除此之外,没有任何意义。 将其设置为 ArcGIS 或 ArcGIS 中组织的名称,例如 ArcGIS—SamlTest。
提示:
如果您选择从 URL 或文件导入数据源,则继续执行步骤 9。
- (仅限手动数据源)对于选择配置文件,请选择适用于您的环境的 AD FS 配置文件。
- (仅限手动输入数据源)对于配置 URL,请选中启用对 SAML 2.0 WebSSO 协议的支持复选框,并输入依赖方 SAML 2.0 SSO 服务的 URL。
依赖方 URL 必须为 AD FS 在验证用户后发送 SAML 响应的 URL。 这必须是 HTTPS URL:https://organization.example.com/<context>/sharing/rest/oauth2/saml/signin。
- (仅限手动输入数据源)对于配置标识符,输入依赖方信任标识符的 URL。
这必须是 portal.domain.com.arcgis。
- 对于选择发放授权规则,选择允许所有用户访问此依赖方。
- 对于准备添加信任,检查依赖方的所有设置。
仅在选择从 URL 导入数据源时,才会填充元数据 URL。
提示:
如果启用了监控依赖方选项,AD FS 将定期检查联合身份验证元数据 URL,并将其与依赖方信任的当前状态进行比较。 但是,一旦联合身份验证元数据 URL 中的令牌过期,监控将失败。 失败将记录在 AD FS 事件日志中。 要抑制这些消息,建议您禁用监控或更新令牌。
- 单击下一步。
- 对于完成,选中单击关闭按钮后自动打开编辑声明规则对话框的复选框。
- 要设置声明规则,请打开编辑声明规则向导,然后单击添加规则。
- 对于选择规则模板步骤,为要创建的声明规则选择以声明形式发送 LDAP 属性模板。 单击下一步。
- 为了配置声明规则步骤,请按照以下说明编辑声明规则。
- 对于声明规则名称,提供规则名称,例如 DefaultClaims。
- 在属性存储中,选择 Active Directory。
- 对于 LDAP 属性到外向声明类型的映射,请从下拉菜单中选择值,以指定 LDAP 属性如何映射到从规则发出的外向声明类型。
请使用下表作为指导:
LDAP 属性 外向声明类型 包含唯一用户名的 LDAP 属性(例如 User-Principal-Name 或 SAM-Account-Name)
名称 ID 名字
给定名称 姓氏
姓氏
电子邮件地址
电子邮件地址 令牌群组 - 未限定名称
组
警告:
如果手动输入值而非从下拉菜单中选择值,则会创建用户定义的属性,并可能导致错误。 为了获得最佳结果,请使用下拉菜单指定值。
通过此声明,AD FS 会在对用户进行身份验证后将名称为 givenname、surname、email 和 group membership 的属性发送至 ArcGIS Enterprise。 然后,ArcGIS Enterprise 将使用 givenname、surname 和 email 属性中接收的值,并填充用户帐户的名字、姓氏和电子邮件地址。 群组属性中的值用于更新用户的群组成员资格。
注:
如果您在将 AD FS 注册为 SAML IDP 时选择了启用基于 SAML 的群组成员资格选项,每次用户成功登录后,都会从身份提供者处收到的 SAML 声明响应中获取每个用户的成员资格。 有关链接 SAML 群组的详细信息,请参阅创建群组。
- 单击完成,结束将 AD FS IDP 配置为将 ArcGIS Enterprise 作为依赖方包括在内的流程。