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 claves para sets de réplicas autogestionados

Los miembros del set de réplicas pueden usar keyfiles para autenticarse entre sí como miembros de la misma implementación.

Un archivo clave puede contener múltiples claves y la autenticación de membresía se establece si al menos una clave es común entre los nodos. Esto permite una actualización continua de las claves sin tiempo de inactividad.

El siguiente tutorial repasa el proceso para actualizar la clave de un set de réplicas sin tiempo de inactividad. [1]

Advertencia

Las claves de ejemplo en este tutorial son solo con fines ilustrativos. NO utilice para su implementación. En su lugar, genera un archivo keyfile empleando cualquier método que elijas (por ejemplo, openssl rand -base64 756, etc.).

Considere un set de réplicas donde el archivo de claves de cada nodo contiene la siguiente clave:

Imagen de la clave actual a reemplazar.

El siguiente procedimiento actualiza los miembros del set de réplicas para que utilicen una nueva clave:

Imagen de la nueva clave.
[1] Este tutorial no es aplicable al archivo de claves utilizado para la gestión local de claves del motor de almacenamiento cifrado de MongoDB. Ese archivo de claves solo puede contener una única clave.

Modificar la keyfile de cada nodo para incluir tanto la clave antigua como la nueva. Puede especificar varias claves como cadenas entre comillas o como una secuencia de claves.

Advertencia

Las claves de ejemplo de este tutorial son solo para fines ilustrativos. NO lo uses para su implementación. En lugar de esto, genera un archivo clave usando cualquier método que elijas (por ejemplo, openssl rand -base64 756, etc.).

Puedes especificar varias cadenas de claves como una secuencia de cadenas de claves (opcionalmente entre comillas simples o double).

Imagen de una secuencia de varias key string.

Una vez que todos los archivos clave contengan tanto las claves antigua como nueva, reinicie cada nodo uno a la vez.

Para cada nodo secundario, conecta mongosh al nodo y:

  1. Utiliza el método db.shutdownServer() para apagar el nodo:

    use admin
    db.shutdownServer()
  2. Reinicia el nodo.

Para el primario, conecte mongosh al nodo y

  1. Usa rs.stepDown() para destituir al nodo:

    rs.stepDown()
  2. Utiliza el método db.shutdownServer() para apagar el nodo:

    use admin
    db.shutdownServer()
  3. Reinicia el nodo.

Dado que los keyfiles contienen tanto las claves antiguas como las nuevas, ahora todos los miembros pueden aceptar cualquiera de las claves para la autenticación de membresía.

Advertencia

Las claves de ejemplo de este tutorial son solo para fines ilustrativos. NO lo uses para su implementación. En lugar de esto, genera un archivo clave usando cualquier método que elijas (por ejemplo, openssl rand -base64 756, etc.).

Modifica el archivo clave de cada nodo para incluir solo la nueva contraseña.

Imagen de la nueva clave.

Una vez que todos los archivos de claves contengan solo la nueva clave, reinicie cada nodo uno a la vez.

Para cada nodo secundario, conecta mongosh al nodo y:

  1. Utiliza el método db.shutdownServer() para apagar el nodo:

    use admin
    db.shutdownServer()
  2. Reinicia el nodo.

Para el primario, conecte mongosh al nodo y

  1. Usa rs.stepDown() para destituir al nodo:

    rs.stepDown()
  2. Utiliza el método db.shutdownServer() para apagar el nodo:

    use admin
    db.shutdownServer()
  3. Reinicia el nodo.

Todos los miembros ahora aceptan únicamente la nueva clave para la autenticación de membresía.