mongokerberos
Synopsis
MongoDB Enterprisemongokerberos
は、実行中の Kerberos 配置に対して MongoDB の Kerberos と GSSAPI 構成オプション をテストするための を提供します。mongokerberos
は、サーバーとクライアントの 2 つのモードのいずれかで使用できます。
モード | 説明 |
---|---|
サーバー | サーバー モードでは、 mongokerberos はサーバー上の Kerberos 関連の構成を分析し、問題のある構成に関するエラー メッセージを含むレポートを返します。 使用方法については、「サーバー モード 」を参照してください。 |
クライアント | クライアント モードでは、 mongokerberos は指定されたユーザー名に対して Kerberos 認証をテストし、Kerberos 認証手順の各ステップの成功または失敗を含むレポートを返します。 使用方法については、「クライアント モード 」を参照してください。 |
両方のモードのエラー メッセージには、発生した特定のエラーに関する情報と、エラーを解決するための潜在的なアドバイスが含まれています。
mongokerberos
は、サーバー モードとクライアント モードの両方で次の配置タイプをサポートします。
サポートされている Linux プラットフォームで MIT Kerberos 配置を認証する Linux MongoDB クライアント。
サポートされている Windows プラットフォーム上の Windows Active Directory 配置で認証される Windows MongoDB クライアント。
Windows Active Directory 配置への認証 Linux MongoDB クライアント。
注意
MongoDB Enterprise およびmongokerberos
は MIT 実装 のみをサポートします Kerberos の
一般に、 Kerberos 認証に関連するオプションを構成するときは、 mongokerberos
を使用して構成を確認することをお勧めします。
mongokerberos
はテストおよび検証ツールです。ファイルを編集したり、サービスを構成したりしません。 プラットフォームで Kerberos を構成する方法については、 MIT Kerberos のドキュメント を参照してください。 、またはプラットフォームのドキュメント。Kerberos を使用して認証するように MongoDB を構成する場合は、次のチュートリアルを参照してください。
このドキュメントでは、 mongokerberos
の全コマンド ライン オプションに関する全体像を説明します。
インストール
mongokerberos
ツールはMongoDB Database Tools Extraパッケージの一部であり、MongoDB Server を使用してまたはスタンドアロン インストールとしてインストールできます。
サーバーを使用したインストール
MongoDB Enterprise Server インストールの一部としてmongokerberos
をインストールするには次のようにします。
プラットフォームの手順に従ってください: MongoDB Enterprise Server をインストールする
インストールが完了すると、
mongokerberos
およびその他の含まれるツールは、サーバーと同じロケーションで利用できるようになります。注意
Windows
.msi
インストーラー ウィザードの場合、 Completeインストール オプションにはmongokerberos
が含まれます。
スタンドアロンとしてインストール
mongokerberos
をスタンドアロン インストールとしてインストールするには:
MongoDB Enterpriseのダウンロード リンクをクリックしますMongoDB Enterpriseダウンロード センター
ドロップダウン メニューからPlatform (オペレーティング システム)を選択し、次のチャートに従ってプラットフォームに適したPackageを選択します。
OSパッケージLinuxtgz
パッケージWindowszip
パッケージMacOStgz
パッケージダウンロードしたら、アーカイブを解凍し、
mongokerberos
をハードドライブのロケーションにコピーします。Tip
Linux と macOS ユーザーは、
$PATH
環境変数で定義されているファイルシステムのロケーション/usr/bin
など)にmongokerberos
をコピーする場合があります。 こうすると、フルパスを指定したり、最初に親ディレクトリに移動したりすることなく、コマンドラインでmongokerberos
を名前で直接参照できるようになります。 詳細については、ご使用プラットフォームのインストール ガイドを参照してください。
使用法
mongokerberos
は、サーバーとクライアントの 2 つのモードで実行できます。
mongosh
ではなく、システムコマンドラインからmongokerberos
を実行します
サーバー モード
サーバーモードでmongokerberos
を実行すると、適切な DNS 解決のチェック、Kerberos システムキータブファイルの検証、 mongod
またはmongos
の MongoDB サービスプリンシパルに対するテストなど、システムの Kerberos 構成に対して一連の検証手順が実行されます。インスタンス。
サーバーモードでmongokerberos
を使用する前に、次の操作を行う必要があります。
プラットフォームのドキュメントに従って、プラットフォーム上で Kerberos を構成します。
次の手順に従って、
mongod
またはmongos
インスタンスで使用する MongoDB サービス プリンシパルを作成します。
これらの手順を完了したら、次のように--server
フラグを使用してサーバーモードでmongokerberos
を実行できます。
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 を構成する必要があります。 オプションで、クライアント モードを使用する前に、まず サーバーmongokerberos
モード で を実行してプラットフォームの Kerberos 構成が有効であることを確認することもできます。
これらの手順を完了したら、次のように--client
フラグを使用して、クライアントモードでmongokerberos
を実行し、ユーザー認証をテストできます。
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.
最後のメッセージは、提供されたユーザーに対してクライアント認証が正常に完了したことを示します。 認証ステップ中にエラーが発生した場合、そのエラーは上記の出力の一部として表示されます。
オプション
--server
サーバーモードで
mongokerberos
を実行し、プラットフォームの Kerberos 構成が MongoDB で使用できるかどうかをテストします。使用例と予想される出力については、「サーバー モード 」を参照してください。
--client
クライアントモードで
mongokerberos
を実行し、システムの Kerberos 環境に対するクライアント認証をテストします。 クライアント モードで実行する場合は、--username
で有効なユーザー名を指定する必要があります。mongokerberos
は、検証手順の一環として、このユーザー名に対して Kerberos チケットをリクエストします。 クライアントモードでmongokerberos
を実行すると、mongosh
のクライアント認証手順がシミュレートされます。使用例と予想される出力については、「クライアント モード 」を参照してください。
--config <filename>, -f <filename>
ランタイム設定オプション用の構成ファイルを指定します。 オプションは、コマンドラインの設定オプションと同じです。 詳細については、 自己管理型構成ファイルのオプションを参照してください。
mongokerberos
は、このファイルからsaslHostName
とsaslServiceName
の値を読み取ります(存在する場合)。 これらの値は、代わりに--setParameter
オプションを使用して指定することもできます。構成ファイルでは ASCII エンコードを使用するようにしてください。
mongokerberos
インスタンスは、UTF- 8など、非 ASCII エンコードの構成ファイルをサポートしていません。
--setParameter <options>
構成可能なパラメーターを設定します。 複数の
setParameter
フィールドを指定できます。setParameter
ではサポートされているパラメータを使用できますが、mongokerberos
は次の値のみをチェックします。これらの値も含む構成ファイルで
--config
オプションを使用すると、setParameter
の値が構成ファイルの値を上書きします。
--host <hostname>
認証テスト時に接続する MongoDB サーバーのホスト名を指定します。
--host
が指定されていない場合、mongokerberos
はホスト名(つまり PTR レコード検証)
--username <username>, -u <username>
Kerberos 認証を試行するときに使用する
mongokerberos
のユーザー名。 この値は、クライアント モードで実行する場合に必要です。