Definição
Novidade na versão 5.0.
db.rotateCertificates(message)Gira os certificados TLS usados atualmente para um
mongodou para usar os valores atualizados para esses certificados definidos nomongosarquivode configuração.db.rotateCertificates(message) O método usa o seguinte argumento
db.rotateCertificates()opcional:ParâmetroTipoDescriçãomessagestring
opcional Uma mensagem registrada pelo servidor no arquivo de log e no arquivo de auditoria.
O método
db.rotateCertificates()rotateCertificatesenvolve o comando.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
Importante
Este comando não é aceito em clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, consulte Comandos não suportados.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Observação
O Atlas gira automaticamente os certificados. Você não precisa executar o comando rotateCertificates ao utilizar Atlas. Utilize o comando rotateCertificates somente se você deseja girar os certificados manualmente.
Saída
O método retorna um documento com o seguinte db.rotateCertificates() campo:
Campo | Tipo | Descrição |
|---|---|---|
| bool | Contém o status de execução da comando. |
Comportamento
A rotação inclui os seguintes certificados:
CRL (Certificate Revocation List) files(em plataformas Linux e Windows)
Para rotacionar um ou mais desses certificados:
Substitua o certificado ou certificados que você deseja girar no sistema de arquivos, observando as seguintes restrições:
Cada novo certificado deve ter o mesmo nome de arquivo e o mesmo caminho de arquivo que o certificado que está substituindo.
Se estiver girando um
TLS Certificatecriptografado, sua senha deverá ser igual à senha do certificado antigo (conforme especificado na configuração do arquivo de configuraçãocertificateKeyFilePassword). A rotação de certificados não oferece suporte ao prompt de senha interativo.
db.rotateCertificates()Execute para rotacionar os certificados utilizados pela instânciamongodmongosou.
Quando ocorre a rotação de certificados:
Todas as novas conexões usarão os novos certificados.
Se você configurou o para OCSP db.rotateCertificates() sua implantação, o método também buscará respostas OCSP grampeadas durante a rotação.
O método pode ser db.rotateCertificates() executado em um ou mongos em execução,mongod independentemente do status da replicação.
Somente uma instância dedb.rotateCertificates()ourotateCertificatespode ser executada em cada processomongodoumongospor vez. Tentar iniciar uma segunda instância enquanto uma já estiver em execução resultará em um erro.
Arquivos de certificados incorretos, expirados, revogados ou ausentes causarão falha na rotação de certificados, mas não invalidarão a configuração TLS existente nem encerrarão o processo mongod ou mongos em execução.
Se omongodoumongosestiver em execução com--tlsCertificateSelectordefinido como thumbprint, db.rotateCertificates()falhará e gravará uma mensagem de aviso no arquivo de log.
Exploração madeireira
Na rotação bem-sucedida, os nomes do assunto, as thumbprints e o período de validade dos thumbprints do certificado de servidor e cluster são registrados no destino de registro configurado. Se a auditoria estiver habilitada, essas informações também serão gravadas no registro de auditoria.
Em plataformas Linux e Windows, se um CRL file estiver presente, sua impressão digital e período de validade também serão registrados nesses locais.
Acesso necessário
Você deve ter a rotateCertificates ação para usar o db.rotateCertificates() método. A ação rotateCertificates hostManager faz parte da função.
Exemplo
A operação a seguir gira os certificados em uma instância mongod em execução, depois de fazer as atualizações apropriadas no arquivo de configuração para especificar as informações atualizadas do certificado:
db.rotateCertificates()
O seguinte executa o mesmo que acima, mas também grava uma mensagem de registro personalizada no tempo de rotação para o arquivo de log e arquivo de auditoria:
db.rotateCertificates("message": "Rotating certificates")