rotateCertificates
Nesta página
Definição
Novidades na versão 5.0.
rotateCertificates
Gira oscertificados TLS usados atualmente para
mongod
oumongos
para usar os valores atualizados para esses certificados definidos no arquivo de configuração.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Observação
Este comando é aceito em todos os 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
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { rotateCertificates: 1, message: "<optional log message>" } )
Campos de comando
O comando usa o seguinte campo opcional:
Parâmetro | Tipo | Descrição |
---|---|---|
| string | opcional Uma mensagem registrada pelo servidor no arquivo de log e no arquivo de auditoria. |
Saída
O comando rotateCertificates
retorna um documento com o seguinte 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 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 o comando
rotateCertificates
para girar os certificados utilizados pela instância domongod
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 comando rotateCertificates
também buscará respostas OCSP grampeadas durante a rotação.
O comando 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
, 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 comando 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.adminCommand( { rotateCertificates: 1 } )
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.adminCommand( { rotateCertificates: 1, message: "Rotating certificates" } )