You can programmatically rotate the automation user's password by updating a project's configuración de automatización.
Esta página describe el siguiente proceso para rotar la contraseña del usuario de automatización mediante la API de Ops Manager:
Set auth.newAutoPwd and leave auth.autoPwd with its current password.
Espere el estado objetivo.
auth.newAutoPwd copia automáticamente la contraseña auth.autoPwd.
Puede configurar esta opción solo cuando incluye SCRAM-SHA-1 o SCRAM-SHA-256 como uno de los mecanismos de autenticación para la automatización en auth.autoAuthMechanisms.
Requisitos previos
Debes tener acceso a la API. Para obtener más información, consulte Configurar el acceso a la API.
Your API key must have the
Project Automation AdminorProject Ownerrole.La autenticación debe estar habilitada.
Variables para recursos de la API de configuración de automatización
Los recursos de la API utilizan una o más de estas variables. Reemplaza estas variables con tus valores deseados antes de llamar a estos recursos API.
Nombre | Tipo | Descripción |
|---|---|---|
| string | Su clave API pública para sus credenciales de API. |
| string | Su clave API privada para sus credenciales de API. |
| string | URL of your Ops Manager instance. |
| string | Identificador único de su proyecto desde la configuración de su proyecto. |
| string | Identificador único de su clúster. |
Procedimiento
Recupere y valide la configuración de automatización de Ops Manager.
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 Validar el archivo de configuración de automatización descargado.
Compare el
versioncampo de concurrentAutomationConfig.jsonel del archivo de copia de seguridad de configuración de automatización.mms-cluster-config-backup.jsonversionEl valor es el último elemento en ambos documentos JSON. Puede encontrar este archivo en cualquier host que ejecute el Agente de MongoDB en:Linux y macOS:
/var/lib/mongodb-mms-automation/mms-cluster-config-backup.jsonWindows:
%SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json
Si los valores
versioncoinciden, está trabajando con la versión actual del archivo de configuración de automatización.
Crea un nuevo archivo de configuración de automatización a partir del actual.
Reemplace las variables en el siguiente comando y ejecútelo:
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
Nombre | Descripción |
|---|---|
| Especifique la nueva contraseña de automatización. |
| Specify the current Automation version. To check your current Automation version, see Get the Automation Configuration. |
| Especifica la versión actual de Automatización incrementada en 1. Por ejemplo, si tienes una versión de Automatización actual de |
Envíe la configuración de automatización actualizada.
Utilice el recurso automationConfig para enviar la configuración de automatización actualizada.
Ejecute el siguiente comando, apuntando al archivo modifiedAutomationConfig.json creado en el paso anterior, que contiene el documento de configuración actualizado. Reemplace los marcadores de posición con las variables para los recursos de la API de configuración de automatización.
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'
Upon successful update of the configuration, the API returns the HTTP 200 OK status code to indicate the request has succeeded.
Confirmar la actualización exitosa de la configuración de automatización.
Recupere la configuración de automatización de Ops Manager y confirme que contenga los cambios. Para recuperarla, ejecute el siguiente comando, reemplazando los marcadores de posición con las variables de los recursos de la API de configuración de automatización.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
Nota
The Automation version automatically increments two times. For example, if you pushed the new Automation version as 5, the new Automation version after all changes is 7. The Automation updates the Automation user password on all managed MongoDB Server deployments.
Verifique el estado de la implementación para garantizar que se alcance el estado objetivo.
Utilice el recurso automationStatus para recuperar el estado de la implementación. Ejecute el siguiente comando, reemplazando los marcadores de posición con las variables de los recursos de la API de configuración de automatización.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"
Confirme que los valores de todos los lastGoalVersionAchieved campos de la processes matriz coincidan con los del goalVersion campo. Para obtener información sobre el estado de la implementación, consulte Obtener el estado de automatización del último plan.