HTTP/REST クライアントとセキュリティ

Elasticsearch のセキュリティ機能は、ユーザーを認証するために標準の HTTP 基本認証 ヘッダーと連携します。Elasticsearch はステートレスであるため、このヘッダーはすべてのリクエストに送信する必要があります:

シェル

  1. Authorization: Basic <TOKEN>
<TOKEN>base64(USERNAME:PASSWORD) として計算されます

また、トークンベースの認証サービスを使用することもできます。

クライアントの例

この例では、基本認証なしで curl を使用してインデックスを作成します:

シェル

  1. curl -XPUT 'localhost:9200/idx'

Js

  1. {
  2. "error": "AuthenticationException[Missing authentication token]",
  3. "status": 401
  4. }

上記のリクエストにはユーザーが関連付けられていないため、認証エラーが返されます。次に、curl を基本認証と共に使用して、rdeniro ユーザーとしてインデックスを作成します:

シェル

  1. curl --user rdeniro:taxidriver -XPUT 'localhost:9200/idx'

Js

  1. {
  2. "acknowledged": true
  3. }

二次認証

一部の API は、異なる資格情報セットでタスクを実行したい場合に備えて、二次認証ヘッダーをサポートしています。たとえば、基本認証ヘッダーに加えて、次のヘッダーを送信できます:

シェル

  1. es-secondary-authorization: Basic <TOKEN>
<TOKEN>base64(USERNAME:PASSWORD) として計算されます

es-secondary-authorization ヘッダーは Authorization ヘッダーと同じ構文を持っています。したがって、トークンベースの認証サービスの使用もサポートしています。たとえば:

シェル

  1. es-secondary-authorization: ApiKey <TOKEN>
<TOKEN>base64(API key ID:API key) として計算されます

HTTP 経由のクライアントライブラリ

言語特有のクライアントでセキュリティ機能を使用する方法についての詳細は、次を参照してください: