2016-11-08 1 views
2

방금 ​​도커를 배우기 시작했습니다.도커 명령에 대한 제한 추가

'도커 실행'등을 할 때 sudo를 사용하지 않도록 '도커'그룹을 만들고 사용자를 그룹에 추가했습니다.하지만이 사용자가 '도커 rm, 도커 rmi'를 실행하지 못하도록합니다. , docker images '등.'docker '그룹의 사용자에 대해 이러한 명령에 대한 제한을 설정하는 방법이 있습니까? 이것을 달성 할 수 있습니까?

감사

편집 : 여기

는 우리의 경우, 우리는 고정 표시기를 설치 ansible 사용

우리는 노드의 클러스터가 (내 영어 변명, 내가 분명하게 설명하겠습니다) 도커 이미지를 만들고 각 노드에 이미지를 저장하십시오. 사용자가이 노드를 만지는 것을 원하지 않습니다.

다른 웹 포털을 통해 사용자가 로그인하면 클러스터에서 노드 1 개를 할당 받고 브라우저에서 액세스 할 수있는 데스크톱을 갖게됩니다. 우리는 사용자가 전혀 액세스 할 수 없도록하고 싶습니다. 그들은 홈 폴더에서만 일을 할 수 있습니다. 사용자에게는 sudo 암호가 없습니다.

데스크톱에는 메뉴 옵션 'ABC'가 있습니다. 'ABC'는 도커 컨테이너에있는 응용 프로그램입니다. 따라서 메뉴 옵션을 클릭하면 컨테이너가 실행되고 메뉴 뒤의 명령은 '도커 실행 .....'이됩니다. docker는 'root'로만 실행되므로 'docker'그룹에 로그인 한 사용자를 추가하여 사용자가 메뉴를 클릭하면 'docker run'이 sudo 비밀번호를 묻지 않으며 애플리케이션 컨테이너가 성공적으로 실행됩니다.

그러나 문제는 '도커'그룹의 사용자는 루트로 간주되므로 사용자가 '도커 실행'을 사용하도록 허용 할 수 있다고하더라도 여전히 많은 작업을 수행 할 수 있습니다.

'도커'그룹에 사용자를 추가하지 않으면 메뉴를 클릭해도 프로그램이 실행되지 않습니다.

나는 아직도이 문제에 대한 해결책을 찾으려고 노력하고 있습니다.

감사

+1

사용자가 실수로 해당 명령을 사용하거나 컨테이너와 이미지를 악의적으로 삭제하는 것을 방지하려고합니까? – R0MANARMY

+0

사용자가 컨테이너와 이미지를 악의적으로 삭제하는 것을 원하지 않습니다. – yis

답변

1

그것은 아닌 사소한,하지만 twistlock authz 플러그인이 도커 엔진에서 개인의 행동을 제한 지원합니다. Docker를 인증서로 구성하고, 도커에 액세스하는 사용자에게 인증서를 제공하고, 도커 그룹에서 유닉스 소켓 액세스를 제거하고 인증서로 네트워크 포트를 통해 로그인하게하고, 타사 플러그인을 설치하고, 그런 다음 ACL을 설정하십시오.

더 많은 턴키 솔루션을 위해 Docker는 상업용 제품을 제공합니다.