2

Elasticsearch の Shield プラグインに問題があります。Elasticsearch をサービスとして実行するようにインストールしました。ポート 9200 で実行されていることがわかります。

Macターミナルに入るcurl http://localhost:9200と、正しいelasticsearch出力が得られます...

最近、基本認証からシールド認証にアップグレードしようとしています。次のコマンドを使用して、シールドとライセンスをインストールしました。

/usr/share/elasticsearch/bin/plugin install license/latest
/usr/share/elasticsearch/bin/plugin install shield/latest

これにより、シールドとライセンスのプラグインが正常にインストールされます。それらは、Vagrant ボックスの /usr/share/elasticsearch/plugins ディレクトリに含まれています。

したがって、curl -XGET http://localhost:9200もう一度使用しようとすると、次の応答が返されます。

{"error":{"root_cause":[{"type":"security_exception","re​​ason":"REST リクエストの認証トークンがありません [/]","header":{"WWW-Authenticate":"Basic レルム=\"shield\""}}],"type":"security_exception","re​​ason":"REST リクエストの認証トークンがありません [/]","header":{"WWW-Authenticate":"Basic realm= \"盾\""}},"ステータス":401}

これはいい。適切な認証がないとelasticsearchに到達できません。そこで、elasticsearch に対して認証するユーザーを作成したいと思います。次のコマンドを使用します。

sudo ./esusers useradd testuser -p password -r admin

これにより、管理者権限を持つパスワード「password」を持つユーザー「testuser」が作成されます。

次のコマンドを使用して、このユーザーが作成されたことを確認できます。

sudo ./esusers list

これは以下を返します:

テストユーザー: 管理者

そこで、このユーザーで再度 curl コマンドを実行してみます。

curl -u testuser:password -XGET http://localhost:9200

しかし、管理者ユーザーなしで試したときと同じエラー メッセージが表示されます。

ここでの問題は何ですか?管理者ユーザーが認証されないのはなぜですか?

4

1 に答える 1