SuperAPI AI 工具集

elasticsearch-authz

安全与审计

查看项目

更新于 10-16 05:07

技能介绍

用途:管理 Elasticsearch 的 RBAC,包括原生用户、角色、角色分配,以及面向外部 realm(SAML、LDAP、PKI)的角色映射。认证方法与 API key 管理见 elasticsearch-authn 技能;详细 API 端点见 references/api-reference.md。

主要能力:创建带指定权限的原生用户;定义最小权限的自定义角色(索引与集群权限);为已有用户分配角色;创建含 Kibana 功能或空间权限的角色;为外部 realm 用户配置角色映射;用 Mustache 模板从用户属性动态派生角色;文档级安全(DLS)按用户或部门限制可见文档;字段级安全(FLS)隐藏 PII 等敏感字段;用模板化角色查询实现 ABAC。

使用方式:需 Elasticsearch URL、认证凭据,用户与角色管理需 manage_security 集群权限;涉及 Kibana 功能/空间权限时还需 Kibana URL。纯索引/集群角色用 Elasticsearch API(PUT /_security/role/{name});含 Kibana 功能或空间权限时须用 Kibana API(PUT /api/security/role/{name})。创建用户用 POST /_security/user/${USERNAME};更新用户角色时 roles 数组会被整体替换,需先 GET 获取现有角色再合并。可用 POST /_security/user/_has_privileges 验证有效权限。

适用场景:将自然语言访问请求拆解为用户、角色与角色映射任务;按部门或属性限制数据;隐藏敏感字段;为 LDAP/SAML 用户做组映射。

限制:原生用户与角色映射仅适用于自建和 ECH 部署;Serverless 无原生用户和角色映射,需用 cloud-access-management 技能在 Cloud 层分配角色,且 Serverless 自定义角色不支持 run-as 权限。多角色叠加时 DLS 查询按 OR 合并、FLS 授权取并集,宽泛角色可能意外扩大访问,需核对有效权限。功能可用性因自建、ECH、Serverless 而异。