Развертывание PAM в Docker Compose

Для развертывания BI.ZONE PAM в Docker Compose, виртуальная машина должна соответствовать минимальным требованиям. Дополнительные требования зависят от размера инсталляции.

Описанный ниже пример инсталляции допустим в рамках пилотной версии BI.ZONE PAM на одной виртуальной машине. Для внедрения продукта мы рекомендуем использовать отказоустойчивый вариант инсталляции.

Предварительная настройка

Перед тем как устанавливать PAM на виртуальную машину, установите Python 3 версии, Docker и его компоненты:

sudo apt install python3 sudo apt install docker

Версия Docker Engine должна быть не ниже 25.0.5, а Compose Plugin — не ниже 2.20.2.

Шаг 1. Настройка и запуск Docker

  1. Проверьте наличие файла /etc/docker/daemon.json и создайте его, если файла нет.

    sudo mkdir -p /etc/docker [ -f /etc/docker/daemon.json ] || sudo touch /etc/docker/daemon.json
  2. Добавьте в файл настройки:

    sudo tee /etc/docker/daemon.json > /dev/null <<EOF { "bip": "100.64.0.1/25", "default-address-pools": [ { "base": "100.64.64.0/20", "size": 24 } ] } EOF
  3. Перезапустите службу docker:

    sudo systemctl restart docker
  4. Создайте сеть для docker:

    sudo docker network create --subnet=100.64.64.0/24 pam-backend

Шаг 2. Загрузка и настройка BPAM

  1. Скачайте и распакуйте архив сборки.

    sudo tar -xvf имя_файла
  2. Перейдите в директорию проекта:

    cd путь_до_директории_проекта
  3. Задайте права на директорию volumes:

    sudo chmod -R 777 ./volumes/
  4. Загрузите образы компонентов.

    sudo sh load-images.sh
  5. Настройте env-файлы компонентов под свои требования. Переменную VIRTUAL_HOST можно заменить на любую другую. По этому хосту в дальнейшем будут доступны интерфейсы решения — https, rdp, ssh и другие.

    Если вы планируете работать с PAM из разных сетевых сегментов, то при актуализации ENV-файлов укажите адреса доменов, которые выделены под PAM. Например, bpam.bi.zone для веб-портала PAM и vault.bpam.bi.zone для веб-портала Vault.
    В файле .env:

    VIRTUAL_HOST=bpam.bi.zone TRAEFIK_HOST=traefik.bpam.bi.zone

    В файле web-auth.env:

    KC_HOSTNAME_URL=https://bpam.bi.zone/auth/ KC_HOSTNAME_ADMIN_URL=https://bpam.bi.zone/kc/
  6. Запустите сборку. Команда выполняется из каталога проекта.

    sudo docker compose up -d
  7. Подключите хранилище секретов.

    sudo docker exec -it bpam-postgres-1 psql --user pam --db pam
  8. В открывшейся консоли PostgreSQL вставьте:

    INSERT INTO pam.vault (name, fqdn, port, attributes, description) VALUES ('pam_vault_kv2', 'vault', 443, '{"name": "control", "mount": "pam", "secret_engine": "kv"}', 'pam maint kv2 storage'), ('pam_vault_ssh', 'vault', 443, '{"name": "control", "mount": "ssh", "secret_engine": "ssh"}', 'pam maint ssh engine');

PAM установлен и готов к первичной настройке через веб-интерфейс.

Ссылки на ресурсы

Список ссылок, по которым доступны ресурсы PAM:

Примечание

  • Если переменная VIRTUAL_HOST в .env менялась, то вместо demopam.example нужно обращаться по корректному пути VIRTUAL_HOST из проекта.

  • Пароль и логин от S3 minio по умолчанию находятся в env-файле:

    MINIO_ROOT_USER=minio MINIO_ROOT_PASSWORD=miniosecret