認証委任の設定

場合によっては、ユーザーがレルムによって認証された後、ユーザーの検索と役割の割り当てを別のレルムに委任したいことがあります。ユーザーの資格情報を必要とせずに ユーザー検索 をサポートする任意のレルムを認証レルムとして使用できます。

たとえば、Kerberos レルムによって認証されたユーザーは、LDAP レルムで検索できます。LDAP レルムは、LDAP でユーザーを検索し、役割を決定する責任を負います。この場合、LDAP レルムは 認証レルム として機能します。

認証レルムとしての LDAP レルム

以下は、認証レルム として使用できる LDAP レルムの構成例です。この LDAP レルムは、指定されたフィルターを使用してユーザー検索モードで構成されています。

LDAP レルムの構成に関する詳細は、LDAP ユーザー認証 を参照してください。

Yaml

  1. xpack:
  2. security:
  3. authc:
  4. realms:
  5. ldap:
  6. ldap1:
  7. order: 0
  8. authentication.enabled: true
  9. user_search:
  10. base_dn: "dc=example,dc=org"
  11. filter: "(cn={0})"
  12. group_search:
  13. base_dn: "dc=example,dc=org"
  14. files:
  15. role_mapping: "ES_PATH_CONF/role_mapping.yml"
  16. unmapped_groups_as_roles: false
ここでは、LDAP レルムを認証に使用することを明示的に許可しています。
(つまり、ユーザーは LDAP ユーザー名とパスワードを使用して認証できます)。
この LDAP レルムを認証専用として使用したい場合は、
false に設定します。

認証を委任するように構成された Kerberos レルム

以下は、Kerberos レルムがユーザーを認証し、その後 LDAP レルムに認証を委任する構成の例です。Kerberos レルムはユーザーを認証し、ユーザーの主名を抽出します(通常は user@REALM の形式)。この例では、remove_realm_name 設定を有効にして、ユーザーの主名から @REALM 部分を削除してユーザー名を取得します。このユーザー名は、構成された認証レルム(この場合は LDAP レルム)によるユーザー検索に使用されます。

Kerberos レルムに関する詳細は、Kerberos 認証 を参照してください。

Yaml

  1. xpack:
  2. security:
  3. authc:
  4. realms:
  5. kerberos:
  6. kerb1:
  7. order: 1
  8. keytab.path: "ES_PATH_CONF/es.keytab"
  9. remove_realm_name: true
  10. authorization_realms: ldap1

認証を委任するように構成された PKI レルム

同様に、PKI レルムを構成して LDAP レルムに認証を委任できます。ユーザーは PKI レルムによって認証され、認証は LDAP レルムに委任されます。この例では、ユーザー名はクライアント証明書の DN から抽出された共通名 (CN) です。LDAP レルムはこのユーザー名を使用してユーザーを検索し、役割を割り当てます。

PKI レルムに関する詳細は、PKI ユーザー認証 を参照してください。

Yaml

  1. xpack:
  2. security:
  3. authc:
  4. realms:
  5. pki:
  6. pki1:
  7. order: 2
  8. authorization_realms: ldap1

上記の例と同様に、レルムを構成して認証レルムに認証を委任できます(ユーザー名によるユーザー検索と役割の割り当てが可能なレルム)。