Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/ /
Databases

db.rotateCertificates() (método mongosh)

Nuevo en la versión 5.0.

db.rotateCertificates(message)

Rota los certificados TLS que se están utilizando actualmente para un mongod o mongos para usar los valores actualizados de estos certificados definidos en el archivo de configuración.

db.rotateCertificates(message)

El método db.rotateCertificates() toma el siguiente argumento opcional:

Parameter
Tipo
Descripción

message

string

opcional Un mensaje registrado por el servidor en la entrada de registro y el archivo de auditar.

El método db.rotateCertificates() envuelve el comando rotateCertificates.

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.

El método db.rotateCertificates() retorna un documento con el siguiente campo:

Campo
Tipo
Descripción

ok

bool

Contiene el estado de ejecución del comando. true en caso de éxito, o false si se produjo un error. Si false, también se proporciona un campo errmsg con un mensaje de error detallado.

La rotación incluye los siguientes certificados:

Para rotar uno o más de estos certificados:

  1. Se debe sustituir el certificado o los certificados que se desean rotar en el sistema de archivos, teniendo en cuenta las siguientes restricciones:

  2. Se debe conectar mongosh a mongod o a la instancia mongos en la que se desee realizar la rotación de certificados.

  3. Ejecuta db.rotateCertificates() para rotar los certificados utilizados por la instancia mongod o mongos.

Cuando tiene lugar la rotación de certificados:

  • Las conexiones existentes a la instancia de mongod o mongos no se terminan y continuarán usando los certificados antiguos.

  • Cualquier nueva conexión utilizará los nuevos certificados.

Si has configurado OCSP para tu implementación, el método db.rotateCertificates() también obtendrá respuestas OCSP adjuntas durante la rotación.

El método db.rotateCertificates() se puede ejecutar en un mongod o mongos en ejecución, independientemente del estado de replicación.

Solo puede ejecutarse una instancia de db.rotateCertificates() o rotateCertificates en cada proceso mongod o mongos a la vez. Intentar iniciar una segunda instancia mientras ya hay una en ejecución resultará en un 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.

Si el mongod o mongos está ejecutándose con --tlsCertificateSelector configurado en thumbprint, db.rotateCertificates() fallará y guardará un mensaje de advertencia en la entrada de 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.

Debe tener la rotateCertificates acción para poder usar el método db.rotateCertificates(). La acción rotateCertificates forma parte del rol hostManager.

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")

Volver

db.resetError

En esta página