Automation Suite
2021.10
False
Imagen de fondo del banner
Guía de instalación de Automation Suite
Última actualización 19 de abr. de 2024

Renovación de certificado de MongoDB para usuarios de Apps

Información general

MongoDB utiliza dos tipos de certificados para una conexión segura dentro del clúster de Automation Suite :

  • Certificado raíz de CA
  • Certificado TLS

El certificado de CA de MongoDB para las versiones de Automation Suite anteriores a 2021.10.3 solo es válido durante 60 días. Dado que no existe un proceso de renovación automática, es necesario un procedimiento manual para actualizar el certificado. Sigue los pasos de la sección Actualización manual de certificado para renovar los certificados.

Nota: Los certificados actualizados manualmente solo son válidos durante 90 días. Una vez transcurridos, los certificados deberán volver a actualizarse manualmente.

Para las versiones de Automation Suite 2021.10.4 y posteriores, la caducidad se actualiza a tres años. Para las instalaciones nuevas de 2021.10.4 y posteriores, la renovación del certificado es automática.

Para los entornos actualizados desde la versión 2021.10.3 y anteriores, se necesitan algunos pasos manuales. Sigue los pasos de la sección Rotación de certificados para actualizar los certificados.

Actualización manual de certificado

Nota: Sigue este procedimiento para actualizar los certificados de MongoDB manualmente solo si utilizas Automation Suite hasta la versión 2021.10.3 inclusive.

Entorno en línea

Este procedimiento es aplicable a los entornos en línea.

Requisitos previos

Antes de iniciar el procedimiento, crea un archivo de secuencia de comandos que mongo-cert-rotation-script.shcontenga la siguiente información.

mongo-cert-rotation-script.sh

export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
curl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gz
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
  #extract updated pem file name
  newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
  echo "New pem file name ${newPemFileName}"
  #extract stale pem file name
  oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
  oldPemFileName=$(basename "$oldPemFile")
  echo "Stale pem file name ${oldPemFileName}"
  if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
    echo "Pem file entries do not match. replacing"
    #extract replica set secret  cluser config json to file
    kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
    #replace old pem file name with new in the json file
    sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
    #encode the json
    encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
    #patch replica set secret with updated cluster config
    kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
  else
    echo "Pem file entries match; not updating"
  fi
}
function rotate_secrets(){
    NAMESPACE="mongodb"
    
    #shellcheck disable=SC2154
    HOME_DIR=$(eval echo "~$whoami")
    echo "extracting certs and secrets from relevant files"
    #cleanup if the dir already exists
    rm -rf "$HOME_DIR"/tmp/.certs || true
    mkdir -p "$HOME_DIR"/tmp/.certs/
    kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
    kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
    
    kubectl -n mongodb label  configmap mongo-ca config-discovery=yes 2>/dev/null || true
    
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
  echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
  echo "Rotating secrets"
  rotate_secrets
  echo "Secrets rotated"
  echo "Updating additional secrets"
  update_additional_secrets
  echo "Additional secrets updated"
  echo "Rolling restart mongodb replica set"
  kubectl rollout restart sts mongodb-replica-set -n mongodb
  echo "Mongodb replica successfully Restarted"
  echo "Rolling restart apps server"
  kubectl rollout restart  -n uipath deployment apps-server
  echo "Apps server successfully restarted"
  echo "Rolling restart apps-wsserver"
  kubectl rollout restart  -n uipath deployment apps-wsserver
  echo "Apps wsserver successfully restarted"
else
  echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_managerexport KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
curl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gz
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
  #extract updated pem file name
  newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
  echo "New pem file name ${newPemFileName}"
  #extract stale pem file name
  oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
  oldPemFileName=$(basename "$oldPemFile")
  echo "Stale pem file name ${oldPemFileName}"
  if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
    echo "Pem file entries do not match. replacing"
    #extract replica set secret  cluser config json to file
    kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
    #replace old pem file name with new in the json file
    sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
    #encode the json
    encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
    #patch replica set secret with updated cluster config
    kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
  else
    echo "Pem file entries match; not updating"
  fi
}
function rotate_secrets(){
    NAMESPACE="mongodb"
    
    #shellcheck disable=SC2154
    HOME_DIR=$(eval echo "~$whoami")
    echo "extracting certs and secrets from relevant files"
    #cleanup if the dir already exists
    rm -rf "$HOME_DIR"/tmp/.certs || true
    mkdir -p "$HOME_DIR"/tmp/.certs/
    kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
    kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
    
    kubectl -n mongodb label  configmap mongo-ca config-discovery=yes 2>/dev/null || true
    
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
  echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
  echo "Rotating secrets"
  rotate_secrets
  echo "Secrets rotated"
  echo "Updating additional secrets"
  update_additional_secrets
  echo "Additional secrets updated"
  echo "Rolling restart mongodb replica set"
  kubectl rollout restart sts mongodb-replica-set -n mongodb
  echo "Mongodb replica successfully Restarted"
  echo "Rolling restart apps server"
  kubectl rollout restart  -n uipath deployment apps-server
  echo "Apps server successfully restarted"
  echo "Rolling restart apps-wsserver"
  kubectl rollout restart  -n uipath deployment apps-wsserver
  echo "Apps wsserver successfully restarted"
else
  echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_manager

Procedimiento

  1. Copia el script de Requisitos previos (mongo-cert-rotation-script.sh) al nodo de la máquina virtual (VM) ejecutando los siguientes comandos:
    scp <path-to-cert-script> <username>@<node-fqdn>:~scp <path-to-cert-script> <username>@<node-fqdn>:~
  2. Conéctese a la máquina mediante SSH.
    ssh <username>@<node-fqdn>ssh <username>@<node-fqdn>
  3. Comprueba las fechas actuales de caducidad y renovación ejecutando el siguiente comando. Busca los campos notBefore y notAfter.
    export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
    kubectl -n mongodb describe certsexport KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
    kubectl -n mongodb describe certs
  4. Copia el script del directorio principal al directorio del instalador ejecutando los siguientes comandos:
    mv /home/<username>/mongo-cert-rotation-script.sh <installer-dir>
    cd <installer-dir>mv /home/<username>/mongo-cert-rotation-script.sh <installer-dir>
    cd <installer-dir>
  5. Ejecuta el script utilizando los siguientes comandos:
    chmod u+x mongo-cert-rotation-script.sh
    ./mongo-cert-rotation-script.shchmod u+x mongo-cert-rotation-script.sh
    ./mongo-cert-rotation-script.sh
  6. Comprueba las nuevas fechas actuales de caducidad y renovación ejecutando el siguiente comando. Busca los campos notBefore y notAfter.
    kubectl -n mongodb describe certskubectl -n mongodb describe certs

Entorno sin conexión

Este procedimiento es aplicable para entornos fuera de línea (airpgapped).

Requisitos previos

Antes de iniciar el procedimiento, crea un archivo de secuencia de comandos que mongo-cert-rotation-script.shcontenga la siguiente información.

mongo-airgap-cert-rotation-script.sh

export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
  #extract updated pem file name
  newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
  echo "New pem file name ${newPemFileName}"
  #extract stale pem file name
  oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
  oldPemFileName=$(basename "$oldPemFile")
  echo "Stale pem file name ${oldPemFileName}"
  if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
    echo "Pem file entries do not match. replacing"
    #extract replica set secret  cluser config json to file
    kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
    #replace old pem file name with new in the json file
    sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
    #encode the json
    encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
    #patch replica set secret with updated cluster config
    kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
  else
    echo "Pem file entries match; not updating"
  fi
}
function rotate_secrets(){
    NAMESPACE="mongodb"
    
    #shellcheck disable=SC2154
    HOME_DIR=$(eval echo "~$whoami")
    echo "extracting certs and secrets from relevant files"
    #cleanup if the dir already exists
    rm -rf "$HOME_DIR"/tmp/.certs || true
    mkdir -p "$HOME_DIR"/tmp/.certs/
    kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
    kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
    
    kubectl -n mongodb label  configmap mongo-ca config-discovery=yes 2>/dev/null || true
    
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
  echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
  echo "Rotating secrets"
  rotate_secrets
  echo "Secrets rotated"
  echo "Updating additional secrets"
  update_additional_secrets
  echo "Additional secrets updated"
  echo "Rolling restart mongodb replica set"
  kubectl rollout restart sts mongodb-replica-set -n mongodb
  echo "Mongodb replica successfully Restarted"
  echo "Rolling restart apps server"
  kubectl rollout restart  -n uipath deployment apps-server
  echo "Apps server successfully restarted"
  echo "Rolling restart apps-wsserver"
  kubectl rollout restart  -n uipath deployment apps-wsserver
  echo "Apps wsserver successfully restarted"
else
  echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_managerexport KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
tar xzf kubectl-cert-manager.tar.gz
sudo mv kubectl-cert_manager /usr/local/bin
function update_additional_secrets() {
  #extract updated pem file name
  newPemFileName=$(kubectl -n mongodb get secret mongodb-replica-set-server-certificate-key -o json | jq -r '.data'| jq -r keys[0])
  echo "New pem file name ${newPemFileName}"
  #extract stale pem file name
  oldPemFile=$(kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d | jq -r '.processes[0].args2_6.net.tls.certificateKeyFile')
  oldPemFileName=$(basename "$oldPemFile")
  echo "Stale pem file name ${oldPemFileName}"
  if [[ "$oldPemFileName" != "$newPemFileName" ]]; then
    echo "Pem file entries do not match. replacing"
    #extract replica set secret  cluser config json to file
    kubectl -n mongodb get secret mongodb-replica-set-config -o json | jq -r '.data."cluster-config.json"' | base64 -d > /tmp/clusterConfig.json
    #replace old pem file name with new in the json file
    sed -i -e "s@$oldPemFileName@$newPemFileName@g" /tmp/clusterConfig.json
    #encode the json
    encodedUpdatedClusterConfig=$(jq -r '. | @base64 | "\)\)(.)"' /tmp/clusterConfig.json)
    #patch replica set secret with updated cluster config
    kubectl -n mongodb patch secret mongodb-replica-set-config --type='json' -p='[{"op" : "replace" ,"path" : "/data/cluster-config.json" ,"value" : "'"$encodedUpdatedClusterConfig"'"}]'
  else
    echo "Pem file entries match; not updating"
  fi
}
function rotate_secrets(){
    NAMESPACE="mongodb"
    
    #shellcheck disable=SC2154
    HOME_DIR=$(eval echo "~$whoami")
    echo "extracting certs and secrets from relevant files"
    #cleanup if the dir already exists
    rm -rf "$HOME_DIR"/tmp/.certs || true
    mkdir -p "$HOME_DIR"/tmp/.certs/
    kubectl -n "$NAMESPACE" get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > "$HOME_DIR"/tmp/.certs/ca.crt
    kubectl -n "$NAMESPACE" create configmap mongo-ca --from-file="$HOME_DIR/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl apply -f -
    
    kubectl -n mongodb label  configmap mongo-ca config-discovery=yes 2>/dev/null || true
    
}
PREVIOUS_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Previous Version"
echo $PREVIOUS_REVISION
kubectl cert-manager renew --namespace=mongodb --all
sleep 60
CURRENT_REVISION=$(kubectl -n mongodb get cert cert-manager-tls-certificate -o json | jq -r '.status.revision')
echo "Current Version"
echo $CURRENT_REVISION
#Validate if Cert gets renewed
if [[ "${PREVIOUS_REVISION}" != "${CURRENT_REVISION}" ]]; then
  echo "Cert Renewal Successful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
  echo "Rotating secrets"
  rotate_secrets
  echo "Secrets rotated"
  echo "Updating additional secrets"
  update_additional_secrets
  echo "Additional secrets updated"
  echo "Rolling restart mongodb replica set"
  kubectl rollout restart sts mongodb-replica-set -n mongodb
  echo "Mongodb replica successfully Restarted"
  echo "Rolling restart apps server"
  kubectl rollout restart  -n uipath deployment apps-server
  echo "Apps server successfully restarted"
  echo "Rolling restart apps-wsserver"
  kubectl rollout restart  -n uipath deployment apps-wsserver
  echo "Apps wsserver successfully restarted"
else
  echo "Cert Renewal UnSuccessful. Previous Revision: $PREVIOUS_REVISION Current Revision: $CURRENT_REVISION"
fi
rm -rf /usr/local/bin/kubectl-cert_manager

Procedimiento

  1. Descarga el archivo kubectl-cert-manager.tar en tu sistema ejecutando el siguiente comando:
    curl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gzcurl -sSL -o kubectl-cert-manager.tar.gz https://github.com/cert-manager/cert-manager/releases/download/v1.6.0/kubectl-cert_manager-linux-amd64.tar.gz
  2. Copia el binario de administrador de certificados al nodo de la máquina VM ejecutando el siguiente comando:

    scp <path-to-kubectl-cert-manager> <username>@<node-fqdn>:~scp <path-to-kubectl-cert-manager> <username>@<node-fqdn>:~
  3. Copia el script de Requisitos previos (mongo-airgap-cert-rotation-script.sh) al nodo de la máquina virtual (VM) ejecutando los siguientes comandos:
    scp <path-to-mongo-airgap-cert-rotation> <username>@<node-fqdn>:~scp <path-to-mongo-airgap-cert-rotation> <username>@<node-fqdn>:~
  4. Conéctese a la máquina mediante SSH.

    ssh <username>@<node-fqdn>ssh <username>@<node-fqdn>
  5. Copia el archivo kubectl-cert-manager.tar al directorio del instalador ejecutando el siguiente comando:
    mv /home/<username>/kubectl-cert_manager.tar.gz <installer-dir>mv /home/<username>/kubectl-cert_manager.tar.gz <installer-dir>
  6. Copia el script mongo-airgap-cert-rotation-script.sh al directorio del instalador ejecutando el siguiente comando:
Nota: Asegúrate de que mongo-airgap-cert-rotation-script.sh y los archivos kubectl-cert-manager.tar están en la misma ruta.
mv /home/<username>/mongo-airgap-cert-rotation-script.sh <installer-dir>
cd <installer-dir>mv /home/<username>/mongo-airgap-cert-rotation-script.sh <installer-dir>
cd <installer-dir>
7. Marca las fechas de vencimiento y renovación actuales ejecutando el siguiente comando. Busca los campos notBefore y notAfter.
export KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
kubectl -n mongodb describe certsexport KUBECONFIG=/etc/rancher/rke2/rke2.yaml PATH=$PATH:/var/lib/rancher/rke2/bin:/usr/local/bin
kubectl -n mongodb describe certs

8. Ejecuta el script utilizando los siguientes comandos:

chmod u+x mongo-airgap-cert-rotation-script.sh
./mongo-airgap-cert-rotation-script.shchmod u+x mongo-airgap-cert-rotation-script.sh
./mongo-airgap-cert-rotation-script.sh
9. Comprueba las nuevas fechas actuales de vencimiento y renovación ejecutando el siguiente comando. Busca los campos notBefore y notAfter.
kubectl -n mongodb describe certskubectl -n mongodb describe certs

Fechas de validez del certificado

Al comprobar la validez del certificado, se muestran las siguientes fechas:

Not After : esta es la fecha y hora de caducidad del período de validez de tu certificado.
Not Before : esta es la fecha y hora de inicio del periodo de validez de tu certificado.
Renewal Time : esta es la fecha y hora recomendadas para renovar manualmente tu certificado.

Por ejemplo:

Certificate 1 in the file

Name:        cert-manager-tls-certificate

Namespace:   mongodb

Not After:              2023-03-08T23:19:49Z

Not Before:             2022-03-08T23:19:49Z

Renewal Time:           2023-02-06T23:19:49ZCertificate 1 in the file

Name:        cert-manager-tls-certificate

Namespace:   mongodb

Not After:              2023-03-08T23:19:49Z

Not Before:             2022-03-08T23:19:49Z

Renewal Time:           2023-02-06T23:19:49Z

Rotación de certificados

Nota: Siga este procedimiento para actualizar los certificados de MongoDB manualmente solo si actualizó desde Automation Suite hasta la versión 2021.10.3 incluida a una versión posterior (al menos 2021.10.4).
  1. SSH al nodo VM.

    ssh <username>@<node-fqdn>ssh <username>@<node-fqdn>
  2. Asume el rol de superusuario ejecutando el siguiente comando.

    sudo susudo su
  3. Vaya al directorio de instalación (para instalaciones nuevas) o actualice (para entornos actualizados) ejecutando el siguiente comando.

    cd <Installation/Upgrade Directory>cd <Installation/Upgrade Directory>
  4. Copie el siguiente script rotate-cert.sh en el directorio de instalación.
    ./configureUiPathAS.sh mongodb rotate-certificate
    kubectl -n mongodb get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > /tmp/.certs/ca.crt
    kubectl -n mongodb create configmap mongo-ca --from-file="/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl replace -f -
    kubectl rollout restart sts mongodb-replica-set -n mongodb./configureUiPathAS.sh mongodb rotate-certificate
    kubectl -n mongodb get secret/tls-ca-key-pair -o jsonpath='{.data.ca\)\).crt}' | base64 -d > /tmp/.certs/ca.crt
    kubectl -n mongodb create configmap mongo-ca --from-file="/tmp/.certs/ca.crt" --dry-run=client -o yaml | kubectl replace -f -
    kubectl rollout restart sts mongodb-replica-set -n mongodb
  5. Ejecuta el script de rotación de certificados usando el siguiente comando.

    chmod u+x rotate-cert.sh
    ./rotate-cert.shchmod u+x rotate-cert.sh
    ./rotate-cert.sh

El script de rotación de certificados tarda entre 5 y 10 minutos en completarse. Los nuevos certificados generados por el script son válidos durante tres años desde el momento de su creación y se renuevan automáticamente según la línea de tiempo mencionada anteriormente.

Was this page helpful?

Obtén la ayuda que necesitas
RPA para el aprendizaje - Cursos de automatización
Foro de la comunidad UiPath
Logotipo blanco de UiPath
Confianza y seguridad
© 2005-2024 UiPath. All rights reserved.