如何查看通过OIDC SSO登录Elasticsearch后被分配的角色?
查看OIDC(Azure AD)登录用户的Elasticsearch角色
方法1:使用_security/user/_me API直接获取角色
这是最直接的解决方案,该API专门用于获取当前登录用户的完整信息,包括通过角色映射分配的所有Elasticsearch角色,支持SSO用户:
在Kibana开发者工具中执行以下命令:
GET _security/user/_me
返回结果的roles字段会明确列出所有分配给你的角色,示例返回如下:
{ "username": "your-azure-ad-account", "roles": [ "kibana_viewer", "custom_data_editor" ], "full_name": "Your Full Name", "email": "your.email@domain.com", "metadata": { "oidc": { "claims": { // 包含Azure AD传递的声明信息 } } } }
方法2:权限反向匹配(权限受限场景)
如果因权限限制无法调用_me API,可通过以下步骤推导所属角色:
- 先获取自身所有权限:
GET _security/user/_privileges - 进入
/app/management/security/roles页面,逐个查看角色的权限配置,将其与你拥有的权限做对比,匹配出对应的角色。
注意:这种方法较为繁琐,且存在多角色权限重叠的可能,准确性不如
_meAPI。
关键说明
_security/user/_meAPI从Elasticsearch 7.10版本开始支持,需确保集群版本符合要求。- 若无法调用该API,说明你的用户没有
read_user或manage_user权限,需联系集群管理员协助查看角色映射关系。
内容的提问来源于stack exchange,提问作者sparrowt
相关产品推荐
相关产品推荐

