MongoDB のケルベロス認証は 、MongoDB コレクタの構成 時に [Custom Connection String]オプションを使用することによってのみ設定できます。
設定する前に、 Java認証および認可サービス(JAAS)構成ファイルがあることを確認してください。
ファイルのサンプル
com.sun.security.jgss.initiate {
com.sun.security.auth.module.Krb5LoginModule required
principal="admin-username/ip-192.0.2.0.us-west-2.compute.internal@US-WEST-2.COMPUTE.INTERNAL"
doNotPrompt=true
useTicketCache=true
debug=true;
};
- Launch コマンドで次の文字列を使用して、データベースエージェントを起動します。
-Djava.security.auth.login.config=<JAAS-config-filename>
- コントローラ UI で、 [データベース(Databases)]に移動し、新しいコレクタを追加するか、既存の MongoDB コレクタを変更します。
- [接続の詳細(CONNECTION DETAILS)]で、 [カスタム接続文字列(Custom Connection String)]を選択し、接続URLを指定します。
mongodb://[URL_ENCODED_PRINCIPAL_NAME@]host1[:port1][,...hostN[:portN]][[?options]]&authMechanism=GSSAPI&authSource=$external
または
mongodb+srv://[URL_ENCODED_PRINCIPAL_NAME@]host1[:port1][,...hostN[:portN]][[?options]]&authMechanism=GSSAPI&authSource=$external
接続 URL の例
mongodb://admin%2Fip-192.0.2.0.us-west-2.compute.internal%40US-WEST-2.COMPUTE.INTERNAL@mongodb.testserver.1com:27017,mongodb.testserver.2com:27017/?directConnection=true&authMechanism=GSSAPI&authSource=$external
接続文字列のプリンシパル名は、 URL エンコードする必要があります。たとえば、プリンシパル名が次の場合、
admin/ip-192.0.2.0.us-west-2.compute.internal@US-WEST-2.COMPUTE.INTERNAL@
URL エンコードされたプリンシパルは次のようになります。
admin%2Fip-192.0.2.0.us-west-2.compute.internal%40US-WEST-2.COMPUTE.INTERNAL@
次の表は、接続 URL の例の URL コンポーネントに関する説明です。