🤖 注意:非英语语言的文章均由 AI 协助翻译。虽然我们力求准确,但部分措辞可能略有差异。如果您发现任何可改进之处,欢迎反馈给我们。 |
什么是单点登录?
单点登录(SSO)是一种认证方式,允许用户使用一组登录凭据访问多个应用程序和服务。
DataCamp 的企业版 SSO 集成允许客户在 DataCamp 预设的登录和账户创建流程之外管理其组织成员。
SSO 的一些优势包括:
更高的安全性,减少网络钓鱼风险
更简化的入职和成员管理流程
组织成员无需单独的登录凭据即可访问 DataCamp
更佳的用户体验:用户无缝获得账户并直接跳转到 DataCamp 内容,一气呵成
前提条件
要设置 SSO,您必须拥有 DataCamp 企业版计划并且是组织管理员。有关升级到 DataCamp 企业版计划的功能和定价信息,请点击此处查看。
目前,DataCamp 仅支持 SAML 2.0 集成。要设置 SSO,您必须配置一个 SAML 身份提供者(IdP)。IdP 是包含用户和组织账户的目录或数据库。
配置单点登录
必填设置
登录 DataCamp,进入您的企业组织,然后选择 设置 > SSO > 允许 SAML 2.0。
要完成集成,您必须输入以下信息,这些信息对您的组织是唯一的:
实体 ID/发布者 URL:由 IdP 提供,用于唯一标识您组织的域名。
登录 URL/SSO 端点:指 DataCamp 用于向 IdP 请求用户登录的 URL。
IdP 证书:由您的 IdP 签发的认证证书。
SAML 属性
此外,重要的是对关键用户信息的 SAML 属性名称进行匹配。DataCamp 接受以下声明:名字、姓氏和电子邮件。
这三项中,电子邮件是集成正常运行的必填项。名字和姓氏是可选的,但建议提供以获得最佳用户体验。
对于这三项字段,我们接受以下属性名称列表:
电子邮件
email
email_address
emailAddress
EmailAddress
Email
mail
User.email
emailaddress
urn:oid:1.3.6.1.7
名字:
FirstName
first_name
firstname
firstName
user.first_name
givenname
urn:oid:2.5.4.42
姓氏:
LastName
last_name
lastname
lastName
user.last_name
surname
urn:oid:2.5.4.4
如果不发送这些属性中的任何一个,DataCamp 中对应的值将不会被更新。简而言之,这意味着:
新用户将没有名字/姓氏;
在启用 SSO 之前创建的用户将保留之前设置的名字/姓氏。
但如果提供空值,则会更新 DataCamp 中相应的值。因此,在启用 SSO 之前已有名字/姓氏的用户,在首次通过 SSO 成功登录后,其名字/姓氏将变为空。
在 DataCamp 和您的 IdP 中输入正确信息后,最后一步是选择启用 SSO,然后就可以完成设置!您的组织已启用 SSO。
可选设置
NameID 格式
DataCamp 支持两种配置 NameID 格式的选项:
nameid-format:emailAddress(默认)nameid-format:unspecified
如果您希望 DataCamp 使用内部员工 ID 作为唯一标识符而非电子邮件,您需要将 IdP 配置为发送 NameID 格式为 "urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified",并将“unspecified”值设置为员工 ID。然后,您需要在 DataCamp SSO 设置中选择“unspecified”。您仍需发送“emailAddress”作为属性,因为这是我们平台所必需的。虽然是可选项,但强烈建议您同时发送 FirstName 和 LastName 作为 SAML 属性,因为这是 DataCamp 上学习者完整姓名显示的唯一途径。
一旦 IdP 配置为发送“unspecified”值,并在 DataCamp SSO 设置中完成相应设置,我们将开始在用户登录时存储其员工 ID。如果您在已有成员的情况下更新配置,我们将在他们下次登录时获取员工 ID。
对于某些 LMS 或 LXP 集成,可能需要员工 ID。在这种情况下,您需要配置 SSO 设置以发送并存储员工 ID 作为 unspecified NameID 格式。如果由于某种原因(例如用户尚未登录更新后的配置),我们没有员工 ID,将无法发送该用户的内容完成信息,直到他们登录并存储了员工 ID。
您可以在 SSO 配置标签页中查看最新同步的 NameID 映射。一旦开始接收映射,最新映射将显示如下:
已配置接收 NameID 映射。最近接收的映射:
2020年8月12日,09:08 BST:10101010 => [email protected]
2020年8月12日,09:37 BST:1020202 => [email protected]
左边的值是员工 ID(例如 10101010),右边的值是电子邮件。
如果映射不正确,请联系支持团队重置。
即时配置(JIT)
如果启用即时配置,DataCamp 会在新成员通过 SSO(通过 IdP 或 LMS)登录时自动创建账户并分配许可证。否则,新成员将被添加到等待列表,需管理员批准后才分配许可证。
“启用即时配置”选项
如果您只打算让组织中的特定用户使用 DataCamp,建议禁用即时配置,改用其他邀请机制,如邀请链接。请注意,除非您在 IdP 明确授予用户访问权限或创建并分享自定义 SSO 深度链接(详见下文),即时配置不会生效。
强制使用 SSO 登录
如果要求使用 SSO,所有成员和管理员必须通过身份提供者登录。如果 SSO 是可选的,则成员和管理员可以通过身份提供者登录,也可以使用与其 DataCamp 账户关联的电子邮件和密码登录。
如果您的组织已有成员,且开始启用强制 SSO,或者将 SSO 设置为强制,成员将立即被登出 DataCamp,并被强制通过 SSO 重新认证。
我们强烈建议强制使用 SSO,主要好处是用户将自动被引导使用 SSO 认证,而无需选择其他认证方式。
注意:虽然强烈建议强制使用 SSO,但在强制之前务必确保您的 SSO 配置正常运行。作为预防措施,建议先将设置保持为可选,直到确认其正常,以防止账户被锁定。目前,组织管理员无其他登录方式,所有人必须通过相同流程。
启用和禁用 SSO
配置完成后,即可启用 SSO。点击表单底部的“启用 SSO”按钮即可。
启用后,用户将收到电子邮件,说明组织已启用 SSO,且他们需要使用 SSO 凭据重新登录。
邮件中包含一个链接,点击后将跳转到 DataCamp 登录页面。用户需输入电子邮件地址并点击“下一步”。如果该邮件属于启用了 SSO 的组成员,系统将重定向到 IdP 登录页面完成登录流程。登录成功后,用户将被重定向回 DataCamp 并获得平台访问权限。
当组织启用或禁用 SSO 时,用户会收到相关邮件通知
同样,如果成员被从组织中移除或组织禁用 SSO,成员将收到邮件提示重置 DataCamp 密码,从而无需 SSO 即可登录。
特定身份提供者的额外文档
想要与以下 IdP 之一集成?请查看我们的帮助文档:
我们也作为 Microsoft Azure Gallery 中的应用提供。
启用并要求 SSO 后邀请成员(管理员)
如前所述,我们强烈建议强制使用 SSO,主要好处是用户将自动使用 SSO 认证,而无需选择其他认证方式。但我们仍在文档中介绍使用其他认证方式的选项,以备 SSO 不适用或不可用的情况。
如果启用 SSO 但未设置为强制,标准邀请方式仍可使用,无需涉及 SSO。
如果设置为强制,所有邀请流程都要求用户使用 SSO 凭据登录后才能接受邀请。
注意:出于安全考虑,如果用户在被邀请加入组织前已在 DataCamp 拥有账户,您需要使用以下方法之一邀请。以下两种方法均包含额外验证步骤,确认平台上的用户与 IdP 中的用户一致。
邮件邀请
您可以通过电子邮件地址邀请特定成员。此邀请方式的优点是您可以在邀请过程中自定义其权限(例如设为管理员)。
注意:如果您邀请的人已在 DataCamp 拥有账户,需使用其平台上的现有邮箱邀请,才能确保其学习进度得以保留。
邀请链接
您可以生成标准邀请链接,并自定义链接以便成员通过该链接加入时自动添加至特定团队。
此邀请方式的其他优势:
您可以限制邀请仅适用于特定电子邮件域名,域名可在创建邀请链接时添加。
只有拥有该链接的学习者才能注册。您可通过自有渠道分享链接,无需单独邀请用户。
自定义 SSO 深度链接
SSO 深度链接是指任何包含公司 SSO 标识符的 DataCamp 页面链接。用户点击该链接时,会自动跳转到 IdP 进行 SSO 登录(如果尚未登录),然后重定向回原始目标页面。如果启用了即时配置且用户尚无 DataCamp 账户,我们会自动为其创建账户。
任意 SSO 深度链接格式为:https://www.datacamp.com/groups/<GROUP_IDENTIFIER>/sso/saml/login?path=<PATH>
例如,<PATH> 可以是 "/home",指向主页。您也可以将 SSO 深度链接定向至特定课程或跟踪页面。
如果启用了即时配置,此邀请方式可用于创建 DataCamp 的新账户。此方法也可用于登录已添加至组织的账户。如果用户拥有现有账户但尚未加入组织,登录时会自动添加为成员。
通过身份提供者链接
根据具体 IdP 配置,成员也可直接在 IdP 内通过选择 DataCamp 应用加入组织。
如果启用了即时配置,此邀请方式可用于创建 DataCamp 的新账户。此方法也可用于登录已添加至组织的账户。如果用户拥有现有账户但尚未加入组织,登录时会自动添加为成员。
注意:部分身份提供者,如 Degreed,不支持 IdP 发起的登录。
通过学习管理系统(LMS)或学习体验平台(LXP)链接
如果您使用我们的现有 LMS 或 LXP 集成,也可以结合 SSO,使用户能通过 IdP 无缝访问 DataCamp。详情请参阅我们的 LMS 和 LXP 文档。
此邀请方式可用于创建 DataCamp 的新账户(如果启用了即时配置)或登录已添加至组织的账户。如果用户拥有现有账户但尚未加入组织,登录时会自动添加为成员。
组织启用并要求使用 SSO 后访问 DataCamp(成员与管理员)
管理员邀请您加入启用且要求使用 SSO 的组织的方式有多种。
邮件邀请
管理员可能通过邮件邀请您加入他们的 DataCamp 组织。
注意:如果您已有使用不同邮箱的 DataCamp 账户,且希望学习进度能在组内体现,建议在接受邀请前先更新个人资料中的邮箱,然后请求管理员重新发送邀请(其邮箱会包含在邀请邮件中)。否则,您将创建一个新账户。
准备接受邀请时,只需点击邮件中的“加入组”按钮,或如果已有账户,则在应用内通知中点击。系统将重定向至身份提供者(IdP)以使用 SSO 凭据登录。登录成功后,您将被重定向回 DataCamp,获得组织访问权限。
注意:如果 SSO 是可选的,您将被引导通过注册表单注册。由于是可选,我们不会强制您通过 IdP 登录!
邀请链接
如果启用了且要求使用 SSO,点击邀请链接的成员将自动被重定向至身份提供者(IdP)使用 SSO 凭据登录。
登录成功后:
如果 IdP 返回的电子邮件已有对应的 DataCamp 账户,我们会要求成员通过登录现有账户(通常是该账户密码)确认账户所有权。确认后,用户将加入组织。
如果该电子邮件尚无 DataCamp 账户,将创建新账户并重定向接受邀请链接加入组织。
通过 IdP、LMS、LXP 或自定义 SSO 深度链接访问
成员也可以先登录 IdP,找到 DataCamp 应用并点击加入组织。类似地,通常也可通过 LMS 或 LXP 系统(如管理员已配置)或管理员创建的自定义 SSO 深度链接加入组织。如果启用了即时配置且您尚无 DataCamp 账户,使用此邀请方式将自动创建账户。
注意:出于安全考虑,如果您已有 DataCamp 账户但尚未加入组织,管理员需通过上述替代邀请方式邀请您。
如果您尝试通过 DataCamp 邀请链接加入,但组织许可证已满,您将被添加到等待列表。管理员将获知您的请求,并在批准后将您添加至组织,届时您会收到确认邮件。
接受邀请后登录
创建 DataCamp 账户并加入组织后,您可以通过多种方式使用 SSO 登录 DataCamp。
登录页面
您可以访问我们的常规登录页面:https://www.datacamp.com/users/sign_in。
输入您的电子邮件(应与您的 SSO 凭据关联的邮箱相同)。只要您是组织成员,我们会检测您需使用 SSO 登录,并将您重定向至 IdP 完成登录。完成后,您将被重定向回 DataCamp 继续学习。
如果您的组织启用了但未强制 SSO,您可以通过点击下方的“使用 SSO”按钮或使用 DataCamp 邮箱和密码登录。
如果组织的 SSO 是可选的,将显示“使用 SSO”按钮
通过 IdP、LMS、LXP 或自定义 SSO 深度链接访问
成员也可以先登录 IdP,找到 DataCamp 应用并点击登录。类似地,通常也可以通过 LMS 或 LXP 系统(如果管理员已配置)或管理员创建的自定义 SSO 深度链接登录 DataCamp。只要您已有 DataCamp 账户并且是组成员,通常只需点击一次即可登录。
LMS 标识符
对于已与 DataCamp 集成 LMS 的客户,我们提供通过 LMS 标识符识别用户的选项,该标识符可能与其电子邮件或 NameID 不同。这在用户的电子邮件、NameID 和 LMS ID 各不相同时尤其有用,您可选择特定标识符用于 LMS 集成。
为支持此功能,我们接受 SAML 响应中的 LMS 标识符属性,名称可以是以下任意之一:
lms_usernamehttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/lms_username
接收后,我们会记录该标识符,并在您的 DataCamp LMS 集成中使用,如将其作为用户完成事件的用户标识符。
通过 SAML 属性将用户添加到团队
我们支持通过 SAML 属性 dc_groups 自动将用户添加到 DataCamp 组织的团队。要使用此功能,请在身份提供者(IdP)中配置 dc_groups 属性,包含一个或多个团队名称作为值,每个团队名称为字符串/文本。
多个团队时,提供多值属性,例如:
<saml:Attribute Name="dc_groups"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">Engineering</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">Marketing</saml:AttributeValue>
<saml:AttributeValue xsi:type="xs:string">Sales</saml:AttributeValue>
</saml:Attribute>
单个团队时,提供单值属性,例如:
<saml:Attribute Name="dc_groups"
NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic">
<saml:AttributeValue xsi:type="xs:string">Engineering</saml:AttributeValue>
</saml:Attribute>
要将用户添加到现有团队,提供的团队名称必须与 DataCamp 中配置的团队名称完全匹配(大小写不敏感)。如果指定的团队不存在,我们将自动创建新团队并添加用户。
重要提示(1): 此功能目前仅支持添加操作。即不会移除用户出任何团队。发送空的 dc_groups 值或完全省略该属性,不会将用户从任何团队中移除。
重要提示(2): 目前,如果用户在 SSO 流程中进入等待列表或需确认账户所有权,则不会被添加到团队。这是我们的限制。
邮箱域名白名单
邮箱域名白名单允许您的组织声明一个或多个邮箱域名(例如 yourcompany.com),并在登录和注册流程中自动将匹配该域名的用户重定向至您的单点登录身份提供者(IdP)。
域名被加入白名单后:
登录流程:当无 DataCamp 账户的用户尝试使用 DataCamp 登录页面登录时,我们会检查其邮箱域名。如果匹配白名单域名,用户将自动被重定向至您的组织 IdP,跳过登录页面。成功认证后,用户将返回 DataCamp 并自动创建账户。如果启用了即时配置,用户也会自动加入组织组。
这确保了新用户即使直接访问 DataCamp,也能顺利完成入职。
注意:已有 DataCamp 账户的用户将使用标准登录流程,正常认证。注册流程:新用户使用白名单域名注册时,会收到通知,说明其组织已有 DataCamp 订阅。随后用户将被重定向至组织 IdP 认证。
这确保新用户在通过 SSO 验证身份后,正确关联至组织的 DataCamp 组和订阅。
要启动邮箱域名白名单流程,请联系您的客户成功经理或 DataCamp 支持。作为流程一部分,我们将验证您对所声明域名的控制权。
常见问题解答(FAQ)
如果我启用 SSO 时组织已有成员,会发生什么?
启用 SSO 后,现有成员将收到邮件,提示他们使用 IdP 凭据登录。完成后,成员在组织启用 SSO 期间,始终需使用 IdP 凭据登录。
通过 SSO 创建的账户如果超出组织已购买的许可证数量,会怎样?
该成员将被添加至等待列表,所有管理员将收到邮件通知。经管理员批准后,将添加许可证,用户即可使用 DataCamp。
DataCamp 支持 IdP 发起还是服务提供商(SP)发起的单点登录?
DataCamp 支持 IdP 和 SP 发起的单点登录。
移动端支持 SSO 吗?
支持,移动应用支持 SSO。
可以通过单点登录阻止移动端访问吗?
DataCamp 没有阻止移动端访问的设置。但过去客户曾通过 IdP 配置在其端阻止移动端访问。
如果成员被从 DataCamp 组织移除,会怎样?
成员被从组织移除后,将收到邮件提示创建新的登录信息,并确认邮箱地址和设置新密码。此后,他们将无法访问您的组织或订阅内的高级内容。
如果成员被从 IdP(身份提供者)移除,会怎样?
如果您从 IdP 移除成员并停用其 IdP 登录凭据,该成员将无法登录 DataCamp。请注意,成员不会自动从 DataCamp 组织的成员列表中移除,需在成员页面手动操作。如需帮助,请联系支持团队。
成员邮箱变更会怎样?
我们高度依赖 NameID 格式根据组织提供的登录信息唯一识别用户。
如果 NameID 格式为 email,更改邮箱相当于创建新用户身份,成员将失去对原账户的访问权限。
如果 NameID 格式为 unspecified,更改邮箱是允许的——只要能基于 NameID 匹配用户,我们会自动更新系统中的邮箱。但如果新邮箱已关联其他账户,则无法更新。
DataCamp 提供 CA 签名证书吗?
所有证书默认均为自签名。如需 CA 签名证书,请联系支持团队。
登录时出现“无权访问 DataCamp 应用”的错误怎么办?
若出现如下错误:
或者更详细的错误,例如 Azure AD 的下图:
这些错误发生在 IdP 端,您需联系管理员申请访问 DataCamp 应用。此问题无法由 DataCamp 解决。
为什么 IdP 需要配置两个 ACS(断言消费者服务)URL?
我们需要两个 ACS URL 以完全支持SP 发起和IdP 发起的登录流程。两个 URL 都必须配置,以确保无论用户从 DataCamp 登录页还是直接从 IdP 发起登录,认证均能正常工作。
如何更新 DataCamp 组的 SSO 证书?
更新 SSO 证书(例如证书过期)时,必须协调 DataCamp 和您的身份提供者(IdP)同步更新,以避免登录中断。
您有两种选择:
自助操作 - 如果您能访问 DataCamp 组的 SSO 设置,可自行上传新证书,步骤如下:
进入组的 SSO 设置页(例如 https://app.datacamp.com/groups/[your-group-name]/settings/sso)
将新证书粘贴到 IdP 证书 字段
点击 更新设置 保存
⚠️ 重要提示:确保 IdP 同时更新为新证书。两个系统必须同步切换,防止认证失败。
与 DataCamp 协调 - 如果需要支持或协助,请发送邮件至 DataCamp 支持或您的联系人。我们将安排联合操作,确保零停机切换。
为什么用户需要确认账户所有权?
当用户尝试通过 DataCamp 组的 SSO 登录,且系统发现已有该邮箱的 DataCamp 账户时,必须先证明其对该账户拥有所有权,才能加入组。这称为确认账户所有权流程。
在此流程中,用户会被重定向至标准登录表单,需通过密码登录(或使用 Google 等社交登录)证明所有权。不能通过组的 SSO 登录证明所有权。必须使用现有 DataCamp 账户的认证方式登录。
验证成功后,用户将被添加到组中,今后可使用组的 SSO 认证登录。
