セキュリティUI

セキュリティ画面では、security-edit権限を持つ管理者が、ユーザー、ロール、および権限を管理できます。セキュリティ画面は、クラウドモードとスタンドアロンモードの両方で実行されているSolrで機能します。

security
図1. セキュリティ画面

はじめに

Solrでセキュリティが有効になっていない場合、セキュリティ画面に警告が表示されます。localhost以外のネットワークで公開されているSolrインスタンスには、セキュリティを有効にすることを強くお勧めします。

image

Solrを初めて使用する場合は、bin/solr authコマンドラインユーティリティを使用してSolrインストールのセキュリティを有効にします(クラウドモードのみ)。使用方法については、bin/solr authを参照してください。たとえば、次のコマンドは**基本認証**を有効にし、管理アクセスを持つ最初のユーザーのユーザー名とパスワードの入力を求めるプロンプトが表示されます。

 bin/solr auth enable -type basicAuth -prompt true -z localhost:2181

注:authユーティリティは、クラウドモードで実行されているSolrでのみ機能し、そのため-zオプションを介して渡されるZookeeper接続文字列が必要です。

セキュリティを有効にした後、管理UIを更新し、authユーティリティに提供した資格情報を使用してログインする必要があります。セキュリティ設定はZookeeperから自動的に更新されるため、Solrを再起動する必要はありません。

セキュリティ画面には、次の機能があります。

  • セキュリティ設定:設定されている認証および認可プラグインに関する詳細。

  • ユーザー:基本認証プラグインを使用している場合、ユーザーアカウントの読み取り、作成、更新、削除ができます。このパネルは、他のすべての認証プラグインでは無効になっています。

  • ロール:ルールベースの認可プラグインを使用している場合、ロールの読み取り、作成、更新ができます。このパネルは、他のすべての認可プラグインでは無効になっています。

  • 権限:ルールベースの認可プラグインを使用している場合、権限の読み取り、作成、更新、削除ができます。

ユーザー管理

管理者は、基本認証プラグインを使用している場合、ユーザーアカウントの読み取り、作成、更新、削除ができます。

image
限定的なユーザー管理機能

Solrのユーザー管理は、管理者が保護されたAPIへのアクセスを許可するために使用することを目的としており、パスワードの有効期限やパスワードのセルフサービス(変更/リセット/復旧)などの一般的なユーザーアカウント管理機能は備えていません。したがって、ユーザーアカウントが侵害された場合、管理者はUIまたはAPIを使用してパスワードを変更するか、そのアカウントを無効にする必要があります。

ユーザーアカウントを編集するには、テーブル内の行をクリックしてユーザー編集ダイアログを開きます。ユーザーのパスワードを変更し、ロールメンバーシップを変更できます。

image

多数のユーザーアカウントを持つシステムでは、ユーザーテーブル上部のフィルターコントロールを使用して、共通のプロパティに基づいてユーザーを検索してください。

image

JWT認証プラグインなどの他の認証プラグインの場合、ユーザーは外部システムによって管理されるため、このパネルは無効になります。

ロール管理

ロールはユーザーを権限にリンクします。ルールベースの認証プラグインを使用している場合、管理者はロールの読み取り、作成、および更新を実行できます。ロールの削除はサポートされていません。

image

ロールを編集するには、テーブル内の対応する行をクリックするだけです。

ルールベースの認証プラグインを使用していない場合、ユーザーロールの割り当ては外部システムによって管理されるため、ロールパネルは無効になります。

権限管理

セキュリティ画面の権限パネルを使用すると、管理者は権限の読み取り、作成、更新、および削除を実行できます。

image

Solrでの権限の動作に関する詳細については、ルールベースの認証権限を参照してください。

権限の追加

権限の追加ボタンをクリックして、権限の追加ダイアログを開きます。

image

ドロップダウン選択リストから事前定義済みの権限を選択するか、カスタム権限の一意の名前を指定することができます。新しい事前定義済み権限を作成するには、パスなどの他の設定は事前定義済み権限では不変であるため、権限をゼロ個以上のロールにマッピングするだけです。パス、リクエストメソッド、またはコレクションを詳細に制御する必要がある場合は、カスタム権限を作成してください。

権限にロールを選択しない場合、権限にはnullロールが割り当てられ、匿名ユーザーに権限を付与することを意味します。ただし、匿名リクエストのブロックblockUnknown=true)がチェックされている場合、匿名ユーザーはリクエストを実行できなくなるため、nullロールを持つ権限は事実上無効になります。

権限を編集するには、テーブル内の対応する行をクリックするだけです。権限を編集すると、権限リスト内の権限の現在のインデックスを編集できます。これにより、必要に応じて権限の順序を変更できます。権限の順序を参照してください。一般的に、security.jsonでは、最も具体的な権限から最も具体的な権限でないものへとリストすることをお勧めします。