Os membros do conjunto de réplicas podem usar arquivos -chave para autenticar uns aos outros como membros da mesma implementaçã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.
The following tutorial steps through the process to update the key for a replica set without downtime. [1]
Aviso
As chaves de exemplo neste tutorial são apenas para fins ilustrativos. NÃO use em seu sistema. Em vez disso, gere um arquivo-chave usando qualquer método de sua escolha (por exemplo, openssl rand -base64 756, etc.).
Considere um conjunto de réplicas onde o arquivo-chave de cada membro contém a seguinte chave:

O procedimento a seguir atualiza os membros do conjunto de réplicas para usar uma nova chave:

| [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. |
Procedimento
1. Modificar o arquivo-chave para incluir chaves antigas e novas
Modifique o arquivo-chave de cada membro para incluir as chaves antigas e as novas. Você pode especificar múltiplas chaves como strings entre aspas ou como uma sequência de chaves.
Aviso
As chaves de exemplo neste tutorial são apenas para fins ilustrativos. NÃO use em seu sistema. 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 simples ou duplas).

2. Reiniciar cada membro
Quando todos os arquivos-chave contiverem as chaves antigas e as novas, reinicie cada membro um de cada vez.
For each secondary member, connect mongosh to the member and:
Use o método
db.shutdownServer()para desligar o nó:use admin db.shutdownServer() Reinicie o membro.
For the primary, connect mongosh to the member and
Use
rs.stepDown()para descer o membro:rs.stepDown() Use o método
db.shutdownServer()para desligar o nó:use admin db.shutdownServer() Reinicie o membro.
Como os arquivos-chave contêm as chaves antigas e novas, todos os membros agora podem aceitar qualquer uma das chaves para autenticação de associação.
3. Atualizar o conteúdo do arquivo-chave somente para a nova chave
Aviso
As chaves de exemplo neste tutorial são apenas para fins ilustrativos. NÃO use em seu sistema. 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.

4. Reiniciar cada membro
Quando todos os arquivos-chave contiverem apenas a nova chave, reinicie cada membro um de cada vez.
For each secondary member, connect mongosh to the member and:
Use o método
db.shutdownServer()para desligar o nó:use admin db.shutdownServer() Reinicie o membro.
For the primary, connect mongosh to the member and
Use
rs.stepDown()para descer o membro:rs.stepDown() Use o método
db.shutdownServer()para desligar o nó:use admin db.shutdownServer() Reinicie o membro.
Todos os membros agora aceitam apenas a nova chave para autenticação de associação.