Je souhaite livrer mon application aux clients sous forme d'image docker. Mais il est essentiel de s'assurer que l'utilisateur final ne modifie rien à l'intérieur du conteneur. L'utilisateur ne doit pouvoir exécuter / arrêter le conteneur et interagir avec le conteneur que via le réseau.
Est-il possible d'interdire l'accès aux internes du conteneur? Est-il possible de vérifier l'intégrité de l'image à partir de laquelle le conteneur est fabriqué?
Réponses:
En bref, vous ne pouvez pas empêcher vos clients de modifier les conteneurs qu'ils exécutent dans leur propre infrastructure. Les conteneurs ne sont pas comme des binaires qui peuvent être obscurcis; ce sont des environnements d'exécution. Cependant, le code que vous distribuez à l'intérieur du conteneur peut être obscurci.
Votre question fait allusion à un problème de support tiers: les clients modifiant les logiciels qu'ils exécutent dans leurs propres environnements. Si vous fournissez des outils pour faire fonctionner les conteneurs que vous fournissez (par exemple, surveillance et journalisation), les clients doivent accepter (dans le cadre d'une licence logicielle) de ne pas y apporter de modifications non autorisées. Cela s'applique à tous les types de logiciels tiers, pas seulement aux conteneurs.
Selon votre situation, vous pouvez également avoir la possibilité de fournir votre application en tant que logiciel en tant que service (SaaS) exécuté dans une infrastructure cloud.
Si votre client exige que vos conteneurs soient exécutés sur son infrastructure et refuse de respecter les restrictions de modification, vous ne voudrez probablement pas essayer de prendre en charge son utilisation de votre logiciel.
la source
Docker ne fournit aucun moyen d'empêcher l'accès des utilisateurs au conteneur, mais en tant que développeur d'images, vous pouvez suivre quelques stratégies
Bien sûr, ils peuvent toujours exporter le conteneur et le reconditionner, mais ce sont des mesures extrêmes ...
la source
Vous pouvez supprimer les utilisateurs du groupe Docker et créer des sudos pour les
docker start
etdocker stop
.la source
Si votre client est prêt à investir de l'argent, vous devriez opter pour Docker Enterprise Edition. Dans Docker EE, vous avez un outil qui est
UCP(Universal Control Plane)
UCP . Par UCP, vous pouvez créer des rôles et des droits d'accès et restreindre l'utilisateur à changer / modifier des conteneurs.Si vous voulez tester UCP que DDC (Docker Data Center) ayant une licence d'essai d'un mois qui vous aidera à élaborer les choses selon vos besoins.
J'espère que cela vous aidera!
Je vous remercie!
la source
Donnez votre livraison via des scripts ansible. Gardez toutes sortes de restrictions et de contrôles dans le script ansible.
la source