ロールマッピングリソース

ロールマッピングリソースには以下のプロパティがあります:

  • enabled
  • (ブール値) enabledfalse に設定されているマッピングは、ロールマッピングが実行される際に無視されます。
  • metadata
  • (オブジェクト) 各ユーザーに割り当てられるロールを定義するのに役立つ追加のメタデータ。 metadata オブジェクト内では、_ で始まるキーはシステム使用のために予約されています。
  • roles
  • (リスト) ロールマッピングルールに一致するユーザーに付与されるロールのリスト。
  • rules
  • (オブジェクト) マッピングによって一致すべきユーザーを決定するルール。ルールは、JSON DSLを使用して表現される論理条件です。DSLは以下のルールタイプをサポートしています:
    • any
    • (ルールの配列) その子のいずれかが真であれば、true と評価されます。
    • all
    • (ルールの配列) その子のすべてが真であれば、true と評価されます。
    • field
    • (オブジェクト) フィールドルールを参照してください。
    • except
    • (オブジェクト) オブジェクトとしての単一のルール。 all ルールの子としてのみ有効です。 その子が false の場合、excepttrue です。

フィールドルール

field ルールは、ロールマッピング式の主要な構成要素です。これは単一のオブジェクトを値として取り、そのオブジェクトはキー F と値 V を持つ単一のメンバーを含む必要があります。フィールドルールは、ユーザーオブジェクト内の F の値を検索し、その後、ユーザー値が提供された値 V一致する かどうかをテストします。

フィールドルールで指定された値は、以下のいずれかのタイプであることができます:

タイプ 説明
単純な文字列 提供された値と正確に一致します。 "esadmin"
ワイルドカード文字列 ワイルドカードを使用して提供された値と一致します。 "*,dc=example,dc=com"
正規表現 Lucene regexpを使用して提供された値と一致します。 "/.*-admin[0-9]*/"
数字 同等の数値と一致します。 7
Null null または欠落している値と一致します。 null
配列 上記の定義に従って配列内の各要素をテストします。

いずれか の要素が一致すれば、一致は成功です。 | ["admin", "operator"] |

ユーザーフィールド

ルールが評価される ユーザーオブジェクト には以下のフィールドがあります:

  • username
  • (文字列) Elasticsearch セキュリティ機能がこのユーザーを認識するためのユーザー名。例えば、"username": "jsmith"
  • dn
  • (文字列) ユーザーの識別名。例えば、"dn": "cn=jsmith,ou=users,dc=example,dc=com",
  • groups
  • (文字列の配列) ユーザーが所属するグループ。例えば、"groups" : [ "cn=admin,ou=groups,dc=example,dc=com","cn=esusers,ou=groups,dc=example,dc=com ]
  • metadata
  • (オブジェクト) ユーザーに関する追加のメタデータ。これにはさまざまなキーと値のペアが含まれる可能性があります。ロールマッピングルールでメタデータフィールドを参照する際は、ドット表記を使用してメタデータオブジェクト内のキーを指定します。キーに括弧、ドット、またはスペースなどの特殊文字が含まれている場合は、これらの文字をバックスラッシュでエスケープする必要があります(\)。例えば、"metadata": { "cn": "John Smith" }
  • realm
  • (オブジェクト) ユーザーを認証したレルム。このオブジェクト内の唯一のフィールドはレルム名です。例えば、"realm": { "name": "ldap1" }

groups フィールドは複数値を持つことができ、ユーザーは多くのグループに所属することができます。field ルールが複数値フィールドに適用される場合、メンバー値の 少なくとも1つ が一致すれば、一致すると見なされます。例えば、以下のルールは、admin グループのメンバーである任意のユーザーに一致します。他のグループに所属しているかどうかは関係ありません:

Js

  1. { "field" : { "groups" : "admin" } }

追加のレルム固有の詳細については、Active Directory と LDAP レルムを参照してください。