Pregunta:
Quiero entregar mi aplicación a los clientes en forma de imagen de Docker. Pero es crucial asegurarse de que el usuario final no altere nada dentro del contenedor. El usuario solo debe poder ejecutar / detener el contenedor e interactuar con el contenedor a través de la red.
¿Es posible prohibir el acceso a las partes internas del contenedor? ¿Es posible verificar la integridad de la imagen de la que se hizo el contenedor?
Respuesta:
En resumen, no puede evitar que sus clientes modifiquen los contenedores que ejecutan en su propia infraestructura. Los contenedores no son como binarios que se pueden ofuscar; son entornos de ejecución. Sin embargo, el código que distribuye dentro del contenedor se puede ofuscar.
Su pregunta alude a un problema de soporte de terceros: los clientes modifican el software que ejecutan en sus propios entornos. Si proporciona herramientas para operar los contenedores que proporciona (por ejemplo, monitoreo y registro), los clientes deben aceptar (como parte de una licencia de software) no realizar modificaciones no autorizadas en ellos. Esto se aplica a todos los tipos de software de terceros, no solo a los contenedores.
Dependiendo de su situación, también puede tener la opción de proporcionar su aplicación como software como servicio (SaaS) que se ejecuta en una infraestructura en la nube.
Si su cliente requiere que sus contenedores se ejecuten en su infraestructura y se niega a cumplir con las restricciones de modificación, entonces probablemente no quiera intentar respaldar el uso de su software.