摘要
- RFC 9865 把 SCIM 游标定义为对同一端点、同一查询参数下一个结果页的不可解析续接值。
- 续接并不继承权限:服务必须在遍历每一页时按行动者当前身份持续执行授权检查,持有游标不会增加访问权。
身份目录的自动化往往不是在第一页出错,而是在“稍后再继续”这件事上失去边界。一个作业用某个筛选条件拿到第一页,保存 nextCursor,几分钟后角色或组成员资格已经发生变化,却继续把游标当作第一次授权的封条。RFC 9865 提供的是列表的续接,不是把先前的一次可见性判断封装进一个可转交的凭证。
规范把续接条件写得很窄。第一次游标分页请求中的 cursor 必须为空或省略;下一次请求必须仍指向同一服务提供者端点,并且保留初始查询的全部参数和值,唯一改变的是使用前一响应给出的游标值。该值对客户端是不可解析的。除最后一页外,分页响应必须包含 nextCursor;previousCursor 可以提供,但绝不能出现在第一页。这些要求让同一查询的顺序可以被验证。它们没有让资源集合被冻结,也没有使调用方保有的值拥有授权意义。
页数与总数同样不能被放大。count 是期望的上限,服务提供者不得超过它,但可以返回更少结果;count=0 时不返回资源,只可返回 totalResults。如果服务提供者无法估算总数,也可以省略该字段。因此,某一页显示的数量不能证明目录已被完整读取、结果在下一页仍不变,或后续业务动作已经具备依据。提供者甚至可以仅支持游标分页;若同时支持索引分页,则必须选择默认方法,并可在配置资源中说明能力。
真正重要的约束来自保密性要求。RFC 9865 明确规定,分页结果必须严格限于行动者当前身份获准访问的数据;即使行动者取得的是另一位行动者生成的游标,规则也一样。服务必须在遍历结果集期间持续应用授权检查;无论任何情形,游标的持有都不得被解释为额外权限。这一层不是实现细节。它阻止“方便的状态句柄”绕过本应实时判断资源可见性的本地政策。
权限变更把这个差别变得可操作。可行时,服务提供者应在行动者权限变化后立即使其游标失效;若保留旧游标,则与结果集相关的计数等元数据必须反映新的权限范围。游标还应当难以伪造,服务对越权页面与不存在页面的错误表达不应泄漏敏感信息。旧游标仍存在并不证明旧权限仍有效;一次成功响应也只证明当时、在那一页、经过了何种限制后的结果。
服务可用性也需要单独记录。如果提供者为每个游标保留大量状态,攻击者或错误客户端可以用初始查询耗尽资源。RFC 建议对大结果集进行认证、实施速率限制、设置游标数量或页面大小上限,并让失效机制节省资源。配置文档没有公布默认页大小、最大值或超时,并不表示当地不存在限制。未显示的值不能被当作不存在的控制。
Heng Lu 的框架能避免把共同协议放到不属于它的位置。RFC 9865 建立了一组参与者可各自验证的最小协调规则:如何开始、如何继续、何时没有下一页。当前身份、授权政策、运行中的代码和下游决定仍是本地责任。游标的价值在于让查询接续;它的边界在于不能替代每一次真正的授权。
Sources
- https://www.rfc-editor.org/rfc/rfc9865.html
- https://www.rfc-editor.org/info/rfc9865/
- https://datatracker.ietf.org/doc/rfc9865/
- https://www.iana.org/assignments/scim/
- https://www.rfc-editor.org/rfc/rfc7644.html
- https://www.rfc-editor.org/rfc/rfc7643.html
- https://www.rfc-editor.org/rfc/rfc3986.html
- https://www.rfc-editor.org/rfc/rfc6585.html
- https://www.rfc-editor.org/rfc/rfc9325.html
- https://www.rfc-editor.org/rfc/rfc9110.html
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
会员简报
档案背景详情
使用相应会员等级登录,即可解锁完整简报与来源注释。
仅限 Strategic Circle
Strategic Circle
所有读者均可浏览。加入并登录后可解锁档案简报。
加入 Strategic Circle仅限 Leadership Alliance
Leadership Alliance
符合条件的 IP 资产所有者和管理层可登录查看 Leadership Alliance 简报。
加入 Leadership Alliance
