web-dev-qa-db-ja.com

elasticsearch 5.0認証を無効にする方法は?

elasticsearchを使い始めたところです。デフォルト設定(5シャード、1レプリカ)でインデックスを作成しました。次に、attachmentプラグインで〜13Gテキストファイルのインデックスを作成しました。その結果、Kibana Discoverでの検索が非常に遅くなりました。ただし、コンソールでの検索は高速です。

GET /mytext/_search
{
  "fields": [ "file.name" ],
  "query": {
    "match": {
      "file.content": "foobar"
    }
  },
  "highlight": {
    "fields": {
      "file.content": {
      }
    }
  }
}

なぜそんなに遅いのかを調べるために、X-Packをインストールしました。ガイドのドキュメントは包括的なものではないようで、セキュリティ設定を取得できませんでした。

elasticsearchのデフォルトのインストールはログインする必要はありませんが、インストール後にログインする必要があります X-Packプラグイン。 elasticsearch、kibana、x-packのセキュリティ設定と混同されていますが、ユーザーアカウントを共有していますか?結局のところ、私は認証が次のように動作するようになります:

curl -XPUT -uelastic:changeme 'localhost:9200/_shield/user/elastic/_password' -d '{ "password" : "newpass1" }'
curl -XPUT -uelastic:newpass1 'localhost:9200/_shield/user/kibana/_password' -d '{ "password" : "newpass2" }'

ここに問題があります。 Java client with org.elasticsearch.plugin:shield]を使用してログインできない。

さて、認証を無効にすることはできますか?

ノード構成から:

GET http://localhost:9200/_nodes

"nodes" : {
    "v_XmZh7jQCiIMYCG2AFhJg" : {
        "transport_address" : "127.0.0.1:9300",
        "version" : "5.0.0-alpha2",
        "roles" : [ "master", "data", "ingest" ],
        ...
        "settings" : {
            "node" : {
                "name" : "Apache Kid"
            },
            "http" : {
                "type" : "security"
            },
            "transport" : {
                "type" : "security",
                "service" : {
                    "type" : "security"
                }
            },
...

だから、これらの設定を変更できますか、可能な値はありますか?

35
Xiè Jìléi

テスト環境で、次のオプションをelasticsearch.ymlおよび/またはkibana.ymlに追加しました

xpack.security.enabled: false
97
Rob

画像名がelasticsearchであると仮定します。名前が気に入らない場合はidを使用できます

dockerを実行する場合、これを使用できます。コマンドでdockerのbashに移動します

docker exec -i -t elasticsearch /bin/bash

次に、x-packを削除します

elasticsearch-plugin remove x-pack

終了ドッカー

exit

dockerイメージを再起動します

docker restart elasticsearch

Disclamer: MichałDymel に触発されたソリューション

23
Daniel Staleiny

Docker(ローカルdev)で使用する場合、xpackを削除する代わりに、単に無効にすることができます。

docker pull docker.elastic.co/elasticsearch/elasticsearch:5.5.3
docker run -p 9200:9200 \
    -p 9300:9300 \
    -e "discovery.type=single-node" \
    -e "xpack.security.enabled=false" \
    docker.elastic.co/elasticsearch/elasticsearch:5.5.3
4

私はこれを使用して認証することに成功しましたxpack_security_enableはfalseですが、まだkibanaログに認証エラーが表示されます。

elasticsearch:
    image: elasticsearch:1.7.6
    ports:
      - ${PIM_ELASTICSEARCH_PORT}:9200
      - 9300:9300
kibana:
    image: docker.elastic.co/kibana/kibana:5.4.1
    environment:
      SERVER_NAME: localhost
      ELASTICSEARCH_URL: http://localhost:9200
      XPACK_SECURITY_ENABLED: 'false'
    ports:
      - 5601:5601
    links:
      - elasticsearch
    depends_on:
      - elasticsearch

これが私の現在の設定です。kibanaでいくつかのエラーが表示されます。 KIBANAダッシュボード

Kibanaログで私は見ることができます:

kibana_1         | {"type":"log","@timestamp":"2017-06-15T07:43:41Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"No living connections"}
kibana_1         | {"type":"log","@timestamp":"2017-06-15T07:43:42Z","tags":["warning","elasticsearch","admin"],"pid":1,"message":"Unable to revive connection: http://localhost:9200/"}

そのため、認証を使用して接続しようとしているようです。

3
neisantos

同じxpackの問題がありましたが、kibanaで次のコマンドで修正しました。

docker run docker.elastic.co/kibana/kibana:5.5.1 /bin/bash -c 'bin/kibana-plugin remove x-pack ; /usr/local/bin/kibana-docker'

そのため、コンテナを起動し、xpackを削除してから通常のプロセスを開始します。 elasticsearchとlogstashでも同じことができます。

0
Pavlo Devyatkin