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