db.rotateCertificates()
定義
バージョン 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 のバージョン
出力
db.rotateCertificates()
メソッドは、次のフィールドを含むドキュメントを返します。
フィールド | タイプ | 説明 |
---|---|---|
| ブール | コマンドの実行状態が入ります。 成功した場合は |
動作
ローテーションには次の証明書が含まれます。
CRL (Certificate Revocation List) files
(Linux と Windows プラットフォーム上)
1 つまたは複数の証明書をローテーションする。
次の制約に注意しながら、ファイルシステム上でローテーションしたい証明書を置き換えます。
新しい証明書はそれぞれ、置き換える証明書と同じファイル名と同じファイルパスを持っている必要があります。
暗号化された
TLS Certificate
をローテーションする場合、そのパスワードは古い証明書のパスワードと同じである必要があります(certificateKeyFilePassword
構成ファイル設定で指定)。証明書のローテーションでは、対話型のパスワード プロンプトはサポートされません。
db.rotateCertificates()
を実行して、mongod
またはmongos
インスタンスで使用される証明書をローテーションします。
証明書のローテーションが行われると、次のようになります。
配置にOCSP
を構成した場合、 db.rotateCertificates()
メソッドはローテーション中にステープリングされた OCSP 応答も取得します。
db.rotateCertificates()
メソッドは、レプリケーションのステータスに関係なく、実行中のmongod
またはmongos
で実行できます。
またはrotateCertificates
mongod
mongos
プロセスごとに一度に実行できるdb.rotateCertificates()
または のインスタンスは 1 つだけです。2 つ目の インスタンスがすでに実行中に 2 つ目の インスタンスを開始しようとすると、エラーが発生します。
証明書ファイルが正しくない、期限切れ、取り消されている、または見つからない場合、証明書のローテーションは失敗しますが、既存の TLS 構成が無効になったり、実行中の mongod
または mongos
プロセスが終了したりすることはありません。
mongod
またはmongos
が--tlsCertificateSelector
をthumbprint
に設定して実行している場合、 db.rotateCertificates()
は失敗し、ログファイルに警告メッセージが書込まれます。
ログ記録
ローテーションに成功すると、サブジェクト名、サムプリント、およびサーバー証明書のサムプリントの有効期間が、構成されたログ出力先にログとして記録されます。 監査が有効になっている場合は、この情報も 監査ログ に書き込まれます。
Linux と Windows プラットフォームでは、 CRL file
が存在する場合、そのサムプリントと有効期間もこれらのロケーションにログ化されます。
必要なアクセス権
rotateCertificates
メソッドを使用するには、 db.rotateCertificates()
アクション が必要です。rotateCertificates
アクションはhostManager
ロールの一部です。
例
次の操作では、更新された証明書情報を指定するために構成ファイルを適切に更新した後、実行中のmongod
インスタンス上の証明書をローテーションします。
db.rotateCertificates()
以下の は上記と同じ操作を実行しますが、ローテーション時にカスタム ログ メッセージをログファイルと監査ファイルに書込みます。
db.rotateCertificates("message": "Rotating certificates")