Puede rotar programáticamente la contraseña del usuario de automatización actualizando la de un proyecto. 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:
Establezca auth.newAutoPwd y deje auth.autoPwd con su contraseña actual.
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.
Su clave API debe tener la
Project Automation AdminProject OwnerRol o.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 de su instancia de Ops Manager. |
| 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. |
| Especifique la versión actual de Automation. Para comprobarla, consulte Obtener la configuración de Automation. |
| 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'
Tras una actualización exitosa de la configuración, la API devuelve el código de estado HTTP 200 OK para indicar que la solicitud se realizó correctamente.
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
La versión de Automation se duplica automáticamente. Por ejemplo, si envió la nueva versión de Automation como 5, la nueva versión de Automation después de todos los cambios será 7. Automation actualiza la contraseña del usuario de Automation en todas las implementaciones administradas de MongoDB Server.
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.