本主题提供了相关说明,用于通过 Active Directory 联合身份验证服务 (ADFS) 在 Blackboard Learn 实例上将 SAML 验证设置为身份验证提供程序。您的 Blackboard Learn 环境充当服务提供程序 (SP)。虽然以下步骤在 Windows Server 2012 R2 上使用 ADFS 3.0 版本,但其也适用于 ADFS 2.0。
Learn 服务提供程序
- 以管理员身份登录到 Blackboard Learn 并导航到系统管理员 > 验证。
- 依次选择创建提供程序 > SAML。
- 输入以下设置:
- 名称 > 键入 ADFS SAML 或所需的任何内容。
- 验证提供程序 > 设为非活动。
- 用户查找方法 > 用户名
- 受主机名限制 > 将此提供程序用于任何主机名。
- 链接文本 > 键入 ADFS 登录或所需的任何内容。
- 选择保存并配置。
- 在实体 ID 字段,确保其中的值与 ACS URL 相同。
- 选择启用自动 SSO单点注销服务类型发布和允许 ADFS LogoutResponse将重定向保持取消选中状态。
- 在服务提供程序元数据下方,选择生成,然后将 XML 文件保存到您的桌面。
- 如果您使用的是 JIT,建议为这个名为 SAML 的提供程序新建一个 数据源,否则,使用 SYSTEM 或您所选的任何内容。
- 选中启用 JIT 配置复选框,以允许系统在未知用户试图通过此 SAML 验证提供程序登录时自动创建帐户。如果未选中此框,则首先需要在 Blackboard Learn 中手动创建用户帐户。
- 在兼容数据源列表中,务必选择应与此验证提供程序兼容的数据源。
- 为身份验证提供程序类型选择单点身份验证提供程序。
- 对于身份验证提供程序元数据,请选择元数据 URL 并将 URL 设置为您的 ADFS 元数据 URL 之一。 https://[adfs server hostname]/FederationMetadata/2001-03/FederationMetadata.xml and select Validate.
ADFS 服务器理想情况下需要商业证书。如果使用的是自签名证书,则验证会失败。您需要下载 FederationMetadata.xml 文件并使用元数据文件选项。
- 选择提交。
ADFS 身份验证提供程序
- 在 ADFS 服务器上,访问 ADFS 管理控制台。
- 导航到信任关系 > 信赖方信任 > 添加信赖方信任。
- 在添加信赖方信任向导页面上选择开始。
- 选择从文件导入有关信赖方的数据。
- 选择浏览,然后上传在 Learn SP 部分第 6 步创建的文件。选择下一步。
- 输入显示名称(如 yourlearnserver.blackboard.com)并选择下一步。
- 选择我不想配置多重身份验证设置…,然后选择下一步。
- 选择允许所有用户访问此信赖方并选择下一步。
- 选择准备好添加信任这一步骤中的下一步,然后在完成步骤中选择关闭。
- 创建完信赖方信任之后,如果最后一个复选框被选中,则其应该会打开编辑声明规则。否则,右键单击信赖方信任并选择编辑声明。
为信赖方信任添加声明规则
以声明方式发送属性
为信赖方信任添加声明规则会以声明方式将 LDAP 属性从 ADFS 服务器发送到 Blackboard Learn。在 ADFS 管理控制台中,右键单击“信赖方信任”。
发送用户名
- 在颁发转换规则标签上,选择添加规则。
- 在选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步。
- 在配置规则页面的声明规则名称框中,键入将用户名转换为 NameID。
- 在特性存储下拉列表中,选择 Active Directory。
- 在左侧的映射框中,选择 SAM-Account-Name 或公司。
- 在右侧的映射框中,键入 SamAccountName,然后选择完成。
“名称 ID”属性的长度需至少为 6 个字符
发送名字和姓氏(可选)
如果 Blackboard Learn SAML 验证设置页面上的 JIT 配置选项处于选中状态,也就是说,用户帐户会在不存在时在 Blackboard Learn 中创建,则通过映射相应的属性,名字和姓氏 LDAP 属性也可以从 ADFS 发送到 Blackboard Learn。
- 在颁发转换规则标签上,选择添加规则。
- 在选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步。
- 在配置规则页面的声明规则名称框中,键入发送名字。
- 在特性存储下拉列表中,选择 Active Directory。
- 在左侧的映射框中,选择 Given-Name。
- 在右侧的映射框中,键入 urn:oid:2.5.4.42,然后选择完成。
- 在颁发转换规则标签上,选择添加规则。
- 在选择规则模板页面上,将以声明方式发送 LDAP 特性选为声明规则模板,然后选择下一步。
- 在配置规则页面的“声明规则名称”框中,键入发送姓氏。
- 在特性存储下拉列表中,选择 Active Directory。
- 在左侧的映射框中,选择姓氏。
- 在右侧的映射框中,键入 urn:oid:2.5.4.4,然后选择完成。
转换传入声明
- 选择添加规则。
- 在选择规则模板页面上,为声明规则模板选择转换传入声明,然后选择下一步。
- 在配置规则页面的声明规则名称框中,键入将电子邮件转换为名称 ID。
- 传入声明类型应该为 SamAccountName。它必须与在之前规则中创建的传出声明类型匹配。
- 传出声明类型为名称 ID。
- 传出名称 ID 格式为未指定。
- 确认已选择传递所有声明值,然后选择完成。
- 选择确定以保存规则,再选择一次确定以完成属性映射。
示例属性语句
为信赖方信任添加上文所述的所有声明规则后,规则会显示在颁发转换规则标签中。
主题和 AttributeStatement 元素(类似于下文)会在用户经过验证后通过 SAML POST 从 ADFS 发送到 Blackboard Learn:
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified ">luke.skywalker</NameID>
[SNIP]
</Subject>
<AttributeStatement>
<Attribute Name="SamAccountName">
<AttributeValue>luke.skywalker</AttributeValue>
</Attribute>
<Attribute Name="urn:oid:2.5.4.42">
<AttributeValue>Luke</AttributeValue>
</Attribute>
<Attribute Name="urn:oid:2.5.4.4">
<AttributeValue>Skywalker</AttributeValue>
</Attribute>
</AttributeStatement>
如果来自 IdP 的属性在 SAML 响应中未经过加密,则 Firefox 浏览器 SAML 跟踪器附加组件或 Chrome SAML Message Decoder 可用于查看此类属性(即从 IdP 发出并在验证过程中发送给 Blackboard Learn)。
将 SAML 验证提供程序设为活动状态
- 在 Blackboard Learn 中,导航到“系统管理员”>“验证”。
- 打开 SAML 验证提供程序名称旁边的菜单,然后将其设为活动。
随后,ADFS IdP 会成功配置为 SAML 验证提供程序,可用于登录到 Blackboard Learn。
- 在 Blackboard Learn 登录页面,选择使用第三方帐户登录。
- 选择 SAML 验证提供程序。
- 在 ADFS 登录页面输入登录凭证。