定義
バージョン 5.0 の新機能。
rotateCertificatesまたは
mongodの現在使用されているmongosTLS 証明書をローテーションして、構成ファイルで定義されているこれらの証明書の更新された値を使用します。
互換性
このコマンドは、次の環境でホストされている配置で使用できます。
- MongoDB Atlas はクラウドでの MongoDB 配置のための完全管理サービスです
注意
このコマンドは、すべての MongoDB Atlas クラスターでサポートされています。すべてのコマンドに対する Atlas のサポートについては、「サポートされていないコマンド」を参照してください。
MongoDB Enterprise: サブスクリプションベースの自己管理型 MongoDB バージョン
MongoDB Community: ソースが利用可能で、無料で使用できる自己管理型の MongoDB のバージョン
注意
Atlas は証明書を自動的にローテーションします。Atlas を使用する場合、rotateCertificates コマンドを実行する必要はありません。証明書を手動でローテーションする場合にのみ、rotateCertificates コマンドを使用します。
構文
このコマンドの構文は、次のとおりです。
db.runCommand( { rotateCertificates: 1, message: "<optional log message>" } )
コマンドフィールド
コマンドは、次の任意フィールドがあります。
Parameter | タイプ | 説明 |
|---|---|---|
| string | 任意サーバーがログファイルと監査ファイルに記録するメッセージ。 |
出力
The rotateCertificates command returns a document with the following field:
フィールド | タイプ | 説明 |
|---|---|---|
| ブール | コマンドの実行状態が入ります。 成功した場合は |
動作
ローテーションには次の証明書が含まれます。
CRL (Certificate Revocation List) files(Linux および Windows プラットフォーム上)
1 つまたは複数の証明書をローテーションする。
次の制約に注意しながら、ファイルシステム上でローテーションしたい証明書を置き換えます。
新しい証明書はそれぞれ、置き換える証明書と同じファイル名と同じファイルパスを持っている必要があります。
暗号化された
TLS Certificateをローテーションする場合、そのパスワードは古い証明書のパスワードと同じである必要があります(certificateKeyFilePassword構成ファイル設定で指定)。証明書のローテーションでは、対話型のパスワード プロンプトはサポートされません。
Run the
rotateCertificatescommand to rotate the certificates used by themongodormongosinstance.
証明書のローテーションが行われると、次のようになります。
新しい接続では新しい証明書が使用されます。
If you have configured OCSP for your deployment, the rotateCertificates command will also fetch stapled OCSP responses during rotation.
The rotateCertificates command may be run on a running mongod or mongos regardless of replication status.
Only one instance of db.rotateCertificates() or rotateCertificates may run on each mongod or mongos process at a time. Attempting to initiate a second instance while one is already running will result in an error.
証明書ファイルが正しくない、期限切れ、取り消されている、または見つからない場合、証明書のローテーションは失敗しますが、既存の TLS 構成が無効になったり、実行中の mongod または mongos プロセスが終了したりすることはありません。
mongodまたは が をmongos --tlsCertificateSelectorthumbprintに設定して実行中いる場合、rotateCertificates は失敗し、ログファイルに警告メッセージが書込まれます。
ログ記録
ローテーションに成功すると、サブジェクト名、サムプリント、およびサーバー証明書のサムプリントの有効期間が、構成されたログ出力先にログとして記録されます。 監査が有効になっている場合は、この情報も 監査ログ に書き込まれます。
Linux と Windows プラットフォームでは、 CRL fileが存在する場合、そのサムプリントと有効期間もこれらのロケーションにログ化されます。
必要なアクセス権
You must have the rotateCertificates action in order to use the rotateCertificates command. The rotateCertificates action is part of the hostManager role.
例
次の操作では、更新された証明書情報を指定するために構成ファイルを適切に更新した後、実行中のmongodインスタンス上の証明書をローテーションします。
db.adminCommand( { rotateCertificates: 1 } )
以下の は上記と同じ操作を実行しますが、ローテーション時にカスタム ログ メッセージをログファイルと監査ファイルに書込みます。
db.adminCommand( { rotateCertificates: 1, message: "Rotating certificates" } )