Girar senha de automação com a API
Você pode girar programaticamente a senha do usuário de automação atualizandoa configuração de automação de um projeto.
Esta página descreve o seguinte processo para girar a senha do usuário de automação usando a API do Ops Manager:
Defina auth.newAutoPwd e deixe auth.autoPwd com sua senha atual.
Aguarde o estado do objetivo.
auth.newAutoPwd copia a senha auth.autoPwd automaticamente.
Você pode definir essa opção somente ao incluir SCRAM-SHA-1 ou SCRAM-SHA-256 como um dos mecanismos de autenticação para a automação em auth.autoAuthMechanisms.
Pré-requisitos
Você deve ter acesso àAPI . Para saber mais, consulte Configurar o acesso à API.
Sua chave de API deve ter a função
Project Automation Admin
ouProject Owner
.A autenticação deve estar habilitada.
Variáveis para recursos de API de configuração de automação
Os recursos da API usam uma ou mais dessas variáveis. Substitua essas variáveis pelos valores desejados antes de chamar esses recursos da API.
Nome | Tipo | Descrição |
---|---|---|
PUBLIC-KEY | string | Sua chave de API pública para suas credenciais de API. |
PRIVATE-KEY | string | Sua chave de API privada para suas credenciais de API . |
<OpsManagerHost>:<Port> | string | URL da sua instância do Ops Manager. |
GROUP-ID | string | Identificador único do seu projeto a partir das configurações do projeto. |
CLUSTER-ID | string | Identificador único do seu cluster. |
Procedimento
Recupere e valide a configuração de automação do Ops Manager.
Use o recurso automationConfig para recuperar a configuração. Emita o comando a seguir, substituindo os espaços reservados pelas variáveis para recursos da API de configuração de automação.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --output currentAutomationConfig.json Valide o arquivo de configuração de automação baixado.
Compare o campo
version
docurrentAutomationConfig.json
com o do arquivo de backup da Configuração de Automação,mms-cluster-config-backup.json
. O valorversion
é o último elemento em ambos os documentos JSON . Você pode encontrar este arquivo em qualquer host que execute o MongoDB agente em:Linux e macOS:
/var/lib/mongodb-mms-automation/mms-cluster-config-backup.json
Windows:
%SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json
Se os valores
version
corresponderem, você estará trabalhando com a versão atual do arquivo de configuração de automação.
Crie um novo arquivo de configuração de automação a partir do atual.
Substitua as variáveis no seguinte comando e execute-o:
sed -e "/autoPwd/a\\ \"newAutoPwd\" : \"<NEW_OPS_MANAGER_AUTOMATION_PASSWORD>\"," -e 's/ "version" : <CURRENT_AUTOMATION_CONFIGURATION_VERSION>/ "version" : <NEW_AUTOMATION_CONFIGURATION_VERSION>/' currentAutomationConfig.json > modifiedAutomationConfig.json
Nome | Descrição |
---|---|
<NEW_OPS_MANAGER_AUTOMATION_PASSWORD> | Especifique a nova senha de automação. |
<CURRENT_AUTOMATION_CONFIGURATION_VERSION> | Especifique a versão de automação atual. Para verificar sua versão de automação atual, consulte Obter a configuração de automação. |
<NEW_AUTOMATION_CONFIGURATION_VERSION> | Especifique a versão de automação atual incrementada em 1. Por exemplo, se você tiver uma versão de automação atual do 4 , a nova versão da automação deverá ser 5 . |
Envie a configuração de automação atualizada.
Use o recurso automationConfig para enviar a configuração de automação atualizada.
Emita o seguinte comando, apontando para o arquivo modifiedAutomationConfig.json
criado na etapa anterior, que contém o documento de configuração atualizado. Substitua os espaços reservados pelas variáveis para recursos da API de configuração de automação.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" --request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --data '@modifiedAutomationConfig.json'
Após a atualização bem-sucedida da configuração, a API retorna o código de status HTTP 200 OK
para indicar que a solicitação foi bem-sucedida.
Confirme a atualização bem-sucedida da configuração de automação.
Recupere a configuração de automação do Ops Manager e confirme se ela contém as alterações. Para recuperar a configuração, emita o seguinte comando, substituindo os espaços reservados pelas variáveis para recursos de API de configuração de automação.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
Observação
A versão Automação é incrementada automaticamente duas vezes. Por exemplo, se você enviou a nova versão de automação como 5, a nova versão de automação após todas as alterações será 7. A automação atualiza a senha do usuário da automação em todos os sistemas do MongoDB Server.
Verifique o status do sistema para garantir que o estado do objetivo seja atingido.
Use o recurso automationStatus para recuperar o status do sistema. Emita o comando a seguir, substituindo os espaços reservados pelas variáveis para recursos da API de configuração de automação.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"
Confirme que os valores de todos os campos lastGoalVersionAchieved
na array processes
correspondem ao campo goalVersion
. Para saber mais sobre o status da implementação, consulte Obter o status de automação do plano mais recente.