Docs Menu
Docs Home
/ /
Interno
/ / / / /

Actualización continua de x.509 certificados que contienen un nuevo DN en clústeres autoadministrados

Los miembros de un conjunto de réplicas o un clúster fragmentado pueden usar x.509 certificados para autenticación de membresía para identificarse entre sí como miembros de la misma implementación.

Para identificar a cada uno como miembro del mismo despliegue, la Organización atribuye (O's), los atributos de la unidad organizativa (OU) y los componentes del dominio (DC) de los certificados deben coincidir.

En algunas situaciones, puede que necesite actualizar los certificados de miembro a nuevos certificados con el nuevo nombre distintivo (),DN por ejemplo, si una organización cambia de nombre. Puede usar el parámetro para establecer un alternativo para tlsX509ClusterAuthDNOverride la DN coincidencia. Con este parámetro, puede realizar una actualización continua de los certificados a nuevos certificados con un DN diferente.

El siguiente tutorial describe el proceso para actualizar los certificados de un conjunto de réplicas sin tiempo de inactividad.

Considere un conjunto de réplicas donde los certificados de cada miembro ( y)clusterFile certificateKeyFilecon DN valor contienen "OU=10gen Server,O=10gen" (los atributos adicionales no se consideran parte de la comparación):

net.tls.mode: requireTLS
net.tls.certificateKeyFile: "./mycerts/10gen-server1.pem"
net.tls.CAFile: "./mycerts/ca.pem"
security.clusterAuthMode: x509
net.tls.clusterFile: "./mycerts/10gen-cluster1.pem"
net.tls.clusterCAFile: "./mycerts/ca.pem"

El siguiente procedimiento actualiza los certificados de los miembros ( y) a nuevos certificados que tienenclusterFile certificateKeyFileun DN valor "OU=MongoDB Server,O=MongoDB" con.

Nota

El siguiente procedimiento presupone que los nuevos509 certificados x. cumplen con todos los demás requisitos del certificado de membresía. Para más información, consulte Requisitos de certificados de membresía.

El procedimiento requiere que se reinicien todos los miembros de la implementación. Dado que la configuración no se tendrá en cuenta hasta que se reinicien todos los miembros, es posible que las instancias registren mensajes hasta que se complete el procedimiento.

Para evitar estos mensajes, puede configurar el parámetro de anulación en los miembros en ejecución.

Conecte mongosh directamente a cada miembro de la implementación y configure el parámetro en el tlsX509ClusterAuthDNOverride nuevo DN certificado:

db.adminCommand( { setParameter: 1, tlsX509ClusterAuthDNOverride: "OU=MongoDB Server,O=MongoDB" } )

Modificar la configuración de cada miembro:

Por ejemplo:

net.tls.mode: requireTLS
net.tls.certificateKeyFile: "./mycerts/mongodb-server1.pem"
net.tls.CAFile: "./mycerts/ca.pem"
security.clusterAuthMode: x509
net.tls.clusterFile: "./mycerts/mongodb-cluster1.pem"
net.tls.clusterCAFile: "./mycerts/ca.pem"
setParameter:
tlsX509ClusterAuthDNOverride: "OU=MongoDB Server,O=MongoDB"

Los ajustes no se tendrán en cuenta hasta que reinicie cada miembro (ver siguiente paso).

Una vez que haya modificado la configuración de todos los miembros, reinicie cada secundario y luego el principal.

Para cada miembro secundario, conecte al miembro mongosh y:

  1. Utilice el método para cerrar el db.shutdownServer() miembro:

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

    Asegúrese de que el miembro haya alcanzado SECONDARY el estado antes de reiniciar el siguiente secundario.

Para el primario, conecte al miembro mongosh y

  1. Utilice para reducir el rs.stepDown() miembro:

    rs.stepDown()
  2. Utilice el método para cerrar el db.shutdownServer() miembro:

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

Una vez que todos los miembros se hayan reiniciado con el nuevo certificado, puede eliminar el parámetro tlsX509ClusterAuthDNOverride de la configuración.

Por ejemplo:

net.tls.mode: requireTLS
net.tls.certificateKeyFile: "./mycerts/mongodb-server1.pem"
net.tls.CAFile: "./mycerts/ca.pem"
security.clusterAuthMode: x509
net.tls.clusterFile: "./mycerts/mongodb-cluster1.pem"
net.tls.clusterCAFile: "./mycerts/ca.pem"

Los ajustes no se tendrán en cuenta hasta que reinicie cada miembro.

Volver

Actualizar a x.509 desde Keyfile