認証なしでユーザーを検索する

Elasticsearch realms は主に ユーザー認証 をサポートするために存在します。一部のレルムはパスワードでユーザーを認証します(例えば、native および ldap レルム)、他のレルムはより複雑な認証プロトコルを使用します(例えば、saml および oidc レルム)。いずれの場合も、レルムの主な目的は、Elasticsearch API にリクエストを行ったユーザーのアイデンティティを確立することです。

しかし、一部の Elasticsearch 機能は、ユーザーの資格情報を使用せずにユーザーを検索する必要があります。

  • run_as 機能は、別のユーザーの代わりにリクエストを実行します。認証されたユーザーは run_as 権限を持っている場合、別の未認証ユーザーの代わりにリクエストを実行できます。
  • 委任された認可 機能は、2つのレルムをリンクさせ、1つのレルムに対して認証されたユーザーが別のレルムのユーザーに関連付けられた役割とメタデータを持つことができるようにします。

これらの各ケースでは、ユーザーは最初に1つのレルムに認証し、その後 Elasticsearch が2つ目のレルムをクエリして別のユーザーを見つけます。認証されたユーザーの資格情報は最初のレルムでのみ使用され、2つ目のレルムのユーザーは資格情報なしでユーザー名によって取得されます。

Elasticsearch が資格情報を使用してユーザーを解決する場合(最初のレルムで行われるように)、これはユーザー認証として知られています。

Elasticsearch がユーザー名のみを使用してユーザーを解決する場合(2つ目のレルムで行われるように)、これはユーザー検索として知られています。

これらの機能についての詳細は、run_as および 委任された認可 ドキュメントを参照してください。どのレルムと認証方法が run_as または委任された認可をサポートしているかを含めて確認できます。いずれの場合も、ユーザー検索に使用できるのは以下のレルムのみです:

  • 予約済みの native および file レルムは常にユーザー検索をサポートします。
  • ldap レルムは、レルムが ユーザー検索モード に設定されている場合にユーザー検索をサポートします。レルムが user_dn_templates で設定されている場合、ユーザー検索はサポートされません。
  • active_directory レルムでのユーザー検索のサポートは、レルムが bind_dn とバインドパスワードで設定されている必要があります。

pkisamloidckerberos および jwt レルムはユーザー検索をサポートしていません。

ユーザー検索のみにレルムを使用し、そのレルムに対するユーザーの認証を防ぎたい場合は、レルムを設定し、authentication.enabledfalse に設定できます。

ユーザー検索機能は、run-as および委任された認可機能を実装するために使用される内部機能です - ユーザー検索のための API はありません。ユーザー検索の設定をテストしたい場合は、run_as を使用してこれを行うことができます。Authenticate API を使用して、superuser として認証し(例:ビルトインの elastic ユーザー)、es-security-runas-user リクエストヘッダーを指定します。

Get users API および User profiles 機能は、Elastic Stack ユーザーに関する情報を取得するための代替手段です。これらの API はユーザー検索機能とは関連していません。