Docs Menu
Docs Home
/ /

Rotar un archivo de clave con la API

You can programmatically rotate a key file by updating a project's automation configuration.

Para rotar un archivo clave usando la API de Ops Manager:

  1. Recuperar la configuración actual.

  2. Agregue el nuevo archivo de clave que desea utilizar con la configuración auth.newKey.

  3. Replace the entire configuration using PUT. You must use PUT. Do not use PATCH.

Cuando todos los agentes de MongoDB usan la nueva clave, Ops 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.

  • You must have access to the API. To learn more, see Configure API Access.

  • Su clave API debe tener el rol Project Automation Admin o Project Owner.

  • La autenticación debe estar habilitada.

  • Al menos un clúster en el proyecto debe estar configurado con la opción clusterAuthMode establecida keyFile en sendKeyFile o.

  • Todos los clústeres del proyecto deben ejecutar MongoDB versión 4.2 o superior.

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

PUBLIC-KEY

string

Your public API Key for your API credentials.

PRIVATE-KEY

string

Your private API Key for your API credentials.

<OpsManagerHost>:<Port>

string

URL de su instancia de Ops Manager.

GROUP-ID

string

Identificador único de su proyecto desde la configuración de su proyecto.

CLUSTER-ID

string

Identificador único de su clúster.

1
  1. Utilice el recurso automationConfig para recuperar la configuración. Ejecute el siguiente comando, reemplazando los marcadores de posición con las variables de los recursos de la API de Automation Config.

    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
  2. Validar el archivo de configuración de automatización descargado.

    Compare the version field of the currentAutomationConfig.json with that of the Automation Configuration backup file, mms-cluster-config-backup.json. The version value is the last element in both JSON documents. You can find this file on any host running the MongoDB Agent at:

    • Linux and macOS: /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json

    • Windows: %SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json

    Si los valores version coinciden, está trabajando con la versión actual del archivo de configuración de automatización.

2
  1. Abra currentAutomationConfig.json en su editor de texto preferido.

  2. Agregue el campo auth.newKey. Establezca el valor de este campo con el nuevo archivo de clave que desea que Ops 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.

3

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://<OpsManagerHost>:<Port>/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.

4

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"
5

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.

Volver

Automatización de actualizaciones

En esta página