Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / / /

Atualização contínua de x.509 Certificados que contêm novo DN em clusters autogerenciados

Membros de um conjunto de réplicas ou um cluster fragmentado podem usar x.509 certificados para autenticação de associação para identificar uns aos outros como membros da mesma implantação.

Para identificar uns aos outros como membros da mesma implantação, os atributos da organização (O), os atributos da unidade organizacional (OU 's) e os componentes de domínio (DC 's) do certificados devem corresponder.

Em algumas situações, talvez seja necessário atualizar os certificados de membro para novos certificados com o novo Nome Distinto (DN), como se uma organização alterasse seu nome. Você pode usar o parâmetro tlsX509ClusterAuthDNOverride para definir uma DN alternativa a ser usada na correspondência. Com esse parâmetro, você pode executar uma atualização contínua dos certificados para novos certificados com um DN diferente.

Observação

Em uma atualização contínua, os certificados de membro são atualizados um de cada vez e seu sistema não incorre em nenhum tempo de inatividade. Para executar uma atualização contínua para girar certificados em um cluster que usa configurações net.tls.clusterAuthX509 ou em um cluster que usará essas configurações após a atualização, consulte Girar certificados X.509 em clusters autogerenciados.

O tutorial a seguir descreve o processo para atualizar os certificados de um conjunto de réplicas sem tempo de inatividade.

Considere um conjunto de réplicas onde os certificados de cada membro (clusterFile e certificateKeyFile) com valor DN que contém "OU=10gen Server,O=10gen" (atributos adicionais não são considerados parte da comparação):

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"

O procedimento seguinte atualiza os certificados dos membros (clusterFile e certificateKeyFile) para novos certificados que têm um valor DN com "OU=MongoDB Server,O=MongoDB".

Observação

O procedimento a seguir pressupõe que os novos certificados x.509 atendam a todos os outros requisitos do certificado de associação. Para obter detalhes, consulte Requisitos de certificado de membro

O procedimento exige que todos os membros da implantação sejam reiniciados. Como as configurações não levarão em consideração até que você reinicie todos os membros, suas instâncias podem registrar mensagens até que o procedimento seja concluído.

Para evitar essas mensagens, você pode definir o parâmetro de substituição em membros em execução.

Conecte mongosh diretamente a cada membro do sistema e defina o parâmetro tlsX509ClusterAuthDNOverride para o novo certificado DN:

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

Modificar a configuração de cada membro:

Por exemplo:

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"

As configurações não serão consideradas até que você reinicie cada membro (consulte a próxima etapa).

Depois de modificar a configuração de todos os membros, reinicie cada secundário e, em seguida, o primary.

Para cada nó secundário, conecte mongosh ao nó e:

  1. Use o método db.shutdownServer() para desligar o nó:

    use admin
    db.shutdownServer()
  2. Reinicie o membro.

    Certifique-se de que o membro tenha atingido o estado SECONDARY antes de reiniciar o próximo secundário.

Para o primário, conecte mongosh ao nó e

  1. Use rs.stepDown() para descer o membro:

    rs.stepDown()
  2. Use o método db.shutdownServer() para desligar o nó:

    use admin
    db.shutdownServer()
  3. Reinicie o membro.

Após todos os membros terem sido reiniciados com o novo certificado, você poderá remover o parâmetro tlsX509ClusterAuthDNOverride da configuração.

Por exemplo:

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"

As configurações não serão consideradas até que você reinicie cada membro.

Voltar

Fazer upgrade para x.509 a partir do Keyfile