[ MSP、API 和集成 ]

SCIM 和身份验证平台的用户生命周期要求

使用稳定标识符、租户绑定操作以及禁用、角色和会话撤销的单独证据来指定 SCIM 生命周期要求。

由EmailAuth研究团队提供 · 7 分钟阅读

[ 要点 ]

  • SCIM 配置响应并不证明完全访问撤销。
  • 将每个客户端和资源操作绑定到授权租户。
  • 对读取、导出、写入和生命周期更改使用负面夹具测试。
在此页面上

将配置视为生命周期合同

SCIM 可以标准化身份信息的交换方式,但说平台支持 SCIM 并不能建立其完整的访问生命周期。这些要求必须确定支持哪些资源和属性、用户如何与租户绑定、角色更改意味着什么以及禁用如何影响现有访问。配置响应并不能自动证明每个会话、导出权限或 API 凭证已被撤销。

RFC 7643 定义 SCIM 核心架构,包括用户和组资源。 RFC 7644 定义协议操作和配置注意事项。这些主要规范提供了需求词汇表,但不能证明EmailAuth实现了任何特定端点或生命周期行为。在准备本手稿的过程中,没有创建、更改、禁用或删除任何用户。

建立标识符和租户绑定

记录服务提供商的资源标识符、配置客户端的相关标识符(如果使用)以及操作适用的租户。 RFC 7643区分id和externalId;它们不应该被随意替换为可变的电子邮件地址。用户的地址或显示名称可以更改,但这并不意味着新用户应该继承旧帐户。定义应用程序如何识别现有资源并防止更新针对其他租户的用户。

RFC 7644讨论了多租户以及客户与租户的关联,但没有规定一种通用租户实施。要求实际供应商解释其绑定模型:哪个经过身份验证的配置客户端可以在哪个租户和资源集上运行。请求中提供的租户标识符本身不足以授权。实现必须在经过身份验证的客户端和请求的范围之间建立关系,包括列表、搜索和生命周期操作。

指定支持的资源和更新行为

询问哪些用户和组属性被接受、返回、不可变、必需或忽略。文档扩展以及从组成员身份到应用程序权限的任何映射。对组对象的成功更新本身并不能证明相应的应用程序角色已更改。访问行为必须单独确认。避免假设每个支持 SCIM 的平台都支持相同的过滤器、PATCH 操作或发现端点。

RFC 7644定义了检索、创建、替换、修改和删除等操作,并描述了服务提供商配置发现。使用这些机制来询问有关支持的功能的精确问题。保留记录的错误行为和并发支持(如果适用)。如果某个操作不受支持,请记录受支持的替代方案,而不是将通用 SCIM 标签视为使用它的权限。这项工作中没有发生端点发现或请求执行。

定义禁用而不发明撤销

RFC 7643将用户活动属性描述为管理状态指示符,其最终含义由服务提供商确定。这是一个关键的资格。不能假定将 active 设置为 false 会使所有实现中的每个活动会话、API 令牌或委托集成失效。该要求应说明预期的访问结果,并要求当前平台证据显示实际发生的变化。

将禁用的用户与已删除的资源和删除组成员身份区分开来。每一种都可能对访问、保留的审核记录和以后的重新激活产生不同的后果。要求供应商解释现有会话的行为方式、紧急撤销的执行方式以及哪些非交互式凭证超出 SCIM 生命周期。如果平台需要单独的遏制行动,请记录该行动及其授权,而不是将其隐藏在“卸载完成”状态后面。

验证角色更改和保留的访问权限

角色减少是一项特别有用的测试,因为它可以公开缓存的或不完整的授权更新。定义初始允许的操作,在固定环境中应用授权的生命周期更改,并根据平台记录的时间检查现在不允许的操作是否被拒绝。将测试描述与测试已运行的声明分开。不要仅评估用户界面标签是否更改。

Azure 的多租户身份指南 将身份、授权和权利分开。将这种分离应用于需求:SCIM 可以在应用程序做出资源授权和商业权利决策时携带用户或组数据。删除许可证、禁用帐户和删除管理角色不一定是同一操作。记录哪个系统拥有每个决策以及如何检测不一致的状态。

访问矩阵工作表

创建包含配置客户端、绑定租户、目标资源、操作、预期角色或生命周期状态、预期授权结果和证据位置的矩阵。包括读取、搜索、导出相关的应用程序访问、写入和用户生命周期案例。至少使用两个具有可区分合成数据的独立租户设备,以便跨租户泄漏无法隐藏在相同的结果后面。拟议的设计不需要真实的租户数据。

添加以下负面案例:客户端尝试与另一个租户的用户联系,搜索返回另一个租户的记录,角色减少使管理写入可用,以及禁用的身份保留不受支持的访问。这些是防御性接受案例,而不是未经授权探测实时服务的指令。单独记录支持的 API 和应用程序行为,因为 SCIM 更新响应和应用程序授权决策是不同的证据项。

虚构诊断:具有活动会话的禁用记录

在测试用户资源被标记为非活动后,虚构的评估者会看到成功的响应。评估员最初将离职标记为完成。需求审阅者询问更新之前存在的应用程序会话是否仍然可以读取报告或启动导出。该团队意识到,演示仅证明了配置操作已被接受,而不是完整的访问结果。

建议的下一步是咨询供应商当前的会话行为并运行经批准的基于夹具的检查。如果需要单独撤销,生命周期程序必须包括授权所有者和验证。此场景是虚构的:未观察到非活动用户、活动会话或失败的撤销。它说明了缺失的验收标准,而不是断言任何真实平台中存在缺陷。

计划协调和异常处理

定义如何在不重复用户或扩大访问范围的情况下显示、重试和协调配置失败。记录客户端是否使用受支持的并发控制以及如何处理冲突的更改。临时的同步失败不应该默默地变成永久的权限异常。同样,在不了解操作和提供者行为的情况下,重试不应被描述为安全的。

该目录需要访问矩阵和涵盖跨租户读取、导出、写入和用户生命周期更改的负面测试。那些最初的测试仍然开放。本手稿提供了拟议的矩阵和要求,而不是实施证据。人类专家审查、来源适用性、生产路线、可访问性和所有者发布也保持开放。可发布的功能声明需要来自实际平台的当前支持的行为和授权结果,而不会暴露真正的用户秘密或租户数据。

[ 外卖 ]

将配置更改转化为经过验证的访问结果,而不是假设架构可以保证它们。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

供应管理员

文档支持的映射

核心架构支持并不建立每个应用程序权限映射。

后续步骤

  1. 记录标识符和扩展名。
  2. 在不扩大访问范围的情况下协调失败。

安全测试仪

验证租户和生命周期边界

更新成功与授权结果不同。

后续步骤

  1. 使用合成租户固定装置。
  2. 测试被拒绝的操作和活动会话。

应用程序所有者

定义禁用含义

服务提供商确定管理状态的确切含义。

后续步骤

  1. 记录单独的撤销路径。
  2. 保留并审查生命周期异常。

[ 常见问题解答 ]

常见问题

SCIM 的定义是什么?

RFC 7643定义核心资源模式, RFC 7644定义协议操作和相关行为。它们并不能证明产品实现了所有功能。

RFC 7644 :SCIM 协议

id 和 externalId 可以互换吗?

不可以。RFC RFC 7643将服务提供商标识符与外部提供的相关标识符区分开来。

RFC 7643 :SCIM 核心架构

active=false是否总是撤销会话?

不存在普遍保证。 RFC 7643将活动的明确含义留给了服务提供商;会话处理需要单独的证据。

RFC 7643 :SCIM 核心架构

删除组是否一定会删除应用程序角色?

必须记录和测试实际的映射。单独的资源更新并不能确定应用程序授权结果。

SCIM 是否规定了一种多租户设计?

RFC 7644讨论了多租户,但没有强加一种通用的实现。需要实际的客户端到租户绑定模型。

RFC 7644 :SCIM 协议

租户请求参数可以授权操作吗?

它标识请求的范围,但并不单独建立经过身份验证的客户端使用该范围的权限。

Microsoft Azure:多租户解决方案的身份注意事项

这篇文章的用户是否发生了变化?

否。未创建、修改、禁用或删除任何用户;所有情况均建议防御性验收检查。

释放前需要什么证据?

该目录需要访问矩阵和负面跨租户读取、导出、写入和生命周期测试。这些仍然开放。

[ 来源 ]

来源

  1. RFC 7643 :SCIM 核心架构

    部分 §3.1 公共属性 · §4.1.1 单一属性 · §4.2 组资源模式

  2. RFC 7644 :SCIM 协议

    部分 §3 SCIM 协议 · §3.5 修改资源 · §3.6 删除资源 · §6 多租户 · §7 安全注意事项

  3. Microsoft Azure:多租户解决方案的身份注意事项

    部分 授予用户对租户数据的访问权限 · 工作负载身份 · 与 IdP 联合进行 SSO · 授权模型 · 权利和许可

[ 词汇表 ]

词汇表

SCIM 用户资源
RFC 7643定义的核心用户资源,包括管理属性。

RFC 7643 :SCIM 核心架构

外部ID
由配置客户端提供的相关标识符,与服务提供商 ID 不同。

RFC 7643 :SCIM 核心架构

积极的
用户管理状态属性,其最终含义由服务提供商设置。

RFC 7643 :SCIM 核心架构

生命周期验收
建议验证配置更改是否会产生预期的应用程序访问结果。

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库