Shield, безусловно, продукт безопасности класса предприятия с эластичным. Shield поставляется с множеством функций безопасности наряду с аутентификацией. Он поставляется с авторизацией, SSL и LDAP.
Вы можете загрузить щит и начать играть с ним. Вы можете прямо перейти на Field and Document level security раздел, где вы можете установить доступ для пользователей, чтобы читать только индекс на основе установленных вами правил аутентификации.
Эти правила вы можете динамически изменять с помощью эластичного REST api, или вы можете настроить их во время развертывания в файлах конфигурации.
Для динамического изменения правил аутентификации, следующих за остальными api.
POST /_shield/role/my_fls_role
{
"indices": [
{
"names": [ "index1", "index2" ],
"privileges": ["read"],
"fields": [ "title", "body" ]
}
]
}
Это также поддерживает сложные правила аутентификации, где вы можете установить правила для полей также для конкретных ролей
POST /_shield/role/customer_care
{
"indices": [
{
"names": [ "*" ],
"privileges": ["read"],
"fields": [
"issue_id",
"description",
"customer_handle",
"customer_email",
"customer_address",
"customer_phone"
]
}
]
}
Вы можете настроить несколько ролей для нескольких приложений клиента для различных слоев доступа и если вы рассматривают более сложные решения безопасности на уровне предприятия, которые вы также можете настроить для этих ролей из LDAP, которые очень красиво обрабатываются эластичными, поскольку они кэшируют учетные данные пользователя, полученные от LDAP по сети, для повышения производительности.
Также, если вы не ищете такие решения безопасности для обеспечения безопасности, вы можете посмотреть nginx/apache reverse proxy, чтобы аутентифицировать запросы поиска, прежде чем бросать их в кластер.
Это может помочь: https://www.elastic.co/guide/en/shield/current/configuring-rbac.html – jay