Демо | Докер-Хаб |
---|
Передайте администрирование нескольких контейнеров своим коллегам.
CaaSa предоставляет простой веб-интерфейс для выполнения основных задач администрирования контейнера:
Ограничить разрешения для каждого контейнера и пользователя
version : ' 2.4 '
services :
caasa :
image : knrdl/caasa
restart : always
environment :
ROLES_caasa_admin_basic : info, state, logs, procs, files, files-read
ROLES_caasa_admin_full : info, info-annotations, state, logs, term, procs, files, files-read, files-write
AUTH_API_URL : https://identity.mycompany.com/login
AUTH_API_FIELD_USERNAME : username
AUTH_API_FIELD_PASSWORD : password
ports :
- " 8080:8080 "
volumes :
- /var/run/docker.sock:/var/run/docker.sock
mem_limit : 150m
cpu_count : 1
️ Для производства настоятельно рекомендуется использовать обратный прокси-сервер с завершением TLS перед CaaSa.
Роли определяются через переменные среды и могут содержать следующие разрешения:
Доступно 3 метода:
Для выполнения входа в систему CaaSa отправляет запросы http-post на URL-адрес, определенный в переменной среды AUTH_API_URL
. Запросы содержат тело в формате JSON с именем пользователя и паролем. Имена полей json определяются через переменные среды AUTH_API_FIELD_USERNAME
(по умолчанию: имя пользователя ) и AUTH_API_FIELD_PASSWORD
(по умолчанию: пароль ). Код ответа 2XX (например, 200 OK ) означает успешный вход в систему.
Установите переменную среды AUTH_API_URL=https://example.org
. Теперь вы можете войти в систему, используя любую комбинацию имени пользователя и пароля.
️ Полезно только для тестов и демонстраций. Не подходит для продуктивного использования.
CaaSa может прочитать имя пользователя из заголовка http-запроса. Этот заголовок должен быть предоставлен обратным прокси-сервером перед CaaSa. Его можно указать через переменную среды WEBPROXY_AUTH_HEADER
. Типичное имя заголовка — Remote-User .
️ Заголовок должен быть предоставлен обратным прокси-сервером. Значение, предоставленное вредоносным клиентом, должно быть перезаписано.
Если контейнер должен быть виден в CaaSa, он должен быть помечен меткой, определенной выше как ROLES_<labelname>
, и содержать список всех разрешенных имен пользователей (или идентификаторов пользователей). Имена пользователей обрабатываются без учета регистра.
docker run -it --rm --name caasa_demo --label caasa.admin.full=user1,user2 nginx:alpine
В этом примере пользователям user1
и user2
предоставляются права роли caasa.admin.full
для контейнера caasa_demo
через веб-интерфейс CaaSa.