Аутентификация
Тема дорожной карты · Elasticsearch
Аутентификация в Elasticsearch управляется функциями безопасности Elastic (ранее X-Pack), которые проверяют личность пользователей и сервисов перед предоставлением доступа к кластеру. Elasticsearch поддерживает несколько встроенных реалмов аутентификации: native (имена пользователей и пароли, хранящиеся в самом Elasticsearch), file (учётные данные, загружаемые из локального файла), реалмы LDAP и Active Directory, PKI (аутентификация на основе сертификатов), SAML 2.0 и OpenID Connect для единого входа. Простейший способ создать пользователя в нативном реалме — через POST /_security/user/<username> с указанием пароля и одной или нескольких ролей, определяющих права доступа пользователя. Аутентификация в Elasticsearch требует настройки TLS, чтобы учётные данные никогда не передавались в открытом виде; проверки безопасности при запуске Elasticsearch откажутся запускать узел в производственном режиме без включённого TLS. Kibana выступает прокси аутентификации в Elastic Stack, передавая учётные данные пользователя в Elasticsearch при каждом запросе, обеспечивая единообразное применение управления доступом на основе ролей.
Как это работает
Аутентификация: built-in security (бесплатно с 7.x): аутентификация (native realm, LDAP, SAML, OIDC, Kerberos), TLS encryption (transport + HTTP — обязателен с 8.x по дефолту), RBAC (built-in + custom roles), Document/Field-level security (ограничивают, какие поля юзер может читать). API keys для service-to-service auth. Audit logs для compliance. Без security ES wide open — любой с network access читает/пишет.
Когда применять
Включайте security с первого дня — 8.x делает on-by-default, не выключайте. API keys для app-to-ES auth (не пароли). TLS на transport (inter-node) + HTTP — нетривиальный certificate setup но обязателен для prod. Field-level security для PII handling. Audit logs для удовлетворения compliance.
Типичные ошибки
Ловушки Аутентификация: ES в интернете без security (ransomware за день); elastic superuser везде (rotate + scoped API keys); HTTP-only внутри кластера (eavesdropping); нет мониторинга failed auth attempts.