Synopsis
MongoDB Enterprise は、実行中のmongokerberos Kerberos 配置に対して MongoDB の Kerberos および GSSAPI 構成オプション をテストするための を提供します。mongokerberosは、サーバーとクライアントの 2 つのモードのいずれかで使用できます。
モード | 説明 |
|---|---|
サーバー | サーバー モードでは、 |
クライアント | クライアント モードでは、 |
両方のモードのエラー メッセージには、発生した特定のエラーに関する情報と、エラーを解決するための潜在的なアドバイスが含まれています。
mongokerberos は、サーバー モードとクライアント モードの両方で次の配置タイプをサポートします。
Windows Active Directory 配置への認証 Linux MongoDB クライアント。
注意
MongoDB Enterpriseおよび は、Kerberosmongokerberos の MIT実装のみをサポートします。
一般に、 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パッケージLinux
tgzパッケージWindows
zipパッケージMacOS
tgzパッケージダウンロードしたら、アーカイブを解凍し、
mongokerberosをハードドライブのロケーションにコピーします。Tip
Linux と macOS ユーザーは、
$PATH環境変数で定義されているファイルシステムのロケーション/usr/binなど)にmongokerberosをコピーする場合があります。 こうすると、フルパスを指定したり、最初に親ディレクトリに移動したりすることなく、コマンドラインでmongokerberosを名前で直接参照できるようになります。 詳細については、ご使用プラットフォームのインストール ガイドを参照してください。
使用法
mongokerberosは、サーバーとクライアントの 2 つのモードで実行できます。
mongosh ではなく、システムコマンドラインからmongokerberosを実行します
サーバー モード
サーバーモードでmongokerberosを実行すると、適切な DNS 解決のチェック、Kerberos システムキータブファイルの検証、 mongodまたはmongosの MongoDB サービスプリンシパルに対するテストなど、システムの Kerberos 構成に対して一連の検証手順が実行されます。インスタンス。
サーバーモードでmongokerberosを使用する前に、次の操作を行う必要があります。
プラットフォームのドキュメントに従って、プラットフォーム上で Kerberos を構成します。
これらの手順を完了したら、次のように--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のユーザー名。 この値は、クライアント モードで実行する場合に必要です。