SaaS 管理员 - 相关信息就在眼前!
自托管和主机托管管理员 - 查看特定于托管部署的 SAML 信息

关于安全断言标记语言 (SAML)

安全断言标记语言 (SAML) 是一种基于 XML 的数据格式,可用于在不同系统之间对用户进行验证和授权。SAML 经常被用作单点登录 (SSO) 解决方案,包括用于 Blackboard Learn。经过正确安装和配置后,SAML 可允许 Blackboard Learn 用户使用自己在另一个机构或应用程序的用户名和密码来登录。SSO 通过提供对登录的无缝集成,为管理员和用户节省了时间。

用户信息以 SAML 断言形式在系统之间传递。身份验证提供程序是用户帐户的第三方主机,而您的 Blackboard Learn 实例充当服务提供程序。身份验证提供程序会发送 Blackboard Learn 用来为用户创建或更新帐户的属性。这些属性可以包含用户名、名字、姓氏和电子邮件地址等信息,被打包在安全令牌(如 SAML 断言)中。身份验证提供程序在用户使用单点登录输入登录信息时,将此 SAML 断言发送给 Blackboard Learn。如果用户名与系统中的所有用户名都不匹配,则 Blackboard Learn 会通过 SAML 断言中所含的用户属性创建新帐户。

SAML Building Block 简化了 SSO 的配置。在您激活 Building Block 后,新验证类型会显示在管理员面板 > 验证创建提供程序列表中,从而允许您适当地配置服务。

SAML Building Block 与 Blackboard Learn SaaS 和 Blackboard Learn 9.1 Q2 2016+ 绑定在一起。

SAML Building Block 可在 Blackboard Learn 与身份验证提供程序之间建立单向连接。您可以创建多个 SAML 验证提供程序条目来连接到多个身份验证提供程序。另外,SAML 不会完全取代 Blackboard Learn 登录工作流程。如果愿意,用户可以像往常一样使用凭证登录到 Blackboard Learn。


激活 SAML Building Block

如果您使用的是 SaaS 部署 Blackboard Learn,则无需安装 Building Block,因为它已存在于您的系统中。

  1. 导航至“管理员面板”。
  2. 在集成下,选择 Building Block
  3. 选择已安装的工具
  4. 列表中找到验证提供程序 - SAML 并将其状态设置为可用。
  5. 在管理员面板上的集成下,选择验证
  6. 此时,SAML 会显示在“验证提供程序”页面的创建提供程序列表中。

配置设置

您可以配置设置来排除问题或确保 SAML 连接的安全性。

  1. 导航至“管理员面板”。
  2. 集成下,选择 Building Block
  3. 选择已安装的工具
  4. 在列表中找到验证提供程序 - SAML。打开菜单并选择设置。其中提供以下选项:
    • 重新生成证书:选择重新生成,以重新生成 SAML 证书。您可能需要重新生成证书才能确保连接的安全性,或者在证书已过期时需要重新生成。

      重新生成证书后,您需要将服务提供程序元数据重新上传到身份验证提供程序。选择重新生成时,系统会提示您确认此步骤。

      如果您在 B2 设置下生成新证书,则需要将 SAML B2 切换为非活动,然后返回活动以强制进行更改。之后,您可以返回到提供程序设置并生成新的元数据以导入到 IDP 中。如果您不切换设置,则在生成新的元数据时,可能仍会包含旧证书。IDP 不会更新,下次 Learn 重新启动时,它将显示新证书。由于此不匹配,SAML 身份验证将中断。

    • 声明到期设置: 在本部分,您可以调整到期时间 (ResponseSkew)SAML 会话时限。   如果 Blackboard Learn 服务器与身份验证提供程序服务器所在的时区不同,则您可能需要编辑 ResponseSkew 值。时间差异可能会导致 SAML 断言在正确验证用户之前到期。如果超过 SAML 会话时限所设置的时间,则 SAML 会话将会到期。 如果希望允许会话永不过期,请选择不限制会话时限
    • 签名算法设置:选择符合您安全需求的签名算法类型,或根据身份验证提供程序的要求进行选择。  选择签名算法类型后,重新启动 SAML Building Block 以应用新设置。
  5. 选择提交以保存更改。

创建和配置 SAML 验证提供程序

  1. 选择创建提供程序按钮并选择 SAML 验证提供程序类型。
  2. 为提供程序键入名称和可选描述。
  3. 验证提供程序可用性设为活动
  4. 用户查找方法设为用户名批处理 UID
  5. 受主机名限制设为将此提供程序用于任何主机名
    • 如果需要,选择仅将此提供程序用于指定主机名。在后面的受限制的主机名字段中键入主机名。
  6. 链接文本字段中,键入您希望其显示在 Blackboard Learn 登录页面的链接标题。
  7. 如果需要,您还可以向登录页面添加图标。选择浏览,以上传登录页面的图标。
  8. 选择保存并配置以继续。

在“SAML 验证设置”页面,您可以设置服务提供程序和身份验证提供程序设置,以便建立受信任的连接。身份验证提供程序是用户帐户的第三方主机,而您的 Blackboard Learn 实例充当服务提供程序。

服务提供程序设置

  1. “断言使用者服务 URL”显示在 ACS URL 字段。身份验证提供程序可能会请求此 URL,以在自己那一端完成配置。
  2. 键入实体 ID 的名称。此 ID 将会填充至服务提供程序元数据
  3. 选中启用自动 SSO 复选框,以允许用户在已经登录到受信任的身份验证提供程序时绕过 Blackboard Learn 登录屏幕。
  4. 单点注销服务类型部分提供三个复选框。 如果 ADFS 是身份验证提供程序,请选择发布允许 ADFS LogoutResponse。   当选择允许 ADFS LogoutResponse 时,用户的身份验证提供程序会话在用户注销 Blackboard Learn 时结束。
  5. 为了设置受信任的连接,您需要与身份验证提供程序共享元数据。在服务提供程序元数据旁边选择生成按钮。
  6. 与身份验证提供程序共享元数据。在自己那一端保存元数据之后,受信任的连接就设置完毕了。
  7. 为此验证提供程序选择数据源。数据源是此验证提供程序配置的帐户源。默认值为内部。建议您创建与 SAML 验证提供程序一起使用的特定数据源。

    详细了解数据源

    此主题位于自托管和主机托管部分。完成后,使用浏览器的返回功能返回到本页面。

  8. 兼容数据源列表中,选择应与此验证提供程序兼容的数据源。当验证提供程序包含与现有数据源共享的帐户时,这一操作非常重要。如果该用户存在且与未标记的数据源关联,则不会成功验证该用户。
  9. 选中相应复选框,让系统在未找到用户信息时自动为用户创建新帐户。
  10. 错误消息文本框中,您可以为用户提供自定义消息,以防 SAML 验证无法按预期运行。

身份验证提供程序设置

  1. 如果您选择单点身份验证提供程序,请上传对方与您共享的身份验证提供程序元数据文件。您可以选择输入身份验证提供程序的元数据 URL,但建议您上传元数据文件。系统只会保存其中一个元数据版本。
  2. 如果您选择身份联合,则系统会在您可以输入发现服务 URL 的位置显示一个字段。

配置后,您还需要将服务提供程序元数据注册到联合社区,如 InCommon、UK Federation 等。

映射 SAML 属性

  1. 配置 SAML 属性,以便其根据身份验证提供程序的属性定义相应地进行映射。如果将属性留空,则 SAML Building Block 会在解析 SAML 响应时忽略该属性。
  2. 选择提交以保存信息。

机构角色

用户在 Blackboard Learn 系统中的机构角色根据从身份验证提供程序收到的信息来确定。角色的映射如下所示:

主要机构角色 (SAML) Blackboard Learn 机构角色
学生 学生
职员 职员
教师 教师

课程角色

用户在课程中的角色根据从身份验证提供程序收到的信息来确定。角色的映射如下所示:

课程成员 (SAML) Blackboard Learn 课程角色
学生 学生
教师 教师
内容开发人员 课程内容构建者
成员 学生
管理者 学生
管理员 学生
助教 助教
指导人 教师

多个属性值

如果您希望身份验证提供程序的响应包含属性的多个值,请按照以下方式格式化 SAML 响应。

<saml2:Attribute FriendlyName="bbuasqa3_cm" Name="urn:oid:1.3.6.1.4.1.5923.1.6.1.2" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri">
<saml2:AttributeValue>Learner@batchUid:TEST_COURSE_003
</saml2:AttributeValue>
<saml2:AttributeValue>Learner@batchUid:TEST_COURSE_004
</saml2:AttributeValue>
</saml2:Attribute>


测试连接

测试连接,以确保其正常运行。从 Learn 注销并使用 SAML 链接重新登录。键入要登录的外部站点的帐户凭证。您将在成功登录后转回 Blackboard Learn。

注销 Blackboard Learn,系统会显示一条消息,询问您是要结束所有相关会话还是继续。如果您不做任何操作,系统将在两分钟后结束所有会话。如果要继续会话,为了安全起见,您需要重新登录。

故障排除

如果您或您的用户遇到了错误,请参阅以下故障排除提示。

  • 如果错误发生在系统将您重定向到登录页面之前,则身份验证提供程序的元数据可能无效。
  • 如果错误发生在您登录到身份验证提供程序页面之后,则原因可能是:
    • 在服务提供程序与身份验证提供程序之间映射的属性不正确,或者身份验证提供程序未返回有效的“远程用户 ID”。
    • 来自身份验证提供程序的 SAML 响应未经过服务提供程序的验证。这可能是由以下情况导致的:
      • 身份验证提供程序使用未由有效证书颁发机构签发的证书对 SAML 响应签名,而且服务提供程序的密钥库不包含这个证书。
      • 服务提供程序的系统时钟不正确。
  • 要查找有关错误的更多信息,请打开 bb-services-log.txt 文件或可视化日志面板,然后搜索关键字,如 unsuccessfulAuthenticationBbSAMLExceptionHandleFilter
  • .您可以使用 Chrome 开发者控制台、 适用于Firefox 的 SAML 跟踪器插件或适用于Firefox 的 SAML MessageDecoder ,查找SAML 响应。