Definición
Nuevo en la versión 5.0.
db.rotateCertificates(message)Rotates the currently used TLS certificates for a
mongodormongosto use the updated values for these certificates defined in the configuration file.db.rotateCertificates(message) El método acepta el siguiente argumento
db.rotateCertificates()opcional:ParameterTipoDescripciónmessagestring
opcional Un mensaje registrado por el servidor en la entrada de registro y el archivo de auditar.
The
db.rotateCertificates()method wraps therotateCertificatescommand.
Compatibilidad
Este método está disponible en implementaciones alojadas en los siguientes entornos:
Importante
Este comando no es compatible con los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulta Comandos no compatibles.
MongoDB Enterprise: La versión basada en suscripción y autogestionada de MongoDB
MongoDB Community: La versión de MongoDB con código fuente disponible, de uso gratuito y autogestionada.
Nota
Atlas rota automáticamente los certificados. No necesitas ejecutar el comando rotateCertificates cuando utilizas Atlas. Usa el comando rotateCertificates solo si quieres rotar los certificados manualmente.
Salida
El método devuelve un documento con el siguiente db.rotateCertificates() campo:
Campo | Tipo | Descripción |
|---|---|---|
| bool | Contiene el estado de ejecución del comando. |
Comportamiento
La rotación incluye los siguientes certificados:
CRL (Certificate Revocation List) files(en las plataformas Linux y Windows)
Para rotar uno o más de estos certificados:
Se debe sustituir el certificado o los certificados que se desean rotar en el sistema de archivos, teniendo en cuenta las siguientes restricciones:
Cada nuevo certificado debe tener el mismo nombre de archivo y la misma ruta de archivo que el certificado que está reemplazando.
Si rota un certificado cifrado
TLS Certificate, su contraseña debe ser la misma que la contraseña del certificado antiguo (como se especifica en los ajustes del archivo de configuracióncertificateKeyFilePassword). La rotación de certificados admite a la solicitud de contraseña interactiva.
Run
db.rotateCertificates()to rotate the certificates used by themongodormongosinstance.
Cuando tiene lugar la rotación de certificados:
Cualquier nueva conexión utilizará los nuevos certificados.
Si ha configurado para OCSP db.rotateCertificates() su implementación, el método también obtendrá respuestas OCSP combinadas durante la rotación.
The db.rotateCertificates() method 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.
Los archivos de certificado incorrectos, caducados, revocados o ausentes harán que falle la rotación del certificado, pero no invalidarán la configuración TLS existente ni terminarán el proceso mongod o mongos en ejecución.
If the mongod or mongos is running with --tlsCertificateSelector set to thumbprint, db.rotateCertificates() will fail and write a warning message to the log file.
Registro
En caso de rotación exitosa, los nombres de sujetos, las huellas digitales y el período de validez de las huellas digitales de los certificados del servidor y del clúster se registran en el destino de registro configurado. Si la función de auditar está habilitada, esta información también se registra en el registro de auditoría.
En las plataformas Linux y Windows, si hay un CRL file presente, su huella digital y el periodo de validez también se registran en estas ubicaciones.
Acceso requerido
Debes tener la rotateCertificates acción para poder usar el db.rotateCertificates() método. La acción rotateCertificates hostManager forma parte del rol.
Ejemplo
La siguiente operación rota los certificados en una instancia mongod en funcionamiento, después de haber realizado las actualizaciones apropiadas en el archivo de configuración para especificar la información actualizada del certificado:
db.rotateCertificates()
Lo siguiente realiza la misma función que lo anterior, pero además escribe un mensaje de registro personalizado en el momento de la rotación en la entrada de registro y archivo de auditoría:
db.rotateCertificates("message": "Rotating certificates")