Как использовать аутентификацию PKI для использования API Opensearch Dashboards?
Я пытаюсь использовать OpenSearch Dashboards API (вилка Amazon Kibana), чтобы добавить поисковый индекс. Я использую версию 1.0, а также установил плагин безопасности. У меня нет проблем с использованием TLS PKI для взаимодействия с OpenSearch (Elasticsearch). Однако всякий раз, когда я пытаюсь взаимодействовать с OpenSearch Dashboard API с аутентификацией TLS PKI, я получаю сообщение об ошибке. Я могу настроить PKI в Dashboards для аутентификации в OpenSearch без каких-либо проблем. Вот эффективная команда оболочки с использованием curl, но я хочу использовать python, когда закончите:
curl -X POST --cert MYCERT.crt --key MYKEY.key --cacert MY-CA-BUNDLE.crt https://HOSTNAME:5601/api/saved_objects/index-pattern/test-index -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' { "attributes": { "title": "test-index-*","timeFieldName": "@timestamp" } }'
Я получаю следующее сообщение об ошибке JSON:
{"statusCode":401,"error":"Unauthorized","message":"Authentication required"}
Если я вместо этого использую API с «простым» именем пользователя и паролем, будет работать та же команда:
curl -X POST -u USERNAME:PASSWORD https://HOSTNAME:5601/api/saved_objects/index-pattern/test-index -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' { "attributes": { "title": "test-index-*","timeFieldName": "@timestamp" } }'
Однако я, похоже, не могу найти способ разрешить моему доступу выдавать команду API с использованием сертификатов PKI, что я и ищу, чтобы отключить простую аутентификацию. Кто-нибудь знает, какой параметр мне не хватает, или я неправильно использую API? Я изучил документацию к плагину, но не могу найти ни одного элемента, который мне не хватает.
1 ответ
Вы пробовали простой запрос к службе Opensearch, например:
curl -XGET -k https://$(hostname):9200/ --key MYKEY.key --cert MYCERT.crt
Если этот не работает, возможно, вам нужно проверить сертификаты, настроенные в файле opensearch.yml.