Подготовка образа Docker
Импорт образа Docker
Скачайте архив am-<номер версии>.tar.gz, загрузите его на целевой хост в необходимый каталог.
Перейдите в каталог с архивом и распакуйте его с помощью команды:
sudo tar -xf <имя архива>.tar.gz
Перейдите в каталог, в который распаковался архив, и импортируйте образ Docker с помощью команды:
sudo docker load -i <имя архива>.tar
Откройте файл access-manager.docker-compose.yml (файл расположен в каталоге am-<номер версии>/am) и в секции
core
, разделеdepends_on
раскомментируйте строки с провайдерами, которые вы планируете использовать.Пример
depends_on:
ca-certificates:
condition: service_completed_successfully
# auth-amsmtp:
# condition: service_completed_successfully
auth-amwp:
condition: service_completed_successfully
# auth-encrypted-software-totp:
# condition: service_completed_successfully
# auth-hardware-totp:
# condition: service_completed_successfully
# auth-hotp:
# condition: service_completed_successfully
auth-indeed-key:
condition: service_completed_successfully
# auth-mfa:
# condition: service_completed_successfully
auth-passcode:
condition: service_completed_successfully
# auth-radius:
# condition: service_completed_successfully
# auth-secured-totp:
# condition: service_completed_successfully
# auth-sms-otp:
# condition: service_completed_successfully
# auth-software-totp:
# condition: service_completed_successfully
# auth-storage-sms-otp:
# condition: service_completed_successfully
Переменные окружения
Переменные окружения находятся в файле am/.env и доступны пользователю с заданными по умолчанию значениями. При установке и настройке серверных компонентов необходимо отредактировать значения для следующих переменных:
AM_UID
иAM_GID
ENDPOINT_NAME_*
Если вы не планируете устанавливать все компоненты Access Manager, в переменной COMPOSE_PROFILES
удалите соответствующие значения.
При этом необходимо обязательно указать в списке провайдеров Windows Password (amwp
), чтобы реализовать начальную аутентификацию в Core Server.
Пример файла .env
TAG=am_9.2.0-rc7164-9dc554f.ru-ru
LS_TAG=9.5.0-beta
AM_UID=200000
AM_GID=200000
CERT_STORE=/etc/ssl/certs
CA_CERTS=/usr/local/share/ca-certificates
# Specify in the COMPOSE_PROFILES variable providers separated by commas.
# Example: COMPOSE_PROFILES=passcode,indeed-key,sms-otp,storage-sms-otp
# Full list of services: core,idp,mc,uc,ls,amsmtp,amwp,encrypted-software-totp,hardware-totp,hotp,indeed-key,mfa,passcode,radius,secured-totp,sms-otp,software-totp,storage-sms-otp,indeed-key-server,sms-proxy
COMPOSE_PROFILES=core,idp,mc,uc,ls,indeed-key-server,sms-proxy,amsmtp,amwp,encrypted-software-totp,hardware-totp,hotp,indeed-key,mfa,radius,secured-totp,sms-otp,software-totp,storage-sms-otp,passcode
ENDPOINT_NAME_THIS_HOST=indeed_core.indeed.ru
ENDPOINT_NAME_CORE=indeed_core.indeed.ru
ENDPOINT_NAME_IDP=indeed_idp.indeed.ru
ENDPOINT_NAME_MC=indeed_mc.indeed.ru
ENDPOINT_NAME_UC=indeed_srv.indeed.ru
ENDPOINT_NAME_LS=indeed_srv.indeed.ru
ENDPOINT_HTTPS_PORT=443
INDEED_KEY_EXTERNAL_ENDPOINT_NAME=indeed_srv.indeed.ru
INDEED_KEY_HTTPS_PORT=81
INDEED_KEY_HTTPS_PORT_EXTERNAL=83
CUSTOM_SP_1=
CUSTOM_SP_2=
CUSTOM_SP_3=
CUSTOM_SP_4=
CUSTOM_SP_5=
COMPOSE_PATH_SEPARATOR=:
COMPOSE_FILE=haproxy.docker-compose.yml:access-manager.docker-compose.yml:log-server.docker-compose.yml:indeed-key.docker-compose.yml:sms-proxy.docker-compose.yml
COMPOSE_PROJECT_NAME=am
В следующей таблице описаны все переменные окружения, находящиеся в файле .env.
Переменная | Описание |
---|---|
TAG | Версия сборки. В этой переменной указаны теги образов Docker. Проверьте правильность тегов. Используйте команду sudo docker images , чтобы получить тег. |
LS_TAG | Версия компонента Log Server. |
AM_UID | Идентификатор пользователя, под которым будет работать Access Manager в Docker. Убедитесь, что этот идентификатор отличается от идентификатора локальных пользователей хоста. Пример: AM_UID=200000 . |
AM_GID | Идентификатор группы, под которой будет работать Access Manager в Docker. Убедитесь, что этот идентификатор отличается от идентификатора локальных пользователей хоста. Пример: AM_GID=200000 . |
CERT_STORE | Путь хранения сертификатов внутри контейнера. |
CA_CERTS | Путь хранения сертификатов центров сертификации (CA). |
COMPOSE_PROFILES | Компоненты Access Manager и провайдеры (через запятую), которые вы планируете установить. По умолчанию добавлены все компоненты, кроме indeed-key-server, sms-proxy. Полный список компонентов: core,idp,mc,uc,ls,amsmtp,amwp,encrypted-software-totp,hardware-totp,hotp,indeed-key,mfa,passcode,radius,secured-totp,sms-otp,software-totp,storage-sms-otp,indeed-key-server,sms-proxy . |
ENDPOINT_NAME_* | В этих переменных указываются DNS-имена хостов (в нижнем регистре), на которые разворачиваются компоненты Access Manager. Пример: am.domain.local .Доступные переменные: ENDPOINT_NAME_THIS_HOST , ENDPOINT_NAME_CORE , ENDPOINT_NAME_IDP , ENDPOINT_NAME_MC , ENDPOINT_NAME_UC , ENDPOINT_NAME_LS , INDEED_KEY_EXTERNAL_ENDPOINT_NAME .В переменной ENDPOINT_NAME_THIS_HOST необходимо указать имя текущего хоста. Если используется один хост, необходимо продублировать одно и то же значение для всех переменных. |
ENDPOINT_HTTPS_PORT | Https-порт по умолчанию 443. |
INDEED_KEY_HTTPS_PORT | Внутренний https-порт для Indeed Key по умолчанию 81. |
INDEED_KEY_HTTPS_PORT_EXTERNAL | Внешний https-порт для Indeed Key по умолчанию 83. |
CUSTOM_SP_* | Адрес приложения (DNS-имя и порт, если явно указан), которое попадает в политику безопасности для доступа к ІDР (белый список). Примеры:
При необходимости добавить более пяти сервисных провайдеров:
|
Создание каталогов
Чтобы создать каталоги EventCache (хранение кеша), Logs (логи) и DataProtectionKeys (ключи шифрования), из каталога am запустите команду:
sudo mkdir \
core/EventCache/ core/Logs/ core/DataProtectionKeys/ \
idp/EventCache/ idp/Logs/ idp/DataProtectionKeys/ \
mc/EventCache/ mc/Logs/ mc/DataProtectionKeys/ \
uc/EventCache/ uc/Logs/ uc/DataProtectionKeys/ \
ls/EventCache/ ls/Logs/ ls/DataProtectionKeys/ \
indeed-key/EventCache/ indeed-key/Logs/ indeed-key/DataProtectionKeys/ \
sms-proxy/Logs/ sms-proxy/DataProtectionKeys/
Настройка прав
Перед запуском Access Manager выдайте права пользователю, под которым планируете запускать Access Manager в Docker.
Сделайте владельцем пользователя, которого вы указали в файле .env в переменных AM_UID
и AM_GID
, запустив следующую команду:
sudo chown -R <AM_UID>:<AM_GID> ./*