ユーザープロファイル
ユーザープロファイル機能は、KibanaおよびElasticのObservability、Enterprise Search、Elastic Securityソリューション専用に設計されています。個々のユーザーや外部アプリケーションは、このAPIを直接呼び出すべきではありません。Elasticは、事前通知なしに将来のリリースでこの機能を変更または削除する権利を留保します。
Elastic Stackは外部管理されたユーザー(SAMLを介して認証されるユーザーやLDAPディレクトリに保存されているユーザーなど)をサポートしているため、ユーザーとそのプロファイルの間には区別があります。
ユーザーは、Elastic Stackへのリクエストを認証するエンティティを指します。各ユーザーにはユーザー名と、発行できるリクエストの種類を決定する特権のセット(ロールで表される)が割り当てられています。ユーザーは一時的であり、Elasticsearch APIへのリクエストの期間中またはKibanaのセッションの期間中のみ存在する場合があります。これらのユーザーはセッションが終了した後に取得できず、セッション間での設定を保存することはできません。
ユーザープロファイルは、ユーザーの永続的で安定した表現を提供します。ユーザープロファイルは、ユーザーがオフラインであっても存在し、セッション間でプロファイルが持続します。各プロファイルに割り当てられた一意の識別子は、デプロイメントのライフサイクル全体を通じて変わらず、関連するユーザーを参照する安定した方法を提供します。各プロファイルには一意の識別子があり、検索可能で、フォーマットや通知の設定などのユーザーデータを保存できます。
ユーザーがアクティブにオンラインであるかどうかに関係なく、ユーザーを一意に参照する能力は、Kibanaにおけるパーソナライズやコラボレーションなどの重要な機能を支える重要な機能です。
Kibanaにおけるユーザープロファイル
ユーザープロファイルは、Elastic StackがKibanaに認証する各インタラクティブユーザーのために保存する永続的な記録です。
ユーザーがKibanaにログインすると、ユーザーのためにプロファイルが自動的に作成されるか、既存のプロファイルがユーザーのアクティブなセッションを反映するように更新されます。ユーザープロファイルの一意のIDを使用することで、Kibanaは各ユーザーごとに個別にユーザーレベルのデータ(設定など)を保存でき、これは細かいカスタマイズのための鍵となります。Kibanaはこの一意のIDを使用して、ユーザーがログインしているかどうかに関係なく、特定のユーザーにメッセージや通知をルーティングします。
ユーザー名とユーザープロファイル
単一のユーザーに対して複数のレルムで同じユーザー名を使用できます。Elasticsearchでは、異なる2つのレルムが同じユーザー名と異なるロールでユーザーを認証することが可能です。Elasticsearchは、これらのユーザーが同一人物であるとは仮定せず、デフォルトでは異なるユーザープロファイルを持つ別々の個人として扱います。
1人の個人が複数のレルムに対して認証できるユースケースでは、セキュリティドメイン機能を使用して、これらの異なるユーザーが同じアイデンティティと見なされ、単一のユーザープロファイルを共有することができます。
ユーザープロファイルの作成と管理
新しいユーザープロファイルを作成するか、既存のものを更新するには、ユーザープロファイルをアクティブ化するAPIを使用します。リクエストを送信すると、Elasticsearchは指定されたユーザーの既存のプロファイルドキュメントを探そうとします。存在しない場合、Elasticsearchは新しいプロファイルドキュメントを作成します。
いずれの場合も、プロファイルドキュメントはユーザーのfull_name
、email
、roles
、およびrealms
をキャプチャし、プロファイルの一意のIDと操作のタイムスタンプも含まれます。プロファイルの一意のID(uid
)を含めることで、ユーザープロファイルを取得するAPIを使用してユーザープロファイルを取得できます。
ユーザーの基本情報に加えて、ユーザープロファイルを更新するAPIを使用してプロファイルドキュメントにデータを追加できます。たとえば、プロファイルデータの一部としてユーザー固有の設定を追加できます。
suggest user profile APIを使用して、指定された基準に一致するプロファイルを取得します。このAPIは、Kibanaに見られる機能と連携してユーザー提案をサポートするように設計されています。ただし、suggest user profile APIは一般的な検索APIを提供することを目的としていません。
最後に、ユーザープロファイルの権限を確認するAPIを使用して、複数のユーザーの権限をそのプロファイルの一意のIDを指定して確認できます。これは、suggest user profile APIと組み合わせて、実際にアクションを実行するために必要な権限を持つユーザーにのみ提案を制限するために使用できます。
制限事項
- 新しいユーザープロファイルを作成するには、ユーザーの認証情報(
username
およびpassword
またはそのOAuth2アクセストークン)が必要です。これは、ユーザーがユーザープロファイルを作成するために少なくとも1回は認証する必要があることを意味します。Kibana(または他のプロファイル対応アプリケーション)に認証したことがないユーザーは、ユーザープロファイルを持たず、suggest user profile APIはこれらのユーザーに対して結果を返しません。 - ユーザープロファイルは、Kibanaと対話する人間のユーザーなどのインタラクティブユーザー向けに設計されています。したがって、ユーザープロファイルはAPIキーやサービスアカウントをサポートしていません。インタラクティブなエンドユーザーを表すOAuth2トークンはサポートされています。