db.rotateCertificates()
Definição
Novidades na versão 5.0.
db.rotateCertificates(message)
Gira oscertificados TLS usados atualmente para
mongod
oumongos
para usar os valores atualizados para esses certificados definidos no arquivo de configuração.db.rotateCertificates(message) O método
db.rotateCertificates()
usa o seguinte argumento opcional:ParâmetroTipoDescriçãomessage
stringopcional Uma mensagem registrada pelo servidor no arquivo de log e no arquivo de auditoria.O método
db.rotateCertificates()
encapsula o comandorotateCertificates
.
Compatibilidade
Esse método está disponível em implantações hospedadas nos seguintes ambientes:
Importante
Este comando não é suportado em clusters MongoDB Atlas . Para obter informações sobre o suporte do Atlas para 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
Saída
O método db.rotateCertificates()
retorna um documento com o seguinte campo:
Campo | Tipo | Descrição |
---|---|---|
ok | bool | Contém o status de execução da comando. true em caso de sucesso ou false se ocorrer um erro. No caso false , um campo errmsg também é fornecido com uma mensagem de erro detalhada. |
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 Certificate
criptografado, 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.
Conecte
mongosh
à instânciamongod
oumongos
na qual você deseja executar a rotação de certificado.Execute
db.rotateCertificates()
para girar os certificados utilizados pela instânciamongod
oumongos
.
Quando ocorre a rotação de certificados:
As conexões existentes à instância
mongod
oumongos
não são encerradas e continuarão usando os certificados antigos.Todas as novas conexões usarão os novos certificados.
Se você configurou o OCSP
para sua implantação, o método db.rotateCertificates()
também buscará respostas OCSP grampeadas durante a rotação.
O método db.rotateCertificates()
pode ser executado em um mongod
ou mongos
em execução, independentemente do status da replicação.
Somente uma instância de db.rotateCertificates()
ou rotateCertificates
pode ser executada em cada processo mongod
ou mongos
por 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 o mongod
ou mongos
estiver sendo executado com --tlsCertificateSelector
definido 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 método db.rotateCertificates()
. A ação rotateCertificates
faz parte da função hostManager
.
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")