@alekseivanov

Как решить проблему с отсутствием прав у пользователя Elasticsearch-php?

Я настроил себе эластик, установил пакет для работы с ним в пхп, создал API key.
Когда я совершаю запросы через Postman используя логин и пароль - всё работает нормально.
Но при попытке обратиться к эластику через пхп, выдаёт ошибку.
Я правильно понимаю, что помимо привилегий самого пользователя, есть ещё привилегии апи-ключа?
В общем, как мне настроить подключение?

Код подключения:
$hosts = [
    'http://elastic:elastic@localhost:9200',
];

$client = Elasticsearch\ClientBuilder::create()
    ->setApiKey('kTfKEF48RHmE_-vpfTtSuw', 'xUANr4ABgUUCI0dipayS')
    ->setHosts($hosts)
    ->build();


Ошибка:

PHP Fatal error: Uncaught Elastic\Elasticsearch\Exception\ClientResponseException: 403 Forbidden: {"error":{"root_cause":[{"type":"security_exception","reason":"action [indices:data/read/get] is unauthorized for API key id [xUANr4ABgUUCI0dipayS] of user [elastic] on indices [pokemon], this action is granted by the index privileges [read,all]"}],"type":"security_exception","reason":"action [indices:data/read/get] is unauthorized for API key id [xUANr4ABgUUCI0dipayS] of user [elastic] on indices [pokemon], this action is granted by the index privileges [read,all]"},"status":403} in /home/gleb/PhpstormProjects/test/elastic/vendor/elasticsearch/elasticsearch/src/Response/Elasticsearch.php:65
  • Вопрос задан
  • 178 просмотров
Решения вопроса 1
akelsey
@akelsey
При создании ключа вам нужно добавлять привилегии (чтение или запись), время действия ключа и прочее.
Подробнее тут:
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы