Menu Docs

Rotacionar chaves para clusters fragmentados autogerenciados

Os membros do cluster fragmentado podem usar arquivos -chave para autenticar uns aos outros como membros da mesma implantação.

Um arquivo de chave pode conter várias chaves e a autenticação de associação será estabelecida se pelo menos uma chave for comum entre os membros. Isso permite a atualização contínua das chaves sem tempo de inatividade.

O tutorial a seguir passo a passo do processo para atualizar, sem tempo de inatividade, a chave de um cluster fragmentado. [1]

Aviso

As chaves de exemplo neste tutorial são apenas para fins ilustrativos. NÃO use para sua implantação. Em vez disso, gere um arquivo-chave usando qualquer método de sua escolha (por exemplo, openssl rand -base64 756, etc.).

Considere um cluster fragmentado onde o arquivo de chave de cada membro contém a seguinte chave:

Image of current key to replace.

O procedimento a seguir atualiza os nós do cluster fragmentado para usar uma nova chave:

Image of new key.
[1] Este tutorial não é aplicável ao arquivo de chave usado para o gerenciamento de chaves locais do storage engine criptografado do MongoDB . Esse arquivo -chave só pode conter uma única chave.

Modifique o arquivo-chave de cada membro para incluir as chaves antigas e as novas.

Aviso

As chaves de exemplo neste tutorial são apenas para fins ilustrativos. NÃO use para sua implantação. Em vez disso, gere um arquivo-chave usando qualquer método de sua escolha (por exemplo, openssl rand -base64 756, etc.).

Você pode especificar várias strings de chave como uma sequência de strings de chave (opcionalmente entre aspas):

Image of multiple key string sequence.

Quando todos os arquivos-chave contiverem as chaves antigas e as novas, reinicie cada membro um de cada vez.

Para cada secundário do conjunto de réplica do servidor de configuração (CSRS), conecte o mongosh ao membro e:

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

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

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.

Para cada nó secundário dos conjuntos de réplicas do shard, conecte mongosh ao nó e:

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

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

Para o primário de cada conjunto de réplicas de fragmento, conecte mongosh ao membro 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.

Para cada instância de mongos/roteador, conecte mongosh à instância mongos e:

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

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

Depois que todos os membros tiverem sido reiniciados, os membros agora aceitarão a chave antiga ou a nova para autenticação de associação.

Aviso

As chaves de exemplo neste tutorial são apenas para fins ilustrativos. NÃO use para sua implantação. Em vez disso, gere um arquivo-chave usando qualquer método de sua escolha (por exemplo, openssl rand -base64 756, etc.).

Modifique o arquivo-chave de cada membro para incluir apenas a nova senha.

Image of new key.

Quando todos os arquivos-chave contiverem apenas a nova chave, reinicie cada membro um de cada vez.

Para cada secundário do conjunto de réplica do servidor de configuração (CSRS), conecte o mongosh ao membro e:

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

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

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.

Para cada nó secundário dos conjuntos de réplicas do shard, conecte mongosh ao nó e:

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

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

Para o primário de cada conjunto de réplicas de fragmento, conecte mongosh ao membro 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.

Para cada instância de mongos/roteador, conecte mongosh à instância mongos e:

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

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

Depois que todos os membros tiverem sido reiniciados, eles agora aceitarão apenas a nova chave para autenticação da associação.