Skip to main content

SAML 验证提供程序类型

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

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

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

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

SAML 构建基块在 Blackboard 和身份提供程序之间建立单一连接。您可以创建多个 SAML 验证提供程序条目来连接到多个身份验证提供程序。此外,SAML 并不能完全取代 Blackboard 登录工作流程。如果用户愿意,可以照常使用其凭据登录 Blackboard。

激活 SAML 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 不会更新,下次 我的 Blackboard 重新启动时,它将显示新证书。由于此不匹配,SAML 身份验证将中断。

    • 断言过期设置:在此部分中,您可以调整过期时间 (ResponseSkew)SAML 会话期限限制。如果您的 Blackboard 服务器与身份提供程序的服务器位于不同的时区,您可能需要编辑 ResponseSkew 值。时间差异可能会导致 SAML 断言在正确验证用户之前到期。SAML 会话在SAML 会话期限限制中的时间长度内过期。如果要允许会话永不过期,请选择不限制会话期限

    • 签名算法设置:选择满足您的安全需求或身份提供者要求的签名算法类型。选择签名算法类型后,重新启动 SAML Building Block 以应用新设置。

  5. 选择提交以保存更改。

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

  1. 选择创建提供程序按钮并选择 SAML 验证提供程序类型。

  2. 为提供程序键入名称和可选描述。

  3. 验证提供程序可用性设为活动

  4. 用户查找方法设为用户名批处理 UID

  5. 受主机名限制设为将此提供程序用于任何主机名

    • 如果需要,选择仅将此提供程序用于指定主机名。在后面的受限制的主机名字段中键入主机名。

  6. 链接文本字段中,键入链接的标题,因为您希望链接显示在 Blackboard 登录页面上。

  7. 如果需要,您还可以向登录页面添加图标。选择浏览,以上传登录页面的图标。

  8. 选择保存并配置以继续。

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

服务提供程序设置

  1. “断言使用者服务 URL”显示在 ACS URL 字段。身份验证提供程序可能会请求此 URL,以在自己那一端完成配置。

  2. 键入实体 ID 的名称。此 ID 将会填充至服务提供程序元数据

  3. 选中启用自动单点登录复选框以允许用户在已登录到受信任的身份提供商时绕过 Blackboard 登录屏幕。

  4. 单点注销服务类型部分提供三个复选框。如果 ADFS 是标识提供者,请选择发布允许 ADFS LogoutResponse。选择允许 ADFS 注销响应时,用户的身份提供程序会话将在用户注销 Blackboard 时结束。

  5. 为了设置受信任的连接,您需要与身份验证提供程序共享元数据。在服务提供程序元数据旁边选择生成按钮。

  6. 与身份验证提供程序共享元数据。在自己那一端保存元数据之后,受信任的连接就设置完毕了。

  7. 为此验证提供程序选择数据源。数据源是此验证提供程序配置的帐户源。默认值为内部。建议您创建与 SAML 验证提供程序一起使用的特定数据源。

  8. 兼容数据源列表中,选择应与此验证提供程序兼容的数据源。当验证提供程序包含与现有数据源共享的帐户时,这一操作非常重要。如果该用户存在且与未标记的数据源关联,则不会成功验证该用户。

  9. 选中相应复选框,让系统在未找到用户信息时自动为用户创建新帐户。

  10. 错误消息文本框中,您可以为用户提供自定义消息,以防 SAML 验证无法按预期运行。

身份提供程序设置

  1. 如果您选择单点身份验证提供程序,请上传对方与您共享的身份验证提供程序元数据文件。您可以选择输入身份验证提供程序的元数据 URL,但建议您上传元数据文件。系统只会保存其中一个元数据版本。

  2. 如果您选择身份联合,则系统会在您可以输入发现服务 URL 的位置显示一个字段。

注意

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

映射 SAML 属性

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

  2. 选择提交以保存信息。

机构角色

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

主要机构角色 (SAML)

Blackboard 机构角色

学生

学生

职员

职员

教师

教师

课程角色

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

课程成员 (SAML)

Blackboard 课程角色

学生

学生

教师

教师

内容开发人员

课程内容构建者

成员

学生

管理者

学生

管理员

学生

助教

助教

指导人

教师

多个属性值

如果您希望身份验证提供程序的响应包含属性的多个值,请按照以下方式格式化 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>

测试连接

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

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

故障排除

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

  • 如果错误发生在系统将您重定向到登录页面之前,则身份验证提供程序的元数据可能无效。

  • 如果错误发生在您登录到身份验证提供程序页面之后,则原因可能是:

    • 在服务提供程序与身份验证提供程序之间映射的属性不正确,或者身份验证提供程序未返回有效的“远程用户 ID”。

    • 来自身份验证提供程序的 SAML 响应未经过服务提供程序的验证。这可能是由以下情况导致的:

      • 身份验证提供程序使用未由有效证书颁发机构签发的证书对 SAML 响应签名,而且服务提供程序的密钥库不包含这个证书。

      • 服务提供程序的系统时钟不正确。

  • 若要查找有关错误的详细信息,请打开Bb-服务-log.txt文件或可视日志面板,并搜索关键字,例如 unsuccessfulAuthenticationBbSAMLExceptionHandleFilter

  • 您可以使用 Chrome 开发者控制台、SAML Tracer 插件 for FirefoxSAML Message Decoder for Firefox 来查找 SAML 响应。