SuperAPI AI 工具集

elasticsearch-authn

安全与审计

查看项目

更新于 10-15 21:37

技能介绍

用途:帮助连接并认证到已配置好认证域的 Elasticsearch 集群,涵盖内置认证域、凭据校验与 API 密钥生命周期管理。角色、用户与角色映射请参考 elasticsearch-authz 技能。

主要能力:支持原生(用户名密码)、文件、LDAP、Active Directory、PKI 客户端证书、SAML、OIDC、JWT、Kerberos 等认证方式,以及 API 密钥(Authorization: ApiKey)机制。可校验当前身份(GET /_security/_authenticate),创建带作用域的 API 密钥、查询与失效密钥、设置服务账户令牌、代他人授予密钥。

使用方式:所有示例通过环境变量引用凭据,如 ELASTICSEARCH_URL、ELASTICSEARCH_USERNAME、ELASTICSEARCH_PASSWORD、ELASTICSEARCH_API_KEY。缺少变量时应让用户在项目根目录的 .env 文件中设置,而非在对话中索要。校验示例:curl -u "${ELASTICSEARCH_USERNAME}:${ELASTICSEARCH_PASSWORD}" "${ELASTICSEARCH_URL}/_security/_authenticate";API 密钥示例:curl -H "Authorization: ApiKey ${ELASTICSEARCH_API_KEY}" "${ELASTICSEARCH_URL}/_security/_authenticate"。创建密钥用 POST /_security/api_key,可通过 role_descriptors 限定索引与权限,并设置 expiration。

适用场景:交互式登录、CI/CD 与自动化访问、企业目录集成、服务间 mTLS、Kibana SSO、令牌认证等。

限制:不同部署类型支持不同认证域——自管理支持全部;ECH 不支持文件、LDAP、AD、Kerberos,PKI 受限,SAML/OIDC/JWT 通过部署设置配置;Serverless 主要用 API 密钥,无原生用户,SAML 在组织级配置。SAML 与 OIDC 仅用于浏览器 SSO,不适用于 REST 客户端,需另配原生或 API 密钥。API 密钥创建后无法再次获取,且不能用 API 密钥创建带权限的新密钥,应改用 POST /_security/api_key/grant。切勿在对话中接收或记录任何密钥,避免使用超级用户凭据,密钥应设置过期时间并限定作用域。