#python-3.x #aws-cli #opensearch
#python-3.x #aws-cli #открытый поиск
Вопрос:
У меня есть домен эластичного поиска, размещенный внутри VPC. Я могу подключиться к домену с VPC без каких-либо проблем. Но для большей безопасности я хочу, чтобы аутентификация была основана на имени пользователя: пароле. Я использую использование elasticsearch-dsl для установления соединения. Есть идеи, как настроить подключение к домену на основе имени пользователя и пароля?
Я попытался обновить конфигурацию домена, чтобы установить MasterUser и MasterPassword (не уверен, что это правильный процесс).
aws es update-elasticsearch-domain-config --domain-name test-domain --advanced-security-options Enabled=true,InternalUserDatabaseEnabled=true
Я получаю эту ошибку:
An error occurred (BaseException) when calling the UpdateElasticsearchDomainConfig operation: You don't have permissions to enable Advanced Security options.
Правильно ли это делать? Если нет, то как мы можем включить аутентификацию на основе пароля?
Ответ №1:
Произошла ошибка (BaseException) при вызове операции UpdateElasticsearchDomainConfig: у вас нет разрешений для включения дополнительных параметров безопасности.
Указанная выше ошибка, которую вы получаете, указывает на то, что у вас нет разрешений на обновление расширенной конфигурации безопасности. При вызове API обновления необходимо использовать учетные данные основного пользователя.
Обратитесь к документации здесь, чтобы получить дополнительную информацию о главном пользователе: https://docs.aws.amazon.com/opensearch-service/latest/developerguide/fgac.html
Комментарии:
1. В том-то и дело, что в существующем домене не было главного пользователя. Я хотел его создать. опция в пользовательском интерфейсе недоступна для версии 6.7. Тем не менее, мы продолжили использовать политику на основе ролей. Обычный curl не работает из экземпляра, если вы хотите получить доступ к домену. Нам нужно создавать подписанные запросы AWS из кода, используя их SDK.