Puede rotar programáticamente un archivo clave actualizando el proyecto configuración de automatización.
Para rotar un archivo clave usando la API de Cloud Manager:
Recuperar la configuración actual.
Agregue el nuevo archivo de clave que desea utilizar con la configuración auth.newKey.
Reemplace toda la configuración usando
PUTDebesPUTusar. NoPATCHuses.
Cuando todos los agentes de MongoDB usan la nueva clave, Cloud Manager reemplaza el valor de auth.key con la nueva clave que proporcionó en auth.newKey y elimina auth.newKey de la configuración de automatización.
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 el rol
Project Automation AdminoProject Owner.La autenticación debe estar habilitada.
Al menos un clúster en el proyecto debe estar configurado con la opción clusterAuthMode establecida
keyFileensendKeyFileo.Todos los clústeres del proyecto deben ejecutar MongoDB versión 4.2 o superior.
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 Cloud 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 Cloud Manager.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --request GET "https://cloud.mongodb.com/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.
Agrega tu nuevo archivo de clave al archivo de configuración de automatización que descargaste.
Abra
currentAutomationConfig.jsonen su editor de texto preferido.Añade el campo auth.newKey. Establece el valor de este campo con el nuevo archivo de clave que quieres que Cloud Manager use.
Nota
La siguiente configuración de muestra está truncada para facilitar su lectura.
{ "auth": { "disabled": "false", "key": "<your-old-key>", "newKey": "<your-new-key>" } }
Si está actualizando el Agente MongoDB, consulte Actualizar versiones del agente antes de continuar con este procedimiento.
Envíe la configuración de automatización actualizada.
Utilice el recurso automationConfig para enviar la configuración de automatización actualizada.
Emita el siguiente comando con la ruta al documento de configuración actualizado y reemplace los marcadores de posición con las variables para los recursos de API de configuración de automatización.
curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \ --header "Content-Type: application/json" --request PUT "https://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \ --data @currentAutomationConfig.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 Cloud 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://cloud.mongodb.com/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
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://cloud.mongodb.com/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.