우리 그룹에서 공유되는 서버에 도커가 있습니다. 그러나 내가 만든 컨테이너를 다른 사람이 삭제할 수 있다는 것을 알았습니다. 안전하지 않습니다. 컨테이너에 대한 권한을 설정하는 방법이 있는지 궁금합니다. Linux에서는 사용자마다 다른 파일에 액세스할 수 있는 권한이 다릅니다.
답변1
도커 소켓에 직접 액세스할 수 있는 사람(예: 도커 그룹에 추가되는 사람)은 사실상 호스트의 루트입니다. 호스트 파일 시스템과 컨테이너에 매핑된 기타 네임스페이스를 사용하고 컨테이너가 호스트에서 루트로 이스케이프되도록 허용하는 권한을 사용하여 루트로 컨테이너를 실행할 수 있습니다. 이러한 상황을 고려하면 호스트의 다른 컨테이너에 액세스할 수 있다는 우려는 잘못된 것 같습니다.
호스트의 시스템 관리자로서 신뢰하는 사람들에게만 docker API에 대한 액세스 권한을 부여하는 데 집중해야 합니다. 다른 모든 사람은 적절한 보안 조치를 구현하는 도구를 통해서만 액세스할 수 있어야 합니다. 여기에는 중앙 집중식 로깅 및 메트릭 시스템을 구성하고 CI/CD 시스템을 통해서만 변경 사항을 배포하는 작업이 포함되는 경우가 많습니다.
그 외에도 OPA와 같은 것을 Docker 엔진의 인증 플러그인으로 구성하려고 시도할 수 있지만 파일 시스템을 통한 Docker 소켓에 대한 액세스에서 각 개인에게 고유한 TLS 자격 증명을 사용하도록 전환해야 합니다.
또는 Docker는 이 기능이 제품에 내장된 엔터프라이즈 솔루션을 제공합니다.