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,因为它已存在于您的系统中。
- 导航至“管理员面板”。
- 在集成下,选择 Building Block。
- 选择已安装的工具。
- 在列表中找到验证提供程序 - SAML 并将其状态设置为可用。
- 在管理员面板上的集成下,选择验证。
- 此时,SAML 会显示在“验证提供程序”页面的创建提供程序列表中。
配置设置
您可以配置设置来排除问题或确保 SAML 连接的安全性。
- 导航至“管理员面板”。
- 在集成下,选择 Building Block。
- 选择已安装的工具。
- 在列表中找到验证提供程序 - SAML。打开菜单并选择设置。其中提供以下选项:
- 重新生成证书:选择重新生成,以重新生成 SAML 证书。您可能需要重新生成证书才能确保连接的安全性,或者在证书已过期时需要重新生成。
重新生成证书后,您需要将服务提供程序元数据重新上传到身份验证提供程序。选择重新生成时,系统会提示您确认此步骤。
如果您在 B2 设置下生成新证书,则需要将 SAML B2 切换为非活动,然后返回活动以强制进行更改。之后,您可以返回到提供程序设置并生成新的元数据以导入到 IDP 中。如果您不切换设置,则在生成新的元数据时,可能仍会包含旧证书。IDP 不会更新,下次 Learn 重新启动时,它将显示新证书。由于此不匹配,SAML 身份验证将中断。
- 声明到期设置: 在本部分,您可以调整到期时间 (ResponseSkew) 和 SAML 会话时限。 如果 Blackboard Learn 服务器与身份验证提供程序服务器所在的时区不同,则您可能需要编辑 ResponseSkew 值。时间差异可能会导致 SAML 断言在正确验证用户之前到期。如果超过 SAML 会话时限所设置的时间,则 SAML 会话将会到期。 如果希望允许会话永不过期,请选择不限制会话时限。
- 签名算法设置:选择符合您安全需求的签名算法类型,或根据身份验证提供程序的要求进行选择。 选择签名算法类型后,重新启动 SAML Building Block 以应用新设置。
- 重新生成证书:选择重新生成,以重新生成 SAML 证书。您可能需要重新生成证书才能确保连接的安全性,或者在证书已过期时需要重新生成。
- 选择提交以保存更改。
创建和配置 SAML 验证提供程序
- 选择创建提供程序按钮并选择 SAML 验证提供程序类型。
- 为提供程序键入名称和可选描述。
- 将验证提供程序可用性设为活动。
- 将用户查找方法设为用户名或批处理 UID。
- 将受主机名限制设为将此提供程序用于任何主机名。
- 如果需要,选择仅将此提供程序用于指定主机名。在后面的受限制的主机名字段中键入主机名。
- 在链接文本字段中,键入您希望其显示在 Blackboard Learn 登录页面的链接标题。
- 如果需要,您还可以向登录页面添加图标。选择浏览,以上传登录页面的图标。
- 选择保存并配置以继续。
在“SAML 验证设置”页面,您可以设置服务提供程序和身份验证提供程序设置,以便建立受信任的连接。身份验证提供程序是用户帐户的第三方主机,而您的 Blackboard Learn 实例充当服务提供程序。
服务提供程序设置
- “断言使用者服务 URL”显示在 ACS URL 字段。身份验证提供程序可能会请求此 URL,以在自己那一端完成配置。
- 键入实体 ID 的名称。此 ID 将会填充至服务提供程序元数据。
- 选中启用自动 SSO 复选框,以允许用户在已经登录到受信任的身份验证提供程序时绕过 Blackboard Learn 登录屏幕。
- 单点注销服务类型部分提供三个复选框。 如果 ADFS 是身份验证提供程序,请选择发布和允许 ADFS LogoutResponse。 当选择允许 ADFS LogoutResponse 时,用户的身份验证提供程序会话在用户注销 Blackboard Learn 时结束。
- 为了设置受信任的连接,您需要与身份验证提供程序共享元数据。在服务提供程序元数据旁边选择生成按钮。
- 与身份验证提供程序共享元数据。在自己那一端保存元数据之后,受信任的连接就设置完毕了。
- 为此验证提供程序选择数据源。数据源是此验证提供程序配置的帐户源。默认值为内部。建议您创建与 SAML 验证提供程序一起使用的特定数据源。
此主题位于自托管和主机托管部分。完成后,使用浏览器的返回功能返回到本页面。
- 在兼容数据源列表中,选择应与此验证提供程序兼容的数据源。当验证提供程序包含与现有数据源共享的帐户时,这一操作非常重要。如果该用户存在且与未标记的数据源关联,则不会成功验证该用户。
- 选中相应复选框,让系统在未找到用户信息时自动为用户创建新帐户。
- 在错误消息文本框中,您可以为用户提供自定义消息,以防 SAML 验证无法按预期运行。
身份验证提供程序设置
- 如果您选择单点身份验证提供程序,请上传对方与您共享的身份验证提供程序元数据文件。您可以选择输入身份验证提供程序的元数据 URL,但建议您上传元数据文件。系统只会保存其中一个元数据版本。
- 如果您选择身份联合,则系统会在您可以输入发现服务 URL 的位置显示一个字段。
配置后,您还需要将服务提供程序元数据注册到联合社区,如 InCommon、UK Federation 等。
映射 SAML 属性
- 配置 SAML 属性,以便其根据身份验证提供程序的属性定义相应地进行映射。如果将属性留空,则 SAML Building Block 会在解析 SAML 响应时忽略该属性。
- 选择提交以保存信息。
机构角色
用户在 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 文件或可视化日志面板,然后搜索关键字,如 unsuccessfulAuthentication 或 BbSAMLExceptionHandleFilter
- .您可以使用 Chrome 开发者控制台、 适用于Firefox 的 SAML 跟踪器插件或适用于Firefox 的 SAML MessageDecoder ,查找SAML 响应。