Para agentes de IA: hay un índice de documentación disponible en https://www.mongodb.com/es/docs/llms.txt — versiones en markdown de todas las páginas están disponibles agregando .md a cualquier ruta URL.
Docs Menu

Rotar certificados TLS sin tiempo de inactividad

MongoDB Ops Manager puede rotar los certificados TLS en una implementación gestionada sin reiniciar los procesos de MongoDB. Cuando incrementas el campo certificatesVersion en la configuración de automatización, MongoDB Agent ejecuta db.adminCommand({ rotateCertificates: 1 }) en cada proceso elegible en su lugar, por lo que las conexiones del cliente permanecen ininterrumpidas durante toda la operación.

El MongoDB Agent aplica la rotación de tiempo de inactividad cero solo a los procesos que cumplen todos los requisitos siguientes:

  • El tipo de proceso es mongod o mongos.

  • La versión de MongoDB es 5.0 o posterior.

  • TLS está configurado en el proceso.

  • Todos los nodos de la implementación cumplen los requisitos anteriores.

El MongoDB Agent no puede aplicar la rotación sin tiempo de inactividad a un proceso en ninguna de las siguientes categorías. En la Interfaz de Usuario de MongoDB Ops Manager, la casilla de verificación para una implementación no elegible está deshabilitada. A través de la API de automatización, MongoDB Ops Manager rechaza una actualización de configuración para una implementación no elegible con un error HTTP 400 que explica el motivo:

Condición
Comportamiento

Versión de MongoDB anterior a 5.0

No se puede seleccionar en la Interfaz de Usuario del Ops Manager. La API de automatización rechaza la actualización de la configuración con un error HTTP 400.

TLS no configurado

No se puede seleccionar en la Interfaz de Usuario del Ops Manager. La API de automatización rechaza la actualización de la configuración con un error HTTP 400.

BI Connector o mongosqld

No se puede seleccionar en la Interfaz de Usuario del Ops Manager. La API de automatización rechaza la actualización de la configuración con un error HTTP 400.

TLS el cambio de ruta coincide con la rotación

El reinicio en secuencia gestiona el cambio de ruta. Ops Manager registra la rotación como completa.

Importante

La rotación sin tiempo de inactividad requiere que todos los procesos de la implementación cumplan los requisitos de elegibilidad. Si algún proceso no cumple los requisitos, utilice el método existente: vaya a Deployment, Security, Settings, TLS Settings, actualice la ruta del certificado y active un reinicio en secuencia a través de Review and Deploy.

Antes de rotar los certificados, verifique lo siguiente:

  • Su implementación está gestionada por la automatización de MongoDB Ops Manager.

  • Todos los procesos de mongod y mongos en la implementación ejecutan MongoDB 5.0 o posterior.

  • TLS está habilitado en la implementación.

  • Su nuevo certificado TLS es válido y se sobrescribe correctamente en la ruta configurada original.

Utilice la API de automatización o la interfaz de usuario de Ops Manager para activar la rotación de certificados.

Importante

No puede revertir certificatesVersion a un valor anterior a través de la interfaz de usuario o la API. MongoDB Ops Manager solo permite que este valor aumente.

Para rotar los certificados mediante la API de automatización, recupere la configuración de automatización actual, incremente certificatesVersion y cargue la configuración actualizada.

1

Envíe una solicitud GET al punto de conexión de configuración de automatización:

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" \
--digest \
--header "Accept: application/json" \
--request GET \
"https://<OpsManagerHost>/api/public/v1.0/groups/{GROUP-ID}/automationConfig"

Guarde el cuerpo de la respuesta en un archivo local, como automation-config.json.

2

En el arreglo processes, localice el objeto de cada proceso que desee rotar. Incrementa el entero certificatesVersion en 1. Si el campo no está presente, agréguelo y establézcalo en 1.

Para activar la rotación in situ, establezca un valor mayor que el valor publicado actualmente. Los valores iguales no activan la rotación. Ops Manager rechaza los decrementos con HTTP 400 INVALID_AUTOMATION_CONFIG. Para conocer las reglas de validación de campos, consulte Procesos de MongoDB.

3

Envíe una solicitud PUT con la configuración modificada:

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" \
--digest \
--header "Accept: application/json" \
--header "Content-Type: application/json" \
--request PUT \
--data @automation-config.json \
"https://<OpsManagerHost>/api/public/v1.0/groups/{GROUP-ID}/automationConfig"
4

En la interfaz de usuario de MongoDB Ops Manager, haga clic en Deployment y, a continuación, en Processes. Espere a que el indicador de estado muestre que todos los procesos han convergido. MongoDB Agent aplica la rotación a cada proceso elegible y registra el resultado.

Para rotar certificados con la interfaz de usuario de Ops Manager, vaya a la configuración de TLS de su proyecto y seleccione las implementaciones que desea rotar.

1

Haga clic en Deployment, Security, Settings y, a continuación, en TLS Settings.

2

Haga clic en Edit y, a continuación, en Rotate Certificates. La tabla enumera todos los elementos de implementación del proyecto. Los elementos no elegibles están deshabilitados y muestran el motivo al pasar el cursor.

3

Seleccione uno o más elementos de implementación elegibles y, a continuación, confirme la operación.

4

Espere a que todos los procesos alcancen el estado objetivo. El indicador de estado en el panel de estado de automatización de Ops Manager se actualiza a medida que el MongoDB Agent aplica la rotación a cada proceso elegible.

El MongoDB Agent conserva el resultado de cada rotación para que sobreviva a los reinicios del agente y se reanude desde donde lo dejó.

MongoDB Ops Manager registra un evento TLS_CERTIFICATES_ROTATED en la fuente de actividad del proyecto cada vez que una actualización de la configuración de automatización rota los certificados en uno o más procesos. Utilice este evento para auditar el historial de rotación de certificados.

Si el comando rotateCertificates falla, el MongoDB Agent devuelve el código de error 128 (TlsCertificatesRotationErr). Ops Manager muestra "Error de rotación de certificado TLS" en el panel de estado de automatización y reprograma el paso en el siguiente tick de convergencia. Corrija el archivo de certificado en el disco para resolver el error.

Si el comando se ejecuta correctamente, pero el MongoDB Agent no puede conservar el resultado, se reintenta automáticamente.

Cuando el agente de MongoDB detecta un certificatesVersion incrementado en la configuración de automatización, comprueba cada proceso elegible con los requisitos de elegibilidad y ejecuta db.adminCommand({ rotateCertificates: 1 }).