Ejecución de imágenes de Docker como usuario no raíz (antes de la versión 9.1.14.0)

Antes de HCL Commerce 9.1.14.0, las imágenes de Docker se han ejecutado con privilegios raíz de forma predeterminada. Puede cambiar este valor predeterminado para asegurarse de que se deniega el acceso total a la imagen y a su contenido.

Before you begin

  • Piense en actualizar a HCL Commerce 9.1.14.0 o posterior para desplegar contenedores de HCL Commerce con un usuario no raíz de forma predeterminada. Asegúrate de consultar HCL Commerce : usuarios y privilegios de contenedores para conocer cualquier restricción o limitación que deba abordar antes de realizar este cambio en el despliegue de su sitio.
  • Asegúrese de que ninguna de las personalizaciones asuma el acceso raíz. Por ejemplo, los usuarios no raíz no tienen permiso para crear directorios bajo el directorio del sistema root. De forma predeterminada, el archivo docker-compose.yml de ejemplo utiliza /search como directorio raíz del índice. En este caso, utilice un directorio como /opt/search/.

About this task

Hay dos formas de cambiar el nivel de privilegios de los procesos de Docker. El daemon de Docker se ejecuta siempre como raíz, pero puede ejecutar el cliente de Docker como usuario en el grupo de usuarios de docker. Para las imágenes de HCL Commerce, el método preferido es establecer el nivel de usuario en los Dockerfiles existentes. Puede hacerlo con la opción -u o -user del submandato de ejecución del Docker o utilizando el mandato USER.

Procedure

  1. Cree un Dockerfile personalizado para la imagen que quiere ejecutar en modo sin privilegios.
  2. Proporcione acceso a los directorios y archivos del sistema necesarios para el usuario que va a ejecutar la imagen. Por ejemplo,
    RUN useradd -u 1000 -r -g root -m -d /wcsuser -s /sbin/nologin -c "App user" wcsuser && \ chmod 755 /wcsuser && \ chown -R wcsuser:root /SETUP && \ chown -R wcsuser:root /opt && \ chown -R wcsuser:root /etc && \ chown -R wcsuser:root /profile && \ chmod -R 755 /SETUP && \ chown -R wcsuser:root /var/lib 
  3. Ejecute el mandato USER para indicar al proceso de Docker el usuario que va a ejecutar la imagen. Por ejemplo,
    USER wcsuser 
  4. Cree el nuevo contenedor del Docker. Para obtener más información, consulte https://docs.docker.com/engine/reference/builder/.

Results

HCL Commerce Las imágenes de Docker ahora se ejecutan sin privilegios raíz. Esto se ajusta mejor a las mejores prácticas de seguridad del sector para minimizar cualquier posible acceso a recursos del sistema de nivel superior.