Definición
Nuevo en la versión 5.0.
rotateCertificatesRota los certificados TLS utilizados actualmente para un
mongodo para utilizar los valores actualizados para estos certificados definidos en elmongosarchivode configuración.
Compatibilidad
Este comando está disponible en implementaciones alojadas en los siguientes entornos:
MongoDB Atlas: El servicio totalmente gestionado para implementaciones de MongoDB en la nube
Nota
Este comando es compatible con todos los clústeres de MongoDB Atlas. Para obtener información sobre el soporte de Atlas para todos los comandos, consulte 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 es necesario ejecutar el comando rotateCertificates al usar Atlas. Use el comando rotateCertificates solo si desea rotar los certificados manualmente.
Sintaxis
El comando tiene la siguiente sintaxis:
db.runCommand( { rotateCertificates: 1, message: "<optional log message>" } )
Campos de comandos
El comando toma el siguiente campo opcional:
Parameter | Tipo | Descripción |
|---|---|---|
| string | opcional Un mensaje registrado por el servidor en el archivo de registro y en el archivo de auditoría. |
Salida
El comando devuelve un documento con el siguiente 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.
Se debe conectar
mongoshamongodo a la instanciamongosen la que se desee realizar la rotación de certificados.Ejecute el comando para rotar los
rotateCertificatesmongodmongoscertificados utilizados por la instancia o.
Cuando tiene lugar la rotación de certificados:
Las conexiones existentes a la instancia de
mongodomongosno se terminan y continuarán usando los certificados antiguos.Cualquier nueva conexión utilizará los nuevos certificados.
Si ha configurado OCSP para su implementación, el comando rotateCertificates también obtendrá respuestas OCSP adjuntas durante la rotación.
El rotateCertificates comando se puede ejecutar en un o mongod mongos en ejecución independientemente del estado de replicación.
Solo se puede ejecutar una instancia de db.rotateCertificates() o rotateCertificates en cada mongod proceso o a la vez. Intentar iniciar una segunda instancia mientras una ya está en ejecución generará un error.mongos
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.
Si el mongod o mongos está ejecutándose con --tlsCertificateSelector configurado en thumbprint, rotateCertificates fallará y guardará un mensaje de advertencia en la entrada de registro.
Registro
Tras una rotación correcta, los nombres de los sujetos, las huellas digitales y el periodo 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 auditoría está habilitada, esta información también se escribe en el registro de auditoría.
En las plataformas Linux y Windows, si hay un, su huella digital y período de validez también se registran en estas CRL file ubicaciones.
Acceso requerido
Debe tener la rotateCertificates acción para usar el rotateCertificates comando. La acción rotateCertificates hostManager forma parte del rol.
Ejemplo
La siguiente operación rota los certificados en una mongod instancia en ejecución, después de haber realizado las actualizaciones apropiadas en el archivo de configuración para especificar la información del certificado actualizada:
db.adminCommand( { rotateCertificates: 1 } )
Lo siguiente realiza lo mismo que lo anterior, pero también escribe un mensaje de registro personalizado en el momento de la rotación en el archivo de registro y en el archivo de auditoría:
db.adminCommand( { rotateCertificates: 1, message: "Rotating certificates" } )