Ich möchte meine App in Form eines Docker-Images an Kunden ausliefern. Es ist jedoch unbedingt darauf zu achten, dass der Endverbraucher nichts im Inneren des Behälters verändert. Der Benutzer sollte nur in der Lage sein, den Container auszuführen / zu stoppen und über das Netzwerk mit dem Container zu interagieren.
Ist es möglich, den Zugang zu Containereinbauten zu verbieten? Ist es möglich, die Integrität des Bildes zu überprüfen, aus dem der Container hergestellt wurde?
Antworten:
Kurz gesagt, Sie können Ihre Kunden nicht daran hindern, Container zu ändern, die sie in ihrer eigenen Infrastruktur ausführen. Container sind keine Binärdateien, die verschleiert werden können. Sie sind Laufzeitumgebungen. Der Code, den Sie im Container verteilen, kann jedoch verschleiert werden.
Ihre Frage bezieht sich auf ein Supportproblem eines Drittanbieters: Clients, die Software ändern, die sie in ihrer eigenen Umgebung ausführen. Wenn Sie Tools für den Betrieb der von Ihnen bereitgestellten Container bereitstellen (z. B. Überwachung und Protokollierung), sollten die Kunden (im Rahmen einer Softwarelizenz) vereinbaren, keine unbefugten Änderungen an ihnen vorzunehmen. Dies gilt für alle Arten von Drittanbieter-Software, nicht nur für Container.
Abhängig von Ihrer Situation haben Sie möglicherweise auch die Option, Ihre App als Software As A Service (SaaS) bereitzustellen, die in einer Cloud-Infrastruktur ausgeführt wird.
Wenn Ihr Client die Ausführung Ihrer Container in seiner Infrastruktur erfordert und Änderungen nicht zulässt, möchten Sie wahrscheinlich nicht versuchen, die Verwendung Ihrer Software zu unterstützen.
quelle
Docker bietet keine Möglichkeit, den Benutzerzugriff auf den Container auszuschließen. Als Bildentwickler können Sie jedoch einige Strategien verfolgen
Natürlich können sie den Container jederzeit exportieren und neu verpacken, aber das sind extreme Maßnahmen ...
quelle
Sie können die Benutzer aus der Docker Gruppe entfernen und erstellen sudos für die
docker start
unddocker stop
.quelle
Wenn Ihr Kunde bereit ist, Geld zu investieren, sollten Sie sich für die Docker Enterprise Edition entscheiden. In Docker EE haben Sie ein Tool, das
UCP(Universal Control Plane)
UCP ist . Mit UCP können Sie Rollen und Zugriffsrechte erstellen und den Benutzer zum Ändern / Modifizieren von Containern einschränken.Wenn Sie UCP als DDC (Docker Data Center) mit einer einmonatigen Testlizenz testen möchten, können Sie die erforderlichen Schritte ausführen.
Hoffe das wird helfen!
Vielen Dank!
quelle
Geben Sie Ihre Lieferung über ansible Skripte. Behalten Sie alle möglichen Einschränkungen und Überprüfungen im Ansible-Skript bei.
quelle