在身份提供商中配置 SAML 单点登录
Verify使用 SAML 实现单点登录,以便应用程序能够基于由 执行的身份验证来验证其用户的身份。 用户将被重定向至 Verify 进行登录。 Verify 验证用户身份,通过 SAML 断言发送相关信息,并向服务提供商确认用户已获授权访问和使用该资源。
准备工作
- 您必须具有管理许可权,才能完成此任务。
- 请打开至少两个浏览器窗口以完成设置。 Verify 一个用于管理控制台,另一个用于目标应用程序的管理控制台。
- 以管理员身份登录管理控制台 IBM® Verify 。
- 使用您的管理员帐户登录到目标应用程序管理控制台。
- 您必须在 “常规 ”选项卡中设置应用程序实例的基本信息。 请参阅 “设置应用程序基本信息 ”。
关于此任务
Verify 可作为单点登录身份提供商或服务提供商。 在此任务中, Verify 是身份提供商 ,而目标应用程序是服务提供商。
如果您使用的是 “自定义应用程序 ”模板,请在继续操作前参阅 “自定义应用程序”部分。
配置 Verify 和 服务提供商 ,使其能够相互通信。 要启用 SAML 单点登录功能,您必须提供:
- Verify 与服务提供商提供的某些数据。
- Verify拥有来自.的某些数据的服务提供商。
如果服务提供商对其 SAML 身份验证请求进行了签名,您必须先在 ”页面中添加签名者证书。 请参阅 “管理证书”。
如果服务提供商除了内置属性外,还要求从 SAML 断言中获取其他属性,请 ”页面中添加所需的属性来源。 请参阅 “管理属性”。
/v1.0/saml/federations/{federationName}注意: 租户管理员可通过新的 API 端点,并持有
manageFederations 和 readFederations API 权限,查看和更新某些 SAML 联合配置。用于标识源的配置特性如下:
- clockSkew
- 验证收到的 SAML 断言
NotBefore和NotOnOrAfter时的容差(以秒计)。 - messageValidTime
- 验证接收到的 SAML 消息
IssueInstant时的容差(以秒计)。 - skipTargetUrlValidation
- 指示是否跳过 SAML 中的 targetURL 验证。
默认值为 false.
- allowedTargetUrls
- 指示 SAML 允许的目标 URL。
此配置属性的值是一个字符串数组。 每个数组元素都是一个 URL。 URL 主机名支持通配符。 例如,*.ibmcloud.com。
缺省情况下,该值为空。
- signatureAlgorithm
- 在签名过程中,算法会对 SAML AuthnRequest 消息进行数字签名,支持的值包括: RSA-SHA1、 RSA-SHA256、 RSA-SHA512、 ECDSA-SHA256、 ECDSA-SHA384、 ECDSA-SHA512。 如果为空,则采用默认值 RSA-SHA256。
- signingKeyLabel
- 在单点登录过程中,该证书用于对 SAML AuthnRequest 进行签名。 默认选择指的是您在“安全” >“证书 ”>“个人证书 ”中配置的默认个人证书。
- decryptionKeyLabel
- 如果在单点登录过程中收到的 SAML 响应消息中包含加密元素,请使用此证书对其进行解密。 您在 “安全” >“证书 ”>“个人证书 ”中配置的默认个人证书。
用于应用程序的配置特性如下:
- assertionSettings.assertionValidAfter
- 发出 SAML 断言时添加到
NotOnOrAfter的容差(以秒计)。 - assertionSettings.assertionValidBefore
- 发出 SAML 断言时添加到
NotBefore的容差(以秒计)。 - messageValidTime
- 验证接收到的 SAML 消息
IssueInstant时的容差(以秒计)。
用于身份源和应用程序的配置特性为:
- crlEnabled
- 检查证书撤销列表。 对于使用外部证书的所有功能执行检查。 如果您的配置不需要 CRL 检查,那么可以禁用该检查。 例如,如果使用内部认证中心 (CA),那么可能想要禁用 CRL 检查。 该crlEnabled该属性默认值为true.
- keySelectionCriteria
- 指定要用于签名、验证、加密或解密各种消息的密钥或证书。 如果存在多个密钥或证书,且其别名与指定别名的密钥或证书相同
SubjectDN,则此设置将决定使用其中哪一个。 请使用以下其中一种选择方法:- only.alias
- 选择具有指定别名的密钥或证书。 此方法为缺省值。
- longest.lifetime
- 对于签名,将使用具有最长可用生命周期的有效密钥。 对于验证,将根据生存期可用性对具有相同
SubjectDN的密钥进行排序。 按顺序尝试密钥,从具有最长生命周期可用性的密钥开始,直到验证成功为止。 - shortest.lifetime
- 对于签名,将使用具有最短可用生命周期的有效密钥。 对于验证,将根据生存期可用性对具有相同
SubjectDN的密钥进行排序。 按顺序尝试密钥,从具有最短生命周期可用性的密钥开始,直到验证成功为止。
- 数据类型:字符串
- 示例: only.alias
过程
后续操作
- 请向服务提供商提供完成 与服务提供商之间 Verify SAML 单点登录配置所需的信息 Verify 。 请参阅用户界面中提供的指示信息。
如果 SAML 应用程序配置了 “默认个人证书 ”作为签名证书 ,您可以从“验证” https://{tenantName}/v1.0/saml/federations/saml20ip/metadata页面下载 SAML 的元数据。 https://{tenantName}/v1.0/saml/federations/saml20ip/metadata?keyLabel={actualKeyLabel}如果 SAML 应用程序配置了非默认的个人证书 ,且将标签为 {actualKeyLabel} 的证书设为签名证书,您可以从...下载 SAML 元数据。
- 添加用户或组权利以允许访问已配置的应用程序。 请参阅“管理应用程序权限(由管理员或应用程序所有者执行)”。
- 在用户登录到已配置的应用程序时,强制实施双因子认证以便对用户增强安全控制。 请参阅 “配置身份验证因素 ”。