Skip to main content
Version: Indeed Access Manager 9.2

Подготовка образа Docker

Импорт образа Docker

  1. Скачайте архив am-<номер версии>.tar.gz, загрузите его на целевой хост в необходимый каталог.

  2. Перейдите в каталог с архивом и распакуйте его с помощью команды:

    sudo tar -xf <имя архива>.tar.gz
  3. Перейдите в каталог, в который распаковался архив, и импортируйте образ Docker с помощью команды:

    sudo docker load -i <имя архива>.tar
  4. Откройте файл 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_PORTHttps-порт по умолчанию 443.
INDEED_KEY_HTTPS_PORTВнутренний https-порт для Indeed Key по умолчанию 81.
INDEED_KEY_HTTPS_PORT_EXTERNALВнешний https-порт для Indeed Key по умолчанию 83.
CUSTOM_SP_*Адрес приложения (DNS-имя и порт, если явно указан), которое попадает в политику безопасности для доступа к ІDР (белый список).
Примеры:
  • Если при подключении к приложению используется адрес https://provider.test.local:333/.., то значение переменной будет provider.test.local:333.
  • *.test.local
Если такие приложения отсутствуют, оставьте переменные с пустыми значениями.

При необходимости добавить более пяти сервисных провайдеров:
  1. Добавьте дополнительные переменные в файл .env по аналогии с уже добавленными по умолчанию (CUSTOM_SP_6=, CUSTOM_SP_7=).
  2. Добавьте переменные в файл access-manager.docker-compose.yml в раздел idp:environment.
    Пример
    idp:
    environment:
    ...
    AMIDP_ContentSecurityPolicy__FormAction__From__7: "${CUSTOM_SP_6}"
    AMIDP_ContentSecurityPolicy__FormAction__From__8: "${CUSTOM_SP_7}"

Создание каталогов

Чтобы создать каталоги 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> ./*