• 使用 Azure Active Directory (AD) 配置 SCIM 配置

    设置单点登录 (SSO) 后,您可以通过 Udemy Business 在 Azure Active Directory (AD) 中配置跨域身份管理系统 (SCIM 2.0) 配置。这将允许您在 Azure AD 中配置、取消配置、创建群组、管理群组成员和更改用户个人资料详细信息(如姓名和电子邮件地址),这会自动 更新Udemy Business。您将不再需要使用这些操作分别更新 Azure AD 和 Udemy Business,因为他们都将在 Azure AD 中同步。

    要为您的 Udemy Business 帐户启用 SCIM 配置,请先转到您的 Udemy Business 帐户,然后访问管理 > 设置 > 配置 (SCIM)

    点击开始设置,按照说明启用 SCIM 并生成密钥令牌(持有者令牌),然后您需要将其放置在 Azure AD 中。

    请注意:

    • Udemy Business Enterprise 方案客户可以使用单点登录和配置。
    • 通过 Azure AD 配置的用户在首次登录 Udemy Business 应用之前不会获得许可证。 
    • SCIM 配置更改只能从 Azure AD 同步到 Udemy Business,反之则不行。 
    • 在 Udemy Business 应用中,无法在 Azure AD 中更改由 SCIM 管理的用户和群组,SCIM 是用户和群组数据的唯一真实来源。
    • 如果您有不需要或不想从 Azure AD 推送的用户(如承包商或临时员工),仍然可以在 Udemy Business 中手动创建群组。

    使用 Azure AD 配置 SCIM 配置

    1. 要为您的 Udemy Business 帐户启用 SCIM 配置,请先转到您的 Udemy Business 帐户,然后访问“管理”>“设置”>“配置 (SCIM)”。

    2. 点击开始设置,选择您的身份提供程序,并按照说明生成密钥令牌(持有者令牌),然后您需要将其放置在 Azure AD 中。

    1a.png

    3. 然后访问您的 Azure AD 帐户,转到您的 Udemy Business SSO 应用,并按照以下步骤进行设置。您还可以参考 Microsoft 自己的有关使用 Azure AD 进行 SCIM 配置的配置指南,以获取进一步的指导。

    在您的 Azure 门户中,转到配置。   

    (请注意:在下面的屏幕截图中,udemyazure 是我们使用的测试名称,用于说明如何配置 SCIM;您应当找到在您自己的实例中进行配置时由您的团队命名的应用) 

    1b.png

    4. 选择自动作为配置模式。

    1c.png

    5. 在管理员凭据部分:

    租户 URL 为:https://yourdomain.udemy.com/scim/v2(yourdomain 是您的 Udemy Business 帐户的 URL)。

    密钥令牌:这是可以在您的 Udemy Business 帐户中生成或查看的“持有者”令牌。(转到“管理”>“设置”>“用户访问”以获取密钥令牌)。

    6. 点击测试连接以检查是否正常运行。  

    可选:如果想要从 Azure 接收有关错误的警报,可以输入电子邮件地址。

    1d.png

    7. 在映射中: 

    查看属性映射,以便将用户电子邮件映射到 emails[type eq "work"].value 

    1e.png

    1f.png

    8. 在设置中: 

    将“配置状态”按钮切换到开启状态。

    1h.png

     

    9. 选择您想要同步用户和群组的范围

    1i.png

    如果您需要限制某些员工或部门的访问权限,可以仅同步分配了 Udemy Business 应用的用户和群组。或者,如果每个员工都有访问权限,则可以同步所有用户和群组

    1j.png

    为了向更多用户和群组配置 Udemy Business 访问权限,可以执行以下操作:

    10. 点击用户和群组

    1k.png

    11. 点击添加用户 (可用于选择添加用户和群组)

    选择要添加到应用的所有用户或群组,然后点击选择。

    1l.png

    故障排查

    关于映射:

    1m.png

    如果在配置时遇到以下错误

    {"schemas":["urn:ietf:params:scim:api:messages:2.0:Error"],"status":400,"detail":"{'emails': ['This field is required.']}"}

    您应当更改该用户的映射。

    1n-1.png

    emails[type eq "work"].value 需要映射到 userPrincipalName,即,如果 userPrincipalName 是电子邮件所在的位置。

    如果您转到用户个人资料,您应当可以在其中看到包含电子邮件的字段。

    1o.png

    阅读文章
  • 使用 OneLogin 配置 SCIM 配置

    设置单点登录 (SSO) 后,您可以通过 Udemy Business 在 OneLogin 中配置跨域身份管理系统 (SCIM) 配置。这将允许您在 OneLogin 中配置、取消配置、创建群组、管理群组成员和更改用户个人资料详细信息(如姓名和电子邮件地址),这会自动 更新Udemy Business。您将不再需要使用这些操作分别更新 OneLogin 和 Udemy Business,因为他们都将在 OneLogin 中同步。

    本文概述了如何使用 OneLogin 配置 SCIM 配置。 

    如何启用 SCIM 配置

    要为您的 Udemy Business 帐户启用 SCIM 配置 请先转到您的 Udemy Business 帐户,然后访问管理 > 设置 > 配置 (SCIM)

    点击开始设置,按照说明启用 SCIM 并生成秘密令牌(持有者令牌),然后您需要将其保存在 OneLogin 中。

    1_21.png

    然后访问您的 OneLogin 帐户,转到您的 Udemy Business SSO 应用,并按照以下步骤进行设置。 

    OneLogin 支持中心还提供了有关如何配置用户的其他信息。

    1. 在管理员面板中,点击”应用“选项卡:

    2_21.png

    2. 导航到”配置“选项卡。在“配置”选项卡中,输入您的 Udemy Business 帐户在上述步骤中生成的 SCIM 持有者令牌,并设置为“已启用”:

    3_21.png

    3. 然后导航到“配置”选项卡,并勾选“启用配置”复选框:

    workflow_enable_provisioning.png

    创建规则以将用户的群组与 Udemy Business 同步

    OneLogin 使用“规则”的概念来将用户与您的 Udemy Business 帐户中的特定群组同步。有多种方法可用于根据您对同步群组的不同要求创建规则。以下是有关如何创建规则以将用户与名为“工程师”的群组同步的一个具体示例。

    1. 导航到“规则”选项卡,然后选择“添加规则”。

    rules_.png

    2. 基本要求在进入下一步之前,请联系我们的支持团队,请求他们启用支持从 Udemy Business 中提取 SCIM 群组的功能标记。启用此功能后,您可以从 Udemy Business 中提取现有群组,并在 OneLogin 中访问这些群组。

    3. 在“编辑映射”屏幕中,您可以为规则配置逻辑。在此示例中,我们创建了一个规则 ,其中的逻辑是“如果用户的群组是工程群组,则操作是将 Udemy Business 中用户的群组设置为工程师”:要在 Udemy Business 中“从现有”提取群组,将需要刷新权利。

    actions.png

    4. 导航到“参数”选项卡:

    parameters.png

    5. 点击“群组”字段:

    groups_field.png

    6. 勾选“包含在用户配置中”复选框并保存:

    9_21.png

    7. 现在,在 OneLogin 中添加用户,然后将该用户的群组设置为“工程群组”:

    10_21.png

    8. 将用户添加到 Udemy Business 应用并同步后,根据规则,系统会将该用户添加到您的 Udemy Business 帐户中的“工程师”群组:

    11_21.png

     

    阅读文章
  • 使用 SCIM 自动化用户和群组管理

    Udemy Business 通过跨域身份管理系统 (SCIM) 标准来支持自动化用户和群组访问和身份管理。单点登录 (SSO) 服务和身份提供程序使用 SCIM 跨各种应用和工具(包括 Udemy Business)来管理人员。

    SCIM 对于希望最大化规模、安全性和最小化 Udemy Business 用户管理摩擦的组织来说是一个很好的选择。

    可以用 SCIM 做什么:

    • 自动从您的身份提供程序预配许可证以及用户和群组的访问(预配)。
    • 自动从您的身份提供程序停用用户和群组(取消预配)。
    • 重新激活之前取消配置的用户(前提是用户的个人身份信息没有匿名化)。
    • 更新用户详细信息:姓名、电子邮件地址。 
    • 创建、移除或编辑群组。
    • 管理群组成员关系(用户改变群组)。

    不能用 SCIM 做什么:

    • 通过 SCIM 删除任何身份提供程序上的个人可识别信息 (PII)
    • 将数据从 Udemy Business 同步回身份提供程序。
    • 管理角色(管理员、群组管理员、用户)。
    • 分配 Udemy Business Pro 许可证。

    采取以上受支持的操作后,相应数据或更改将自动在 Udemy Business 上更新

    有关您的 Udemy Business 帐户的 SCIM 集成的要点

    • 您的 SCIM 集成设置将各不相同,具体取决于您使用的身份提供程序。 
    • Udemy Business 支持对关键身份提供程序和 SSO 服务进行 SCIM 配置,这些服务提供访问和身份管理。
    • SCIM 配置功能适用于使用单点登录 (SSO) 的 Enterprise 方案客户。
    • 在您的 SSO 服务中通过 SCIM 配置的用户在首次登录 Udemy Business 应用之前不会获得许可证。 如果用户通过 SCIM 设置,但尚未首次登录,他们将显示在“所有用户”页面,状态为“无许可证”。 

    users_with_no_license.png

    如何启用 SCIM 配置

    要为您的 Udemy Business 帐户启用 SCIM 配置,请转到您的 Udemy Business 帐户的管理 > 设置 > 配置 (SCIM)。 

    滚动到 SCIM 集成部分。然后,按照说明启用 SCIM,从下拉菜单中选择您的身份提供程序并生成凭据(用户名和密码或密钥/持有者令牌),您需要将这些凭据输入您的身份提供程序,作为配置的一部分。

    provisioning_scim_start_setup.png

    根据您使用的身份提供程序,按照以下相应指南的说明完成 SCIM 设置。

    Okta 配置指南 

    Azure AD 配置指南 

    OneLogin 配置指南

    对于其他 IdP 或您自己的工具,请参阅  Udemy SCIM API 配置指南

    如何禁用 SCIM 配置

    要为您的 Udemy Business 帐户禁用 SCIM 配置(如果您要更改提供程序或不再需要 SCIM),请访问管理 > 设置 > 配置 (SCIM)

    滚动到 SCIM 集成部分,点击禁用集成链接并按照说明来禁用 SCIM。这将禁用 Udemy Business 端的集成,但您的 IT 团队还需要禁用身份提供程序端的集成。 

    provisioning_scim_disable_integration.png

    您可以继续如常使用 Udemy Business,但在此之后需要手动更新平台中的用户和群组信息。

    使用 SCIM 取消预配用户

    请注意,从您的身份提供程序取消预配的 Udemy Business 用户将在 Udemy Business 中停用。我们首先部署此“软删除”功能,以便您在以后重新激活这些用户时保留学习者历史记录,并防止意外、不可逆转、匿名处理用户数据。如果要永久删除用户及其所有数据,请按照以下说明操作:

    为 SCIM 托管的学员删除 Pll

    如果您不想再让您的 IdP 通过 SCIM 管理某个学员,您可以先在 SSO Active Directory 中取消其配置,然后在您的 Udemy Business 帐户中删除其 Pll。要了解如何匿名化学员,请点击此处

    如果您想要直接在您的 Udemy Business 帐户中管理学员,而非通过 SSO IdP 进行管理,而且您不想删除他们的 PII,请联系我们的支持团队以获取更多帮助。

    阅读文章
  • 使用 Okta 配置 SCIM 预配

    本指南介绍了现有 Okta 和 Udemy Business 客户使用跨域身份管理系统 (SCIM 2.0) 配置 Udemy Business 的自动配置、取消配置、个人资料更新和群组管理所需的步骤。

    请注意:

    • 如果您已从之前的 Udemy Business 应用启用 SSO 登录,则无需再次重新配置 SSO,只需在 Okta 的“应用”下找到配置选项卡即可设置 SCIM。 
    • 如果我们的其中一个团队已经通过手动配置为您设置了 SSO,则您应当将我们新的 Udemy Business 应用添加到您的 Okta 帐户中。您可以通过搜索 Udemy Business 在“应用”中找到该应用。由于这是我们的应用在 Okta 中的新版本,因此现有客户可能需要先重新配置单点登录 (SSO),然后再启用 SCIM 配置。(逐步操作说明如下)
    • 通过 Okta 配置的用户在首次登录 Udemy Business 应用之前不会获得许可证。 
    • SCIM 配置更改只能从 Okta 同步到 Udemy Business,反之则不行。 
    • 在 Udemy Business 应用中,无法在 Okta 中更改由 SCIM 管理的用户和群组,SCIM 是用户和群组数据的唯一真实来源。

    内容

    • 功能
    • 要求
    • 配置步骤
    • 架构发现
    • 故障排除提示

    功能

    支持以下配置功能:

    • 身份提供程序 (IdP) 启动的 SSO
      • 用户可以从 Okta 控制面板启动登录过程
    • 服务提供商 (SP) 启动的 SSO
      • 用户可以访问 [您的-子域.udemy.com],并在 Udemy Business 登录页面启动登录过程。
    • 实时 (JIT) 配置
      • 系统会将通过 SSO 进行身份验证的用户在其首次登录时配置到 Udemy Business。
      • 每次用户登录时,都将更新配置为发送的所有用户属性。这不适用于 SCIM 用户,因为他们仅由 SCIM 管理。
    • 使用预先配置 (SCIM) 推送用户
      • 系统将在 Udemy Business 上创建与 Okta 上的 Udemy Business 应用关联的新用户。
    • 推送个人资料更新 (SCIM)
      • 对于与 Okta 上的 Udemy Business 关联的用户,系统会将通过 Okta 对用户个人资料所做的更新推送到 Udemy Business。
    • 推送用户停用 (SCIM)
      • 通过 Okta 停用用户或禁用用户对应用的访问将停用 Udemy Business 上的用户并将其从所有群组中移除。
      • 请注意:对于 Udemy Business,停用用户意味着移除登录访问权限,但用户在 Udemy Business 中的信息将保留为停用用户。
    • 重新激活用户
      • 通过 Okta 将应用重新分配给用户,可以在 Udemy Business 上重新激活用户帐户。
    • 群组推送 (SCIM)
      • 系统会将群组及其成员推送到 Udemy Business。管理群组仅限于最初从 Okta 推送的群组,因为我们不会发送在 Udemy Business 上创建的群组信息。

    配置步骤

    备注: 

    • 如果您已经通过 Okta 为 Udemy 应用启用了 SSO 登录,则无需再次重新配置 SSO; 继续执行步骤 8。 
    • 如果您通过我们的团队手动配置设置了 SSO,您应该使用 Okta 中的 Udemy Business 应用重新配置 SSO(步骤 1-7)。
      • 您可以通过在 Okta 控制面板中隐藏 Udemy Business 磁贴来避免任何 SSO 停机,直到新的 SSO 和 SCIM 配置完成。 
      • 在应用可见性旁边,点击“不向用户显示应用图标”。

    1 - 要开始使用,请登录您的 Udemy Business 帐户,然后从管理 > 设置 > 单点登录 (SSO) 转到用户访问页面。

    点击开始设置配置过程中,选择您的身份提供程序并按照其中的说明启用 SCIM,然后生成用于输入到身份提供程序的凭据。

    start_setup.png

    2 - 在 Okta 中,从侧边栏访问应用程序页面。

    3 - 单击浏览应用目录,搜索 Udemy Business 并单击添加

    browse_app_catalog_add.png

    4 - 添加 Udemy Business 应用会将您重定向到应用常规设置 - 必填页面,如下所示。为您的应用程序标签选择一个名称,然后单击完成

    general_settings_required.png

    5 - 接下来,单击登录选项卡,然后单击编辑

    sign_on_tab.png

    向下滚动到高级登录设置,并将下面的受众 URI(SP 实体 ID)值添加到相应的字段中,然后单击保存

    d905a6ca-adf9-45e2-9b9d-0d6485f27206

    advanced_settings_save.png

    6 - 在同一页面上,向下滚动到 SAML 签名证书。单击操作,然后单击查看 IdP 元数据。将元数据 URL 复制到剪贴板。 

    (或者,您可以选择下载证书以将元数据文件下载到您的计算机。)

    view_idp_metadata.png

    7 - 导航回您的 Udemy Business 帐户并访问单点登录 (SSO) 设置。在“配置”页面上,选择适当的元数据配置方法,然后按照说明创建与您的身份提供程序和 Udemy Business 的 SSO 连接。

    sso_okta_connection.png

    8 - 为 Okta 启用了 SSO 后,我们可以启用预配 (SCIM)。首先,单击预配选项卡,然后单击配置 API 集成

    configure_api_integration.png

    9 - 点击启用 API 集成并添加您的子域CLIENT_ID用户名SECRET_ID密码。 

    [通过访问管理 -> 设置下的“预配 (SCIM)”页面,可以在您的 Udemy Business 帐户中生成或查看这些凭据 。]

    test_api_credentials.png

    10 - 点击测试 API 凭据,此时应当显示一条消息,表明您已成功完成 SSO 集成。如果没有,请向 Udemy Business 支持团队发送消息,提供显示的错误消息。


    11 - 点击保存,系统会将您重定向到应用配置设置页面。


    provisioning_to_app_save.png

    12 - 在转到应用链接上,点击“编辑”以启用各个功能。要使用我们推荐的所有功能,请在此页面上启用创建用户更新用户属性停用用户

    provisioning_to_app_edit.png
    13 - 点击保存

    14 - 点击分配选项卡,将 Udemy Business 分配给单个用户或整个群组。分配的用户将在添加后自动配置,在对其个人资料进行更改时自动修改,并在其从分配中移除时自动停用。

    15 - 点击推送群组选项卡,将群组及其成员信息发送到 Udemy Business。

    push_groups_to_ub.png
    16 - 点击 + 推送群组,然后选择要推送到 Udemy Business 的群组。

    您可以选择每个群组,或者创建一个自动规则。

    find_groups_ub.png
    17 - 选择群组搜索条件,然后为要向 Udemy Business 发送信息的群组填写请求信息。

    push_groups_by_name.png

    18 - 选择群组后,选中立即推送群组成员以在选择群组后立即发送群组和群组内成员,然后点击保存

    19 - 按照上述步骤为要发送到 Udemy Business 的所有群组选择群组。

    请注意:在 Okta 向 Udemy Business 发送用户或群组信息后,我们会将 Okta 视为真实来源,并且不允许更改 Udemy Business 上的用户个人资料或群组。

    阅读文章
  • 如何使用我们的 SCIM API 自动化用户和群组管理

    概述

    用于跨域身份管理的系统 (SCIM) 是一种标准 API,用于自动化用户和群组预配/取消预配,并将用户和群组数据从客户的身份提供程序 (IdP) 更新到 Udemy Business 帐户中。许多身份提供程序(例如 Okta、Azure AD 和 OneLogin)都支持 SCIM。您还可以将 Udemy Business SCIM API 用于其他 IdP 或本土工具。

    如果您的组织使用以下 IdP 之一,请参阅下面的指南,了解如何配置 SCIM:

    SCIM 使用标准化的 REST API,数据格式为 JSON。Udemy Business 支持 SCIM 标准的 2.0 版。该 API 适用于 Enterprise 方案中的所有客户。

    Udemy Business SCIM API 支持以下功能: 

    • 配置用户
    • 取消配置用户(停用)
    • 更改电子邮件地址
    • 更改用户详细信息
    • 配置群组
    • 在群组中添加/移除用户

    SCIM 协议说明

    SCIM 协议是一种应用级 REST 协议,用于在 Web 上配置和管理身份数据。该协议是客户端-服务器协议,其中客户端是身份提供程序 (IdP),服务器是 Udemy Business。

    基本流程如下:

    • 当客户在 IDP 中为用户授予 Udemy Business 访问权限时,IdP 会向我们发送请求,以检查特定用户是否存在于我们的数据库中。他们通过用户名或电子邮件等属性发出用户搜索请求。
    • 如果用户不存在,则 IdP 会发送创建用户的请求。
    • 如果用户存在,则 IdP 会发送该用户的更新请求。
    • 如果撤销 Udemy Business 的访问权限,则 IdP 会向我们发送从我们的数据库中停用该用户的请求。
    • IdP 还会发送更改用户详细信息的请求。

    如何访问 API?

    为了获取连接到 SCIM API 的授权凭据,必须在您的 Udemy Business 帐户中通过管理 -> 设置 -> 配置 (SCIM) 页面设置 SCIM 集成。请注意:仅管理员可以访问此页面。 

    点击开始设置。

    provisioning_scim.png
    在下一步中,选择选择提供程序,然后选择自定义

    select_provider.png

    单击生成令牌

    generate_token.png

    在此屏幕上,单击复制以将持有者令牌复制到剪贴板。

    copy_bearer_token.png

    您需要在请求中包含带有持有者令牌的授权 HTTP 标头,例如:

    GET /scim/v2/Users HTTP/1.1

     Host: myorganization.udemy.com

     Accept: application/scim+json

     Authorization: Bearer <enter you Bearer token here>

    Content-Type: application/scim+json

    Udemy Business SCIM API 使用 HTTP 协议,并且只能通过安全的 HTTPS 连接使用。

    该 API 的基本 URL 是 https://<organization>.udemy.com/scim/v2/。 

    如果您正在开发一款应用来与 Udemy Business SCIM API 进行交互,建议参考本文档末尾包含的 SCIM RFC。Udemy Business SCIM API 实施符合标准。

    SCIM API 端点

    信息端点

    这些是信息端点,用于配置客户端。他们不需要身份验证,因此您在访问这些端点时不需要包含授权标头。

    GET /ServiceProviderConfig

    返回有关 Udemy Business SCIM 实施的详细信息,包括支持的方法。

    GET /Schemas

    返回 SCIM 实施支持的架构的相关信息。支持的架构是用户和群组。

    GET /Schemas/Users

    返回支持用户资源的所有属性。

    GET /Schemas/Groups

    返回支持群组资源的所有属性。

    用户端点

    您可以使用这些端点列出用户、按属性筛选、添加新用户、更新用户信息或停用用户/将用户匿名。  请记住,您只能访问使用 SCIM API 创建的用户,在 Udemy Business 中创建的用户将不可用,除非您通过 SCIM 进行调节。下面提供了有关调节的更多详细信息。

    支持的属性

    SCIM 属性

    是否必填?

    说明

    用户名

    IdP 的用户名。必须唯一。

    姓名,{ givenName, familyName }

    用户的名字和姓氏。虽然这不是必填属性,但我们建议始终指定这些属性,因为这样便于轻松识别用户。

    电子邮件 [type=”work”]]['value’]

    用户的电子邮件地址,必须唯一

    活跃

    标记停用/重新激活用户

    职称

    用户的职称,即“高级工程师”

    外部 ID

    IdP 用户的外部 ID。必须唯一。

    请注意:如果您指定不在此列表中的任何其他属性,系统将会忽略相关属性。

    GET/Users

    返回用户的分页列表,默认情况下每页 12 个用户。您可以传入 countstartIndex 参数以对结果集进行分页。例如:

    GET /scim/v2/Users?startIndex=1&count=100 HTTP/1.1

     Host: myorganization.udemy.com

     Accept: application/scim+json

     Authorization: Bearer <enter you Bearer token here>

    • startIndex 是当前结果列表集中第一个结果从 1 开始的索引(偏移)
    • count 是列表响应页面中返回的资源数量(限制)。您可以在单个请求中检索至多 1000 个用户。如果省略此项目,则默认为 12。

    GET /Users?filter=

    此端点用于按特定属性筛选用户。例如,可以根据用户名属性进行搜索:

    GET /Users?filter=userName eq "gloria.graynor”

    请注意:在上述示例中,您需要对 URL 参数进行 URL 编码,因此 URL 将变为:
    GET /Users?filter=userName%20eq%20%22gloria.graynor%22

    此时将返回用户资源列表。如果没有任何结果,将返回一个空列表。

    支持的筛选条件如下:

    • 用户名
    • 外部 ID
    • 电子邮件 [type eq=”work”]

    支持的运算符如下:

    • and
    • eq

    响应:

    • HTTP 状态代码 200 和成功的实体列表
    • 如果提供了不受支持的筛选条件,则会返回 HTTP 状态代码 501

    POST /Users

    此端点用于在 Udemy Business 中创建(配置)新用户。 

    响应将包含一个 id 属性,在所有后续请求中引用此用户时应当使用该属性。

    请注意:

    • 以这种方式创建的新用户在该用户首次登录之前不会使用许可证。
    • 如果此用户已有待处理的邀请,则此时将使用该邀请。
      系统会将用户添加到群组,根据邀请中指定的条件分配适当的角色/课程作业。
    • 尝试创建 Udemy Business 中已存在的用户将导致该用户变为由 SCIM 管理(在“管理用户”页面中显示一个小链接图标)。请注意:用户的状态和许可证使用情况不会更改。如果用户处于活跃状态,将保持活跃状态;如果用户已停用,将保持停用状态。

    响应:

    • HTTP 状态代码 201 和成功的用户资源
    • 如果组织中已存在具有相同用户名的成员,则会返回 HTTP 状态代码 409
    • 如果请求未通过验证,则会返回 HTTP 状态代码 400,响应正文中会显示错误详细信息

    GET /Users/<id>

    此端点用于检索指定用户的用户详细信息。上述请求中的 id 参数是在使用 SCIM 创建用户或列出所有现有用户时返回的唯一标识符。

    响应:

    • HTTP 状态代码 200 和成功的用户资源
    • 如果未找到用户,则会返回 HTTP 状态代码 404

    PUT /Users/<id>

    此端点用于替换(覆盖)Udemy Business 中的用户详细信息。如果已指定,活跃属性可用于停用或重新激用户。

    响应:

    • HTTP 状态代码 200 和更新的用户资源
    • 如果用户不存在,则会返回 HTTP 状态代码 404 
    • 如果尝试停用组织所有者,则会返回 HTTP 状态代码 400

    PATCH /Users/<id>

    此端点用于对我们系统中的用户详细信息进行部分更新,这意味着您只能使用此端点来更改用户的某些属性。与之相比,PUT 可替换整个用户。 

    它可以包含活跃属性,这将会导致停用或重新激活用户。

    • 每个请求的正文必须包含 URI 值为“urn:ietf:params:scim:api:messages:2.0:PatchOp”的“架构”属性。
    • HTTP PATCH 请求的正文必须包含“操作”属性,其值为一个或多个 PATCH 操作的数组。每个 PATCH 操作对象必须恰好有一个“op”成员,其值指示要执行的操作,并且可以是“添加”、“移除”或“替换”中的一个。 
    • “路径”属性可以为空,在这种情况下,“值”应当为采用 {“path”: “value”} 格式的字典。

    响应:

    • HTTP 状态代码 200 和更新的成功用户资源
    • 如果未找到用户,则会返回 HTTP 状态代码 404
    • 如果尝试停用组织所有者或操作无效,则会返回 HTTP 状态代码 400

    群组端点

    支持的属性

    SCIM 属性

    是否必填?

    说明

    显示名称

    群组标题。在所有 Udemy Business 群组中必须唯一。

    外部 ID

    身份提供程序中的群组外部 ID

    请注意:如果您指定不在此列表中的任何其他属性,系统将忽略该属性。

    GET /Groups

    此端点用于获取所有已配置群组的分页列表。包括对结果进行分页的 startIndexcount 查询字符串参数。 

    请记住,只会返回使用 SCIM 创建的群组。不会返回在 Udemy Business 中创建的群组。

    GET /Groups?filter=

    此端点用于按特定属性筛选群组。例如,可以根据显示名称属性进行搜索:

    GET /Groups?filter=displayName eq "Marketing”

    此时将返回群组资源列表。如果没有任何结果,将返回一个空列表。

    请注意:您需要对参数进行 URL 编码,因此请求会变为:
    GET /Groups?filter=displayName%20eq%20%22Marketing%22

    支持的筛选条件如下:

    • 显示名称
    • 外部 ID
    • Id
    • member.value

    支持的运算符如下:

    • and
    • eq

    响应:

    • HTTP 状态代码 200 和成功的实体列表
    • 如果使用了不受支持的筛选条件,则会返回 HTTP 状态代码 501

    POST /Groups

    此端点用于在 Udemy Business 中创建(配置)新群组。 

    响应:

    • HTTP 状态代码 409。如果组织中已存在相同名称的已配置群组,我们将返回 409(冲突)和唯一的 scimType 错误代码。
    • 成功创建群组后,我们将返回该群组的完整表示形式,HTTP 状态代码 201(已创建)以及包含创建群组资源 URL 的 Location 标头。

    GET /Groups/<id>

    此端点用于从 Udemy Business 中提取群组详细信息。 

    响应:

    • HTTP 状态代码 200 和群组资源
    • 如果未找到群组,则会返回 HTTP 状态代码 404

    PUT /Groups/<id>

    此端点用于替换 Udemy Business 中的群组详细信息。

    响应:

    • HTTP 状态代码 200 和更新的群组资源 
    • 如果群组不存在,则会返回 HTTP 状态代码 404 

    PATCH /Groups/<id>

    此端点用于对 Udemy Business 中的群组详细信息进行部分更新。

    PATCH 端点比其他端点更难以处理,因为它支持不同类型的操作(及其组合):

    • 替换操作可更改指定值。在我们的示例中为群组名称或成员。
    • 移除操作可从群组中移除成员。
    • 添加操作可向群组添加成员。

    规则如下:

    • 我们永远不会从群组中移除未配置的成员(例如,在“替换”成员操作时)。
    • 无论操作次数多少,系统都将 PATCH 请求视为原子操作。

    输入验证如下:

    • 每个请求的正文必须包含 URI 值为“urn:ietf:params:scim:api:messages:2.0:PatchOp”的“架构”属性。
    • HTTP PATCH 请求的正文必须包含“操作”属性,其值为一个或多个 PATCH 操作的数组。每个 PATCH 操作对象必须恰好有一个“op”成员,其值指示要执行的操作,并且可以是“添加”、“移除”或“替换”中的一个。 
    • “路径”属性可以为空,在这种情况下,“值”应当为采用 {“path”: “value”} 格式的字典。
    • 对于“移除”操作,需要“成员”路径。
    • 对于“添加”操作,应当存在“成员”或“外部 ID” “路径”。
    • 对于“替换”操作,可能存在“成员”路径。如果不存在,则意味着我们正在替换群组详细信息(如群组名称)而不是成员。

    请注意:

    • 向群组分配/取消分配用户是异步操作,因此不会在 Udemy Business 中立即反映这些更改。
    • 我们不支持嵌套群组,因此在此请求期间将会忽略这些群组。

    响应:

    • 如果操作成功,则会返回 HTTP 状态代码 204
    • 如果群组不存在,则会返回 HTTP 状态代码 404
    • 如果尝试向非组织成员用户分配群组,则会返回 HTTP 状态代码 404 和错误详细信息
    • 如果请求未通过验证,则会返回 HTTP 状态代码 400,响应正文中会显示错误详细信息

    DELETE /Groups/<id>

    此端点用于移除或取消配置 Udemy Business 中的群组。 

    规则如下:

    • 如果群组中包含未配置的成员,则会从群组中移除已配置的用户,删除“OrganizationSCIMGroup”记录。

    响应:

    • 如果操作成功,则会返回 HTTP 状态代码 204
    • 如果群组不存在,则会返回 HTTP 状态代码 404

    延伸阅读

    阅读文章
  • 使用已批准的电子邮件域帮助用户“自助”访问 Udemy Business

    我们有两种方式可以帮助用户访问您的 Udemy Business 帐户 - 通过单点登录 (SSO) 和通过管理员/群组管理员发送的邀请。

    如果您使用邀请流程,此功能为额外选项,让您的用户在使用您(管理员)预设的经批准/验证的电子邮件地址域后,可以从您的帐户登录页面(例如 company.udemy.com)自行触发邀请电子邮件。

    如何批准电子邮件地址域

    在网页上名为电子邮件域访问设置部分,管理员可以指定一个电子邮件域(或多个域)批准加入您的 Udemy Business。

    email_domain_access.png

    此功能适用于 Team 和 Enterprise 方案 - 但在电子邮件域访问页面设置经批准的电子邮件域功能只有所有者和管理员可以访问,群组管理员无法访问。

    共享您的帐户登录页面 URL 以供用户注册

    您可以通过 Slack、电子邮件、 Wiki 或内联网与组织中拥有访问权限的用户和群组分享您的 Udemy Business 帐户登录页面 URL,也可以直接将链接添加到您的学习管理系统 (LMS)。

    用户访问您的帐户登录页面 URL 时,他们可以输入其电子邮件地址以注册,只要输入的电子邮件地址与管理员预设的经批准的电子邮件域匹配。

    UB_login.jpg

    输入已批准的电子邮件地址后,他们会在屏幕上看到说明,指导他们查看电子邮件中的邀请。这是我们验证用户电子邮件地址的方式。

    check_your_email_for_invitation.png

    许可证使用和验证

    用户必须完成其帐户的注册才能获得许可证。 

    如果没有可用的许可证,我们会向用户显示如下消息,以联系其经理或 IT 部门。

    all_licenses_have_been_allocated.png

    用户会收到邀请电子邮件,然后点击邀请中的链接以继续注册,添加其姓名、电子邮件及密码。系统将提示用户 通过验证电子邮件验证他们的帐户信息,其中包含的链接在一小时内有效*。验证完他们的帐户后,用户便可以首次登录并开始学习。 

    *请注意,单点登录 (SSO) /跨域管理系统 (SCIM) 用户不需经过此验证流程。

    send_verification_email.png

    activate_account_email.png

    如果用户输入的电子邮件地址与已批准的电子邮件域不匹配,他们会看到如下消息,系统将阻止他们注册。

    not_invited_to_this_account.png

    如果没有可用的许可证,我们会向用户显示如下消息,以联系其经理或 IT 部门。

    no_licenses.png

    通过经批准的电子邮件流程注册的用户将显示在管理用户待处理邀请屏幕上,但他们会显示为“通过经批准的电子邮件邀请”以此为区分。

    invited_through_approved_email.png

    此功能适用于 Team 和 Enterprise 方案 - 但在用户访问页面设置经批准的电子邮件域功能只有所有者和管理员可以访问,群组管理员无法访问。

    阅读文章