Puede rotar programáticamente un archivo clave actualizando un proyecto configuración de la automatización.
Para rotar un archivo clave usando la API de Cloud Manager:
Recuperar la configuración actual.
Añade el nuevo archivo de clave que deseas utilizar con el ajuste auth.newKey.
Reemplace toda la configuración utilizando
PUT. Debes usarPUT. No usesPATCH.
Cuando todos los agentes de MongoDB utilicen la nueva clave, Cloud Manager reemplazará el valor de auth.key con la nueva clave proporcionada en auth.newKey y removerá auth.newKey de la configuración de automatización.
Requisitos previos
Debe tener acceso al API. Para obtener más información, consulta Configura 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 configurada en
keyFileosendKeyFile.Todos los clústeres del proyecto deben ejecutar MongoDB versión 4.2 o superior.
Variables para los 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 | Tu llave privada de API para tus credenciales de API. |
| string | URL de la instancia de Cloud Manager. |
| string | Identificador único de tu proyecto desde la configuración del proyecto. |
| string | Identificador único de tu clúster. |
Procedimiento
Recupera y valida la configuración de automatización desde 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.
Compara el campo
versiondelcurrentAutomationConfig.jsoncon el del archivo de copia de seguridad de Configuración de Automatización,mms-cluster-config-backup.json. El valorversiones el último elemento en ambos documentos JSON . Puedes encontrar este archivo en cualquier host que ejecute el MongoDB Agent 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ás 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.
Abre
currentAutomationConfig.jsonen tu editor de texto preferido.Añade el campo auth.newKey. Establece el valor de este campo en el nuevo archivo de clave que deseas que Cloud Manager utilice.
Nota
La siguiente configuración de muestra está truncada para facilitar la lectura.
{ "auth": { "disabled": "false", "key": "<your-old-key>", "newKey": "<your-new-key>" } }
Si está actualizando el MongoDB Agent, consulte Actualizar versiones del agente antes de continuar con este procedimiento.
Envíe la configuración de automatización actualizada.
Utiliza el recurso automationConfig para enviar la configuración de automatización actualizada.
Ejecute el siguiente comando con la ruta al documento de configuración actualizado y sustituya los marcadores de posición con las Variables de Recursos de la API de Automation Config.
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 la actualización exitosa de la configuración, la API devuelve el código de estado HTTP 200 OK para indicar que la solicitud se ha realizado correctamente.
Confirmar la actualización exitosa de la configuración de automatización.
Recupera la configuración de automatización de Cloud Manager y confirma que contenga los cambios. Para recuperar la configuración, emite el siguiente comando, reemplazando 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 \ --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.
Usa el recurso automationStatus para recuperar el estado de implementación. Ejecute el siguiente comando, sustituyendo los marcadores de posición con las Variables para los Recursos de la API 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"
Confirma que los valores de todos los campos lastGoalVersionAchieved en el arreglo processes coincidan con el campo goalVersion. Para conocer el estado de la implementación, consulta Obtener el estado de automatización del último plan.