私はこのelasticsearchプラグインを使用しています:
https://github.com/sscarduzio/elasticsearch-readonlyrest-plugin
非常にシンプルで、インストールと構成が簡単です。GitHub プロジェクト ページには、リクエストを HTTP GET メソッドのみに制限する方法を示す構成例があります。これはelasticsearchのデータを変更しません。データを変更できる他の方法 (PUT/DELETE/etc) を使用するために、ホワイトリストに登録された IP 番号のみが必要な場合 (または何も必要ない場合) も同様にカバーされます。
次のような内容が、GitHub ページから適用された、elasticsearch 構成ファイル (/etc/elasticsearch/elasticsearch.yml または同等のもの) に入ります。
readonlyrest:
enable: true
response_if_req_forbidden: Sorry, your request is forbidden
# Default policy is to forbid everything, let's define a whitelist
access_control_rules:
# from these IP addresses, accept any method, any URI, any HTTP body
#- name: full access to internal servers
# type: allow
# hosts: [127.0.0.1, 10.0.0.10]
# From external hosts, accept only GET and OPTION methods only if the HTTP request body is empty
- name: restricted access to all other hosts
type: allow
methods: [OPTIONS,GET]
maxBodyLength: 0