Los miembros del conjunto de réplicas pueden utilizar archivos clave para autenticarse entre sí como miembros de la misma implementación.
Un archivo de claves puede contener varias claves, y la autenticación de miembros se establece si al menos una clave es común a todos los miembros. Esto permite la actualización gradual de las claves sin tiempo de inactividad.
El siguiente tutorial describe el proceso para actualizar la clave de un conjunto de réplicas sin tiempo de inactividad. []1
Advertencia
Las claves de ejemplo de este tutorial son solo para fines ilustrativos. NO lo use para su implementación. En su lugar, genere un archivo de claves utilizando cualquier método que elija (por ejemplo, openssl rand -base64
756, etc.).
Considere un conjunto de réplicas donde el archivo de claves de cada miembro contiene la siguiente clave:

El siguiente procedimiento actualiza los miembros del conjunto de réplicas para usar una nueva clave:

| [1] | Este tutorial no aplica al archivo de claves utilizado para la gestión de claves locales del motor de almacenamiento cifrado de MongoDB. Dicho archivo de claves solo puede contener una clave. |
Procedimiento
1. Modificar el archivo de claves para incluir claves antiguas y nuevas
Modifique el archivo de claves de cada miembro 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 ilustrativas.NO las utilice para su implementación. En su lugar, genere un archivo de claves con el método que prefiera (p. ej.,, openssl rand -base64
756 etc.).
Puede especificar varias cadenas de claves como una secuencia de cadenas de claves (opcionalmente encerradas entre comillas simples o dobles).

2. Reiniciar cada miembro
Una vez que todos los archivos de claves contengan las claves antiguas y nuevas, reinicie cada miembro uno a la vez.
Para cada miembro secundario, conecte mongosh al miembro y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Para el primario, conecte al miembro mongosh y
Utilice para reducir el
rs.stepDown()miembro:rs.stepDown() Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Dado que los archivos de claves contienen tanto las claves antiguas como las nuevas, todos los miembros ahora pueden aceptar cualquiera de las claves para la autenticación de membresía.
3. Actualizar el contenido del archivo de claves solo a la nueva clave
Advertencia
Las claves de ejemplo de este tutorial son solo ilustrativas.NO las utilice para su implementación. En su lugar, genere un archivo de claves con el método que prefiera (p. ej.,, openssl rand -base64
756 etc.).
Modifica el archivo clave de cada nodo para incluir solo la nueva contraseña.

4. Reiniciar cada miembro
Una vez que todos los archivos clave contengan solo la nueva clave, reinicie cada miembro uno a la vez.
Para cada miembro secundario, conecte al miembro mongosh y:
Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Para el primario, conecte al miembro mongosh y
Utilice para reducir el
rs.stepDown()miembro:rs.stepDown() Utilice el método para cerrar el
db.shutdownServer()miembro:use admin db.shutdownServer() Reinicia el nodo.
Todos los miembros ahora aceptan únicamente la nueva clave para la autenticación de membresía.