Synopsis
MongoDB Enterprise は、実行中のKerberosmongokerberos 配置に対して MongoDB の Kerberos と GSSAPI 構成オプションをテストするための を提供します。mongokerberosは、サーバーとクライアントの2 つのモードのいずれかで使用できます。
モード | 説明 |
|---|---|
サーバー | サーバーモードでは、 はサーバー上の Kerberos 関連の構成を分析し、問題のある構成に関するエラー |
クライアント | クライアントモードでは、 は指定されたユーザー名の |
両方のモードのエラー メッセージには、発生した特定のエラーに関する情報と、エラーを解決するための潜在的なアドバイスが含まれています。
mongokerberos は、サーバー モードとクライアント モードの両方で次の配置タイプをサポートします。
サポートされている Linux プラットフォームで MIT Kerberos 配置を認証する Linux MongoDB クライアント。
サポートされている Windows プラットフォーム上の Windows Active Directory 配置で認証される Windows MongoDB クライアント。
Windows Active Directory 配置への認証 Linux MongoDB クライアント。
注意
MongoDB Enterpriseおよび mongokerberos は、Kerberos の 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 を構成します。
次の手順に従って、
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のユーザー名。 この値は、クライアント モードで実行する場合に必要です。