将 SCIM 功能限制为仅删除用户

问题描述 投票:0回答:1

我们需要为各种 IDP 实现一种方法来向我们的系统用户发送创建/更新/删除调用,以便他们的 IDP 系统自动将用户更改推送到我们的。我们已经通过 SSO 将创建和更新实现为用户配置。这是我们需要的删除部分。我们正在做一些研究,发现了 SCIM。这似乎是一个非常有用的协议,因为我们的应用程序不需要为每个客户端配置,因为 IDP 可以通过 SCIM 发现我们的应用程序可以做什么。一个 SCIM 并将用户与另一个 SCIM 系统同步,因此我们也可以使用它。

我们希望通过 SCIM 从一组非常有限的可用操作开始;主要是我们只想让 IDP 停用用户。我开始研究如何限制发现元数据,以便 IDP 只知道这个,但我不确定我找到了那个地方。

我也不确定任何 SCIM 实施是否需要查询用户。那么我是否在 SCIM 用户控制器上实现 Get() 和 Delete() 方法并为其他所有内容返回 BadRequest?

user-management idp scim
1个回答
0
投票

从主要 IDP 的 SCIM 客户端的产品经理的角度来说——你想要的并不是闻所未闻的,但它会导致非常糟糕的体验。通过 SSO(又名 JIT/“即时”配置)创建用户很有帮助,尤其是在用户可能被雇用/添加到应用程序并且需要几乎立即使用该应用程序的情况下。

然而,这里的道路上有一些颠簸——如果用户能够 SSO 进入应用程序并且没有正确配置到事物的 SCIM 端,用户最终会被创建但不会被删除/停用。此处偶尔出现的情况是用户被授予访问权限并且 SSOs 在 -> 帐户创建 -> IT 管理员意识到这是一个错误并且不需要访问权限,从 IDP 中的应用程序中删除/取消分配它们。如果这一切都在相对较短的时间内发生,用户可能永远不会被 SCIM 供应功能所接受。出于这样的原因,我提倡将用户配置完全交由配置服务/SCIM 处理,而不是依赖 JIT + SCIM 的混合。

对于您的具体实施问题,并非所有 IDP 都会吸引所有用户(即:一个简单的 GET /Users)。有些做有针对性的请求,并且只会请求有关在 IDP 端分配/范围内的用户的数据。在这种情况下,您几乎只会看到针对单个用户的过滤请求(即:GET /Users?filter=userName eq "[email protected]")

© www.soinside.com 2019 - 2024. All rights reserved.