証明書認証プラグイン
Solrは、CertAuthPlugin
を使用して、クライアントの証明書からユーザープリンシパルを抽出することをサポートできます。
証明書認証の有効化
証明書認証の場合、security.json
ファイルには、認証に使用されるクラスを定義するauthentication
パートが必要です。
security.json
の例を以下に示します。
{
"authentication": {
"class":"solr.CertAuthPlugin"
}
}
証明書の検証
信頼チェーンの検証やピアホスト名/ IPアドレスの検証など、証明書検証の一部は、リクエストが認証プラグインに到達する前にWebサーブレットコンテナによって実行されます。これらのチェックについては、SSLの有効化セクションで説明されています。
このプラグインは、SSLプロパティで設定されている以上の追加チェックは行いません。
ユーザープリンシパルの抽出
このプラグインは、クライアント証明書に存在するX500サブジェクトに基づいて、リクエストのユーザープリンシパルを設定します。承認プラグインは、完全なサブジェクト名を受け入れて処理する必要があります。次に例を示します。
CN=Solr User,OU=Engineering,O=Example Inc.,C=US
サブジェクト名に存在する可能性のあるタグのリストは、RFC-5280、セクション4.1.2.4にあります。値には、スペース、句読点、その他の文字が含まれる場合がありま す。
コンテンツに基づいて承認を設定する前に、信頼できる認証局によって発行された証明書の実際のコンテンツを確認することをお勧めします。
クライアント(SolrJを含む)での証明書認証の使用
証明書認証が有効になっている場合、すべてのクライアントリクエストに有効な証明書を含める必要があります。これは、SSLを使用する場合のクライアント要件と同じです。