AI エージェント向け: ドキュメントインデックスは https://www.mongodb.com/ja-jp/docs/llms.txt で利用できます。すべてのページの markdown バージョンは、いずれかの URL パスに .md を追加することで利用できます。
Docs Menu

db.rotateCertificates()(mongoshメソッド)

バージョン 5.0 の新機能。

db.rotateCertificates(message)

または mongodの現在使用されているmongos TLS 証明書をローテーションして、構成ファイルで定義されているこれらの証明書の更新された値を使用します。

db.rotateCertificates(message)

db.rotateCertificates()メソッドは、次の任意引数を受け取ります。

Parameter
タイプ
説明

message

string

任意サーバーがログファイルと監査ファイルに記録するメッセージ。

db.rotateCertificates()rotateCertificatesメソッドは コマンドをラップします。

このメソッドは、次の環境でホストされている配置で使用できます。

重要

このコマンドは、MongoDB Atlas クラスターではサポートされていません。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。

  • MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン

  • MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン

注意

Atlas は証明書を自動的にローテーションします。Atlas を使用する場合、rotateCertificates コマンドを実行する必要はありません。証明書を手動でローテーションする場合にのみ、rotateCertificates コマンドを使用します。

db.rotateCertificates()メソッドは、次のフィールドを含むドキュメントを返します。

フィールド
タイプ
説明

ok

ブール

コマンドの実行状態が入ります。 成功した場合はtrue 、エラーが発生した場合はfalseになります。 falseの場合、 errmsgフィールドには詳細なエラーメッセージが追加されます。

ローテーションには次の証明書が含まれます。

1 つまたは複数の証明書をローテーションする。

  1. 次の制約に注意しながら、ファイルシステム上でローテーションしたい証明書を置き換えます。

    • 新しい証明書はそれぞれ、置き換える証明書と同じファイル名同じファイルパスを持っている必要があります。

    • 暗号化された TLS Certificate をローテーションする場合、そのパスワードは古い証明書のパスワードと同じである必要があります(certificateKeyFilePassword 構成ファイル設定で指定)。証明書のローテーションでは、対話型のパスワード プロンプトはサポートされません。

  2. 証明書ローテーションを実行する またはmongosh mongodmongosインスタンスに を接続します。

  3. db.rotateCertificates()を実行して、mongod またはmongos インスタンスで使用される証明書をローテーションします。

証明書のローテーションが行われると、次のようになります。

  • mongod または mongos インスタンスへの既存の接続は終了されず、古い証明書が引き続き使用されます。

  • 新しい接続では新しい証明書が使用されます。

OCSP配置に を構成した場合、 メソッドはローテーション中にステープリングされた OCSP 応答も取得します。db.rotateCertificates()

db.rotateCertificates()メソッドは、レプリケーションのステータスに関係なく、実行中のmongod またはmongos で実行できます。

db.rotateCertificates()またはrotateCertificates mongodmongosプロセスごとに一度に実行できる または のインスタンスのみ。 2 つ目の インスタンスがすでに実行中中に 2 つ目のインスタンスを開始しようとすると、エラーが発生します。

証明書ファイルが正しくない、期限切れ、取り消されている、または見つからない場合、証明書のローテーションは失敗しますが、既存の TLS 構成が無効になったり、実行中の mongod または mongos プロセスが終了したりすることはありません。

mongodまたは が をmongos --tlsCertificateSelectorthumbprintに設定して実行中いる場合、db.rotateCertificates() は失敗し、ログファイルに警告メッセージが書込まれます。

ローテーションに成功すると、サブジェクト名、サムプリント、およびサーバー証明書のサムプリントの有効期間が、構成されたログ出力先にログとして記録されます。 監査が有効になっている場合は、この情報も 監査ログ に書き込まれます。

Linux と Windows プラットフォームでは、 CRL fileが存在する場合、そのサムプリントと有効期間もこれらのロケーションにログ化されます。

rotateCertificatesdb.rotateCertificates()メソッドを使用するには、 アクションが必要です。rotateCertificates アクションはhostManager ロールの一部です。

次の操作では、更新された証明書情報を指定するために構成ファイルを適切に更新した後、実行中のmongodインスタンス上の証明書をローテーションします。

db.rotateCertificates()

以下の は上記と同じ操作を実行しますが、ローテーション時にカスタム ログ メッセージをログファイル監査ファイルに書込みます。

db.rotateCertificates("message": "Rotating certificates")