Conectar MongoDB mediante túnel SSH

Para conectar la base de datos MongoDB a Commerce Intelligence a través de un túnel SSH, debe hacer lo siguiente:

NOTE
Debido a la naturaleza técnica de esta configuración, Adobe recomienda que inicie sesión en un desarrollador para que le ayude si no lo ha hecho antes.

Recuperando la clave pública Commerce Intelligence retrieve

public key se usa para autorizar al usuario Commerce Intelligence Linux. La siguiente sección le explica cómo crear el usuario e importar las claves.

  1. Vaya a Data > Connections y haga clic en Add New Data Source.
  2. Haga clic en el icono MONGODB.
  3. Una vez abierta la página de credenciales de MongoDB, cambie el conmutador Encrypted a Yes. Esto muestra el formulario de configuración SSH.
  4. public key se encuentra debajo de este formulario.

Deje esta página abierta durante todo el tutorial, la necesitará en la siguiente sección y al final.

Si se ha perdido un poco, le explicamos cómo navegar por Commerce Intelligence para recuperar la clave:

Recuperando la clave pública RJMetrics

Permitir acceso a la dirección IP Commerce Intelligence allowlist

Para que la conexión se realice correctamente, debe configurar el cortafuegos para permitir el acceso desde las direcciones IP. Son 54.88.76.97 y 34.250.211.151, pero también se encuentra en la página de credenciales de MongoDB:

MBI_Allow_Access_IPs.png

Creando un usuario Linux para Commerce Intelligence linux

IMPORTANT
Si el archivo de sshd_config asociado con el servidor no está establecido en la opción predeterminada, sólo determinados usuarios tienen acceso al servidor, lo que impide que la conexión a Commerce Intelligence se realice correctamente. En estos casos, es necesario ejecutar un comando como AllowUsers para permitir que el usuario rjmetric tenga acceso al servidor.

Puede ser una máquina de producción o secundaria, siempre que contenga datos en tiempo real (o actualizados con frecuencia). Puede restringir este usuario como desee, siempre y cuando conserve el derecho de conectarse al servidor MongoDB.

Para agregar al nuevo usuario, ejecute los siguientes comandos como raíz en el servidor Linux:

    adduser rjmetric -p
    mkdir /home/rjmetric
    mkdir /home/rjmetric/.ssh

¿Recuerda el(la) public key que recuperó(ó) en la primera sección? Para asegurarse de que el usuario tiene acceso a la base de datos, debe importar la clave en authorized_keys. Copie la clave completa en el archivo authorized_keys de la siguiente manera:

    touch /home/rjmetric/.ssh/authorized_keys
    "< PASTE KEY HERE >" >> /home/rjmetric/.ssh/authorized_keys

Para terminar de crear el usuario, modifique los permisos en el directorio /home/rjmetric para permitir el acceso a través de SSH:

    chown -R rjmetric:rjmetric /home/rjmetric
    chmod -R 700 /home/rjmetric/.ssh

Creando un usuario Commerce Intelligence MongoDB mongodb

MongoDB servidores tienen dos modos de ejecución: uno con la opción "auth" (mongod -- auth) y otro sin que es el predeterminado. Los pasos para crear un usuario de MongoDB varían según el modo que esté usando el servidor. Asegúrese de verificar el modo antes de continuar.

Si su servidor usa la opción Auth: auth

Al conectarse a varias bases de datos, puede agregar al usuario iniciando sesión en MongoDB como usuario administrador y ejecutando los siguientes comandos.

NOTE
Para ver todas las bases de datos disponibles, el usuario Commerce Intelligence necesita los permisos para ejecutar listDatabases.

Este comando concede al usuario Commerce Intelligence acceso to all databases:

    use admin
    db.createUser('rjmetric', '< secure password here >', true)

Use este comando para conceder al usuario Commerce Intelligence acceso a to a single database:

    use < database name >
    db.createUser('rjmetric', '< secure password here >', true)

Imprime una respuesta con este aspecto:

    {
    "id": ObjectId("< some object id here >"),
    "user": "rjmetric",
    "readOnly": true,
    "pwd": "< some hash here >"
    }

Si el servidor utiliza la opción predeterminada default

Si el servidor no usa el modo auth, se podrá obtener acceso al servidor MongoDB incluso sin un nombre de usuario y una contraseña. Sin embargo, debe asegurarse de que el archivo mongodb.conf (/etc/mongodb.conf) tenga las líneas siguientes; de lo contrario, reinicie el servidor después de agregarlas.

    bind_ip = 127.0.0.1
    noauth = true

Para enlazar su servidor MongoDB a una dirección diferente, ajuste el nombre de host de la base de datos en el paso siguiente en consecuencia.

Introduciendo la conexión y la información de usuario en Commerce Intelligence finish

Para finalizar, debe especificar la conexión y la información de usuario en Commerce Intelligence. ¿Dejó abierta la página de credenciales de MongoDB? Si no es así, vaya a Data > Connections y haga clic en Add New Data Source, luego en el icono MongoDB. No olvide cambiar la opción Encrypted a Yes.

Escriba la siguiente información en esta página, empezando por la sección Database Connection:

  • Host: 127.0.0.1
  • Username: el nombre de usuario Commerce Intelligence MongoDB (debe ser rjmetric)
  • Password: la contraseña de Commerce Intelligence MongoDB
  • Port: puerto de MongoDB en el servidor (27017 de forma predeterminada)
  • Database Name (opcional): si solo permitió el acceso a una base de datos, especifique el nombre de la base de datos aquí.

En la sección SSH Connection:

  • Remote Address: la dirección IP o el nombre de host del servidor en el que se SSH
  • Username: el nombre de usuario de Linux (SSH) Commerce Intelligence (debe ser rjmetric)
  • SSH Port: el puerto SSH del servidor (22 de forma predeterminada)

Cuando termine, haga clic en Save Test para completar la instalación.

Relacionado

recommendation-more-help
e1f8a7e8-8cc7-4c99-9697-b1daa1d66dbc