Tôi hiện đang làm việc trên một thiết lập để làm cho Docker có sẵn trên một cụm hiệu suất cao (HPC). Ý tưởng là mọi người dùng trong nhóm của chúng tôi đều có thể đặt trước một máy trong một khoảng thời gian nhất định và có thể sử dụng Docker theo cách "bình thường". Có nghĩa là truy cập vào Docker Daemon thông qua CLI Docker.Tắt các tùy chọn chạy Docker nhất định
Để làm điều đó, người dùng sẽ được thêm vào nhóm Docker. Nhưng điều này đặt ra một vấn đề bảo mật lớn đối với chúng tôi, vì điều này về cơ bản có nghĩa là người dùng có đặc quyền root trên máy đó.
Ý tưởng mới là sử dụng tùy chọn ánh xạ vùng tên người dùng (như được mô tả trong https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-user-namespace-options). Như tôi thấy, điều này sẽ giải quyết vấn đề bảo mật lớn nhất của chúng tôi rằng thư mục gốc trong một thùng chứa giống như thư mục gốc trên máy chủ.
Nhưng miễn là người dùng có thể bỏ qua điều này qua --userns = host, điều này không làm tăng tính bảo mật theo bất kỳ cách nào.
Có cách nào để vô hiệu hóa tùy chọn này và các tùy chọn chạy Docker khác không?
Bạn có thể viết một kịch bản shell rằng sẽ ra mắt 'Docker chạy ... ', nhưng điều này trông giống như một khái niệm sai lầm – user2915097
Tôi nghĩ rằng thay đổi hoặc thay thế chỉ CLI không giúp đỡ nhiều, bởi vì Docker Daemon socket vẫn sẽ chấp nhận các tùy chọn này. Vì vậy, bạn chỉ có thể sử dụng một chương trình khác để tương tác với socket. Thay đổi sẽ vô hiệu hóa tùy chọn trong chính Docker Daemon. – StateOfTheArt89
Tại sao họ cần quyền truy cập vào CLI của Docker? Nếu yêu cầu đó có thể được gỡ bỏ, bạn có thể cấp cho họ quyền truy cập vào tập lệnh sẽ quay bất kỳ hình ảnh nào dưới dạng vùng chứa với ít rủi ro bảo mật hơn nhiều. – BMitch