Chcę dostarczyć moją aplikację klientom w formie obrazu dokera. Ważne jest jednak, aby użytkownik końcowy nie zmienił niczego w pojemniku. Użytkownik powinien mieć możliwość uruchamiania / zatrzymywania kontenera i interakcji z nim przez sieć.
Czy można zabronić dostępu do elementów wewnętrznych kontenera? Czy można zweryfikować integralność obrazu, z którego wykonany jest kontener?
Odpowiedzi:
Krótko mówiąc, nie można uniemożliwić klientom modyfikowania kontenerów, które działają we własnej infrastrukturze. Kontenery nie są jak pliki binarne, które można zaciemnić; są to środowiska wykonawcze. Kod dystrybuowany w kontenerze może jednak zostać zaciemniony.
Twoje pytanie odnosi się do problemu wsparcia zewnętrznego: klienci modyfikują oprogramowanie, które działają we własnym środowisku. Jeśli udostępniasz narzędzia do obsługi dostarczanych przez siebie kontenerów (np. Monitorowanie i rejestrowanie), klienci powinni wyrazić zgodę (w ramach licencji na oprogramowanie), aby nie wprowadzać w nich nieautoryzowanych modyfikacji. Dotyczy to wszystkich rodzajów oprogramowania innych firm, nie tylko kontenerów.
W zależności od sytuacji możesz mieć również opcję dostarczenia aplikacji jako oprogramowania jako usługi (SaaS) działającej w infrastrukturze chmurowej.
Jeśli Twój klient wymaga, aby Twoje kontenery były uruchomione w jego infrastrukturze i odmawia przestrzegania ograniczeń modyfikacji, prawdopodobnie nie chcesz próbować wspierać korzystania z Twojego oprogramowania.
źródło
Docker nie zapewnia żadnych środków uniemożliwiających dostęp użytkownika do kontenera, jednak jako programista obrazu można zastosować kilka strategii
Oczywiście zawsze mogą wyeksportować kontener i przepakować go, ale są to ekstremalne środki ...
źródło
Możesz usunąć użytkowników z grupy dokerów i utworzyć sudos dla
docker start
idocker stop
.źródło
Jeśli Twój klient jest gotowy zainwestować pieniądze, powinieneś wybrać wersję Docker Enterprise Edition. W Docker EE masz jedno narzędzie, którym jest
UCP(Universal Control Plane)
UCP . Za pomocą UCP możesz tworzyć role i prawa dostępu oraz ograniczać użytkownika do zmiany / modyfikacji kontenerów.Jeśli chcesz przetestować UCP niż DDC (Docker Data Center) posiadający miesięczną licencję próbną, która pomoże ci opracować te rzeczy zgodnie z twoimi wymaganiami.
Mam nadzieję, że to pomoże!
Dziękuję Ci!
źródło
Podaj swoją dostawę za pomocą skryptów ansible. Zachowaj wszystkie ograniczenia i kontrole w skrypcie ansible.
źródło