You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何查询Keycloak中单个资源关联的已分配用户数量

Keycloak获取指定资源下已分配用户总数的实现方法
  • 前置准备
    先获取对应Realm下拥有view-authorization权限的账号的Access Token,后续所有接口请求都需要在请求头携带参数Authorization: Bearer <你的Access Token>
  • 方法1:通用资源权限查询法
    1. 调用接口查询目标工作空间对应的资源ID:
      GET /<你的Realm名称>/authz/protection/resource_set?name=<工作空间对应的资源名称>
      从返回结果中提取_id字段,即为该资源的唯一标识
    2. 调用权限关联查询接口,获取该资源绑定的所有授权主体:
      GET /<你的Realm名称>/authz/protection/permission?resource=<上一步获取的资源ID>&returnNames=true
      对返回结果中的用户主体去重后统计数量,就是直接分配给该资源的用户总数。如果你的资源同时给角色、用户组分配了权限,需要额外查询对应角色、用户组下的用户列表,汇总后再去重统计得到最终总数。
  • 方法2:用户策略直接统计法
    如果你的资源权限是通过独立的用户策略绑定的,可以用更简便的方式:
    1. 先查询资源关联的权限策略列表:
      GET /<你的Realm名称>/clients/<授权客户端的UUID>/authz/resource-server/resource/<资源ID>/permissions
      从返回结果中筛选出类型为user的策略ID
    2. 查询该用户策略下绑定的所有用户:
      GET /<你的Realm名称>/clients/<授权客户端的UUID>/authz/resource-server/policy/user/<用户策略ID>
      返回结果中的users字段即为所有绑定的用户,直接统计该数组的长度即可得到用户总数。

内容的提问来源于stack exchange,提问作者Chouaib Elmakhlouk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 19:24:05