ユーザー認証

Elastic Stackのセキュリティ機能は認可を追加します。これは、受信リクエストの背後にいるユーザーがそのリクエストを実行することを許可されているかどうかを判断するプロセスです。

このプロセスは、ユーザーが正常に識別され、認証された後に行われます。

ロールベースのアクセス制御

セキュリティ機能は、ロールベースのアクセス制御(RBAC)メカニズムを提供し、ユーザーに権限をロールに割り当て、ロールをユーザーまたはグループに割り当てることで、ユーザーを認可することを可能にします。

この画像はロールベースのアクセス制御を示しています

認可プロセスは、以下の構成要素に基づいています:

  • 保護されたリソース
  • アクセスが制限されているリソース。インデックス、エイリアス、ドキュメント、フィールド、ユーザー、およびElasticsearchクラスタ自体はすべて保護されたオブジェクトの例です。
  • 権限
  • 保護されたリソースに対してユーザーが実行できる1つ以上のアクションの名前付きグループ。各保護されたリソースには、利用可能な権限のセットがあります。たとえば、readは、インデックスされた/保存されたデータを読み取ることを可能にするすべてのアクションを表すインデックス権限です。利用可能な権限の完全なリストについては、セキュリティ権限を参照してください。
  • パーミッション
  • 保護されたリソースに対する1つ以上の権限のセット。パーミッションは言葉で簡単に説明できます。以下はそのいくつかの例です:
    • read権限がproductsデータストリームまたはインデックスに対して
    • manage権限がクラスタに対して
    • run_as権限がjohnユーザーに対して
    • read権限がクエリXに一致するドキュメントに対して
    • read権限がcredit_cardフィールドに対して
  • ロール
  • 権限の名前付きセット
  • ユーザー
  • 認証されたユーザー。
  • グループ
  • ユーザーが所属する1つ以上のグループ。グループは、ネイティブ、ファイル、またはPKI領域など、一部の領域ではサポートされていません。

ロールには一意の名前があり、リソースに対する権限のセットを特定します。ユーザーまたはグループを任意の数のロールに関連付けることができます。グループにロールをマッピングすると、そのグループ内のユーザーのロールは、そのグループに割り当てられたロールとそのユーザーに割り当てられたロールの組み合わせになります。同様に、ユーザーが持つ権限の総セットは、すべてのロールの権限の和によって定義されます。

ユーザーにロールを割り当てる方法は、ユーザーを認証するために使用する領域によって異なります。詳細については、ユーザーとグループをロールにマッピングするを参照してください。

属性ベースのアクセス制御

セキュリティ機能は、属性ベースのアクセス制御(ABAC)メカニズムも提供し、属性を使用して検索クエリや集計におけるドキュメントへのアクセスを制限することを可能にします。たとえば、ユーザーとドキュメントに属性を割り当て、その後ロール定義にアクセスポリシーを実装できます。そのロールを持つユーザーは、必要なすべての属性を持っている場合にのみ特定のドキュメントを読むことができます。

詳細については、X-Pack 6.1によるドキュメントレベルの属性ベースのアクセス制御を参照してください。