Synopsis
MongoDB Enterprisemongokerberos は、実行中のKerberos 配置に対して MongoDB の Kerberos および GSSAPI 構成オプションをテストするための を提供します。mongokerberos は、サーバーとクライアント の2 つのモードのいずれかで使用できます。
モード | 説明 |
|---|---|
サーバー | サーバーモードでは、 はサーバー上の Kerberos 関連の構成を分析し、問題のある構成に関するエラー メッセージを含むレポートを返します。使用方法については、「 サーバー |
クライアント | クライアントモードでは、 は指定されたユーザー名の Kerberos認証をテストし、Kerberos認証手順の各ステップの成功または失敗を含むレポートを返します。使用方法については、「 クライアント |
両方のモードのエラー メッセージには、発生した特定のエラーに関する情報と、エラーを解決するための潜在的なアドバイスが含まれています。
mongokerberos は、サーバー モードとクライアント モードの両方で次の配置タイプをサポートします。
Windows Active Directory 配置への認証 Linux MongoDB クライアント。
注意
MongoDB Enterpriseおよび は、Kerberosmongokerberos の MIT実装のみをサポートします。
一般に、 Kerberos認証に関連するオプションを構成するときは、 mongokerberosを使用して構成を確認することをお勧めします。
mongokerberosはテストおよび検証ツールです。ファイルを編集したり、サービスを構成したりしません。プラットフォームで Kerberos を構成する場合は、 MIT Kerberos のドキュメント、またはプラットフォームのドキュメントを参照してください。 Kerberos を使用して認証するようにMongoDBを構成する場合は、次のチュートリアルを参照ください。
このドキュメントでは、mongokerberos の全コマンドラインオプションに関する全体像を説明します。
インストール
mongokerberosツールはMongoDB Database Tools の追加パッケージの構成要素であり、 MongoDB Serverまたはスタンドアロンインストールとしてインストールできます。
サーバーを使用したインストール
mongokerberosMongoDB Enterprise Serverインストールの一部として をインストールするには次のようにします。
プラットフォームの手順に従ってください: MongoDB Enterprise Server をインストールする
インストールが完了すると、
mongokerberosおよびその他の含まれるツールは、サーバーと同じロケーションで利用できるようになります。注意
Windows インストーラー
.msiウィザードの場合、Complete インストール オプションにはmongokerberosが含まれます。
スタンドアロンとしてインストール
mongokerberosをスタンドアロンインストールとしてインストールするには:
MongoDB Enterprise Edition のダウンロードリンクはこちら:MongoDB Enterprise Download Center
ドロップダウン メニューからPlatform (オペレーティング システム)を選択し、次のチャートに従ってプラットフォームに適したPackageを選択します。
OSパッケージLinux
tgzパッケージWindows
zipパッケージMacOS
tgzパッケージダウンロードしたら、アーカイブを解凍し、
mongokerberosをハードドライブのロケーションにコピーします。Tip
Linuxと macOS
mongokerberos$PATHユーザーは、/usr/binmongokerberos環境変数で定義されているファイルシステムのロケーション( など)に をコピーする場合があります。こうすると、フルパスを指定したり、最初に親ディレクトリに移動したりすることなく、コマンドラインで を名前で直接参照できるようになります。詳細については、ご使用プラットフォームのインストールガイドを参照してください。
使用法
mongokerberosは、サーバーとクライアント の2 つのモードで実行できます。
mongokerberosではなく、 システムコマンドラインからmongosh を実行します。
サーバー モード
mongokerberosサーバーモードで を実行すると、適切な DNS 解決のチェック、Kerberos システム キータブファイルの検証、 または のMongoDBサービス プリンシパルに対するテストなど、システムの Kerberos 構成に対して一連の検証手順が実行されます。インスタンス。mongodmongos
mongokerberosサーバーモードで を使用する前に、次の操作を行う必要があります。
プラットフォームのドキュメントに従って、プラットフォーム上で Kerberos を構成します。
これらの手順を完了したら、次のようにmongokerberos フラグを使用してサーバーモードで--server を実行できます。
mongokerberos --server
Kerberos がサーバー上で適切に構成され、サービス プリンシパルが正常に作成された場合、出力は次のようになります。
Resolving kerberos environment... [OK] Kerberos environment resolved without errors. Verifying DNS resolution works with Kerberos service at <hostname>... [OK] DNS test successful. Getting MIT Kerberos KRB5 environment variables... * KRB5CCNAME: not set. * KRB5_CLIENT_KTNAME: not set. * KRB5_CONFIG: not set. * KRB5_KTNAME: not set. * KRB5_TRACE: not set. [OK] Verifying existence of KRB5 keytab FILE:/etc/krb5.keytab... [OK] KRB5 keytab exists and is populated. Checking principal(s) in KRB5 keytab... Found the following principals for MongoDB service mongodb: * mongodb/server.example.com@SERVER.EXAMPLE.COM Found the following kvnos in keytab entries for service mongodb: * 3 [OK] KRB5 keytab is valid. Fetching KRB5 Config... KRB5 config profile resolved as: <Your Kerberos profile file will be output here> [OK] KRB5 config profile resolved without errors. Attempting to initiate security context with service credentials... [OK] Security context initiated successfully.
最後のメッセージは、システムの Kerberos 構成が MongoDB で使用する準備ができていることを示しています。 構成でエラーが発生した場合、それらは上記の出力の一部として表示されます。
クライアント モード
クライアントモードで mongokerberos を実行すると、システムの Kerberos 環境に対する認証がテストされ、適切な DNS 解決のチェック、Kerberosクライアントキータブファイルの検証、チケットが正常に付与できるかどうかのテストなど、Kerberos認証プロセスの各ステップが実行されます。クライアントモードで mongokerberos を実行すると、mongosh のクライアント認証手順がシミュレートされます。
mongokerberosクライアントモードで を使用する前に、まずプラットフォームで Kerberos を構成する必要があります。オプションで、クライアントモードを使用する前に、まずサーバーモードで を実行してプラットフォームの Kerberosmongokerberos 構成が有効であることを確認することもできます。
これらの手順を完了したら、次のように フラグを使用して、クライアントモードで を実行し、mongokerberos ユーザー認証--client をテストできます。
mongokerberos --client --username <username>
認証手順の一部として Kerberos チケットをリクエストするために使用される有効なユーザー名を指定する必要があります。 プラットフォームの Kerberos インフラストラクチャは、このユーザーを認識している必要があります。
提供された認証情報が有効で、構成ファイルの Kerberos オプションが有効な場合、出力は次のようになります。
Resolving kerberos environment... [OK] Kerberos environment resolved without errors. Verifying DNS resolution works with Kerberos service at <hostname>... [OK] DNS test successful. Getting MIT Kerberos KRB5 environment variables... * KRB5CCNAME: not set. * KRB5_CLIENT_KTNAME: not set. * KRB5_CONFIG: not set. * KRB5_KTNAME: not set. * KRB5_TRACE: not set. [OK] Verifying existence of KRB5 client keytab FILE:/path/to/client.keytab... [OK] KRB5 client keytab exists and is populated. Checking principal(s) in KRB5 keytab... [OK] KRB5 keytab is valid. Fetching KRB5 Config... KRB5 config profile resolved as: <Your Kerberos profile file will be output here> [OK] KRB5 config profile resolved without errors. Attempting client half of GSSAPI conversation... [OK] Client half of GSSAPI conversation completed successfully.
最後のメッセージは、提供されたユーザーに対してクライアント認証が正常に完了したことを示します。 認証ステップ中にエラーが発生した場合、そのエラーは上記の出力の一部として表示されます。
オプション
--servermongokerberosサーバーモードで を実行し、プラットフォームの Kerberos 構成がMongoDBで使用できるかどうかをテストします。使用例と予想される出力については、「サーバー モード 」を参照してください。
--clientmongokerberosクライアントモードで を実行し、システムの Kerberos 環境に対するクライアント認証をテストします。クライアントモードで実行中の場合は、--usernamemongokerberosで有効なユーザー名を指定する必要があります。 は、検証手順の一環として、このユーザー名に対してmongokerberosKerberosチケットをリクエストます。クライアントモードで を実行すると、mongoshのクライアント認証手順がシミュレートされます。使用例と予想される出力については、「クライアント モード 」を参照してください。
--config <filename>, -f <filename>ランタイム設定オプション用の構成ファイルを指定します。 オプションは、コマンドラインの設定オプションと同じです。 詳細については、 自己管理型構成ファイルのオプションを参照してください。
mongokerberossaslHostNameは、このファイルからsaslServiceNameと--setParameterの値を読み取ります(存在する場合)。これらの値は、代わりに オプションを使用して指定することもできます。構成ファイルでは ASCII エンコードを使用するようにしてください。 インスタンスは、UTF- など、非 ASCII
mongokerberosエンコードの構成ファイルをサポートしていません。8
--setParameter <options>構成可能なパラメーターを設定します。 複数の
setParameterフィールドを指定できます。setParameterではサポートされているパラメータを使用できますが、mongokerberosは次の値のみをチェックします。--configこれらの値も含む構成ファイルで オプションを使用すると、setParameterの値が構成ファイルの値を上書きします。
--host <hostname>認証テスト時に接続する MongoDB サーバーのホスト名を指定します。
--hostが指定されていない場合、 はホスト名の DNSmongokerberos検証を実行しません(PTRレコードの検証)
--username <username>, -u <username>mongokerberosKerberos認証 を試行するときに使用する のユーザー名。この値は、クライアントモードで実行中場合に必要です。