2.1 Установка OpenText Identity Console CE 24.4 (v1.9)

2.1.1 Установка автономного экземпляра OpenText Identity Console (без Docker)

OpenText Identity Console можно установить одним из следующих способов:

ПРИМЕЧАНИЕ.Для обеспечения правильной работы рекомендуется установить OpenText Identity Console и OpenText eDirectory на одном компьютере, где должен быть хотя бы один экземпляр OpenText eDirectory.

Выполнение интерактивной установки

В этом разделе описывается установка автономной OpenText Identity Console с помощью метода интерактивной установки.

  1. Войдите на страницу Software License and Download (Лицензия и загрузка программ) и перейдите на страницу Software Downloads (Загрузки программ).

  2. Выберите следующее:

    • Продукт: OpenText eDirectory

    • Имя продукта: OpenText eDirectory per User Sub SW E-LTU

    • Версия: 9.2, 9.3

  3. Загрузите и извлеките новейшую версию сборки для OpenText Identity Console.

  4. Перейдите в каталог, в который была извлечена сборка OpenText Identity Console, и выберите IdentityConsole_<версия>_Linux.

  5. От имени суперпользователя или пользователя с эквивалентными правами выполните следующую команду:

    ./identityconsole_install
  6. Ознакомьтесь с введением и нажмите клавишу ENTER.

  7. Щелкните y, чтобы принять условия лицензионного соглашения. После этого необходимые пакеты RPM будут установлены в системе.

  8. Введите имя хоста сервера Identity Console (полное доменное имя, FQDN) или его IP-адрес. Пример: 10.10.33.100

    Если нажать клавишу Enter, не указывая IP-адрес, IP-адрес/имя хоста системы будет использоваться по умолчанию.

  9. Введите номер порта, на котором будет выполняться Identity Console. По умолчанию используется значение 9000.

  10. Укажите хосты eDirectory для подключения. Можно указать IP-адрес или имя домена. Пример: localhost:636,xx.xx.xx.xx:636 или edir.domain.com:636

  11. (Зависит от условий) Выберите один из указанных ниже вариантов в зависимости от ваших требований:

    • Если не нужно интегрировать OSP с OpenText Identity Console, выберите n и перейдите к Шаг 12.

    • Чтобы интегрировать OSP с OpenText Identity Console, выберите y и укажите входные данные для следующих шагов:

      1. Введите доменное имя/IP-адрес сервера eDirectory/хранилища объектов и отношений с номером порта LDAPS.

        Ниже перечислены некоторые из них.

        192.168.1.1:636

      2. Введите имя пользователя eDirectory/хранилища объектов и отношений.

        Пример:

        cn=admin,ou=org_unit,o=org

      3. Введите пароль eDirectory/хранилища объектов и отношений.

      4. Снова введите пароль eDirectory/хранилища объектов и отношений, чтобы подтвердить пароль.

      5. Введите доменное имя/IP-адрес сервера OSP с номером порта SSL сервера SSO.

      6. Введите идентификатор клиента OSP и пароль клиента OSP.

      7. Введите имя eDirectory/дерева хранилища объектов и отношений.

  12. (Зависит от условий) Выберите один из указанных ниже вариантов в зависимости от ваших требований:

    • Если нужно автоматически извлечь сертификаты сертифицирующей организации (CA), для автоматичекого извлечения установите значение y.

    • Если не нужно автоматически извлекать сертификаты сертифицирующей организации (CA), для автоматичекого извлечения установите значение n.

  13. (Зависит от условий) Выберите один из указанных ниже вариантов в зависимости от ваших требований:

    • Чтобы импортировать сертификат сертифицирующей организации (CA) с сервера, введите y и нажмите Enter.

      Сертификат сертифицирующей организации (CA) будет скопирован в /etc/opt/novell/eDirAPI/cert.

      Информацию о том, как вручную извлечь или добавить сертификат сертифицирующей организации (CA), см. в разделе Generate CA Certificate (Создание сертификата сертифицирующей организации)

    • Если не нужно импортировать сертификат сертифицирующей организации (CA) с сервера, введите n и нажмите клавишу Enter.

    • Если ввести q, установка будет прервана.

  14. (Зависит от условий) Чтобы создать сертификат сервера, выберите один из следующих параметров:

    • Чтобы создать сертификат сервера, введите y и нажмите клавишу Enter. Предоставьте входные данные для следующих шагов:

      1. Введите имя пользователя eDirectory. Пример: cn=admin,o=novell.

      2. Введите пароль пользователя eDirectory.

      3. Заново введите пароль пользователя eDirectory.

      4. Введите имя сертификата сервера.

        Пример: servercert

      5. Введите пароль сертификата сервера.

        Пример: password@123

      6. Заново введите пароль сертификата сервера.

        Пример: password@123

    • Если у вас уже есть сертификат сервера для использования, введите n и нажмите клавишу Enter. Предоставьте входные данные для следующих шагов:

      1. Укажите путь к каталогу сертификата сервера вручную.

        Например, /home/cert/keys.pfx

      2. Введите пароль сертификата сервера.

      3. Заново введите пароль сертификата сервера.

ПРИМЕЧАНИЕ.

  • В каталоге /var/opt/novell/eDirAPI/log находятся следующие файлы журналов:

    • edirapi.log: в этом файле регистрируются события edirapi и проблемы отладки.

    • edirapi_audit.log: этот файл регистрирует события аудита edirapi. Формат журналов соответствует формату аудита CEF.

    • identityconsole_install.log: этот файл регистрирует события OpenText Identity Console.

  • Журналы запуска и остановки работы OpenText Identity Console доступны в файле /var/Log/messages.

  • В случае сбоя установки выполните следующую команду для повторной настройки:

    /usr/bin/identityconsoleConfigure

Утилиты для создания сертификатов

Можно получить сертификаты сертифицирующей организации (CA) и сертификаты сервера для других деревьев с помощью указанных ниже инструментов или утилит.

ПРИМЕЧАНИЕ.Сценарии для сертифицирующей организации (CA) и сертификата сервера доступны в каталоге opt/novell/eDirAPI/sbin.

Создание сертификата сертифицирующей организации (CA)

  1. Загрузите и извлеките новейшую сборку OpenText Identity Console.

  2. Перейдите в каталог /opt/novell/eDirAPI/sbin для извлечения, удаления или просмотра списка сертификатов сертифицирующей организации (CA).

  3. От имени суперпользователя или пользователя с эквивалентными правами выполните следующую команду.

    ./get_cacert fetch <ip address/DNS:ldaps port>

    Ниже перечислены некоторые из них.

    ./get_cacert fetch 10.10.10.10:636
  4. Чтобы вручную добавить сертификат сертифицирующей организации (CA) в папку cert, перейдите в каталог /etc/opt/novell/eDirAPI/cert и вставьте сертификат сертифицирующей организации (CA).

    <IP address/DNS_ldaps port.pem>

    Ниже перечислены некоторые из них.

    10.10.10.10_636.pem

Создание сертификата сервера

  1. Загрузите и извлеките новейшую сборку OpenText Identity Console.

  2. Перейдите в каталог для извлечения, удаления или просмотра списка сертификатов сертифицирующей организации (CA) > /opt/novell/eDirAPI/sbin

  3. От имени суперпользователя или пользователя с эквивалентными правами выполните следующую команду.

    ./get_servercert <eDirectory IP address with LDAPS port number> <eDirectory/Identity Vault username> <userpassword> <server certificate name> <server certificate password>

    Пример:

    ./get_servercert 10.10.10.10:636 cn=admin,ou=org_unit,o=org password keys password 

Выполнение автоматической установки

Автоматическая установка позволяет установить OpenText Identity Console без интерактивного ввода. Чтобы использовать этот метод, необходимо определить параметры установки OpenText Identity Console в silent_properties, а затем запустить процесс установки из командной строки. После изменения файла свойств система использует полученную из него информацию для автоматического завершения установки.

Перед началом автоматической установки убедитесь, что выполнены все необходимые условия.

Чтобы изменить файл свойств автоматической установки, выполните следующие действия:

  1. Перейдите в каталог IdentityConsole_<версия>_Linux в том месте, где была извлечена сборка OpenText Identity Console.

  2. Откройте файл silent_properties и измените значения в соответствии с требованиями:

    • Если auto fetch имеет значение Yes,

      1. Введите указанную ниже информацию в файл silent_properties:

        export AUTOGENERATE_CACERT="Yes" export AUTOGENERATE_SERVERCERT="Yes" export EDIR_HOST="" export IDC_IP="" export IDC_PORT="9000" export OSP_CLIENT_ID="identityconsole" export OSP_CLIENT_PASSWD="novell" export OSP_IP="" export OSP_MODE="No" export AUTO_FETCH="Yes" export SERVERCERT_NAME="cert" export SERVERCERT_PASSWORD="novell" export SERVERCERT_USERNAME="cn=admin,o=novell" export SERVERCERT_USER_PASSWORD="novell" export TREENAME="my_tree" export VAULT_IP="" export VAULT_USERNAME="cn=admin,o=novell" export VAULT_PASSWD="novell"
        
      2. Чтобы выполнить установку в автоматическом режиме, запустите следующую команду:

        ./identityconsole_install -s silent_properties
    • Если auto fetch имеет значение No,

      1. Введите указанную ниже информацию в файл silent_properties:

        export AUTOGENERATE_CACERT="No" export AUTOGENERATE_SERVERCERT="No" export EDIR_HOST="" export IDC_IP="" export IDC_PORT="9000" export OSP_CLIENT_ID="identityconsole" export OSP_CLIENT_PASSWD="novell" export OSP_IP="" export OSP_MODE="No" export AUTO_FETCH="No" export SERVERCERT_LOCATION="/etc/opt/novell/eDirAPI/cert/SSCert.pem" export SERVERCERT_NAME="cert" export SERVERCERT_PASSWORD="novell" export SERVERCERT_USERNAME="cn=admin,o=novell" export SERVERCERT_USER_PASSWORD="novell" export TREENAME="my_tree" export VAULT_IP="" export VAULT_USERNAME="cn=admin,o=novell" export VAULT_PASSWD="novell"
        
      2. Вручную скопируйте сертификат сертифицирующей организации в папку /etc/opt/novell/eDirAPI/cert/.

      3. Чтобы выполнить установку rpm, запустите следующую команду:

        ./identityconsole_rpm_install
      4. После установки rpm выполните указанную ниже команду, чтобы запустить программу установки в автоматическом режиме:

        ./identityconsoleConfigure -s silent_properties

Журналы установки можно найти в файле Identity Console installation > identityconsole_install.log.

Несколько деревьев с автономным экземпляром OpenText Identity Console

Чтобы подключить OpenText Identity Console к нескольким деревьям OpenText eDirectory, когда автоматическое извлечение отключено, необходимо скопировать сертификаты сертифицирующей организации (CA) из всех деревьев OpenText eDirectory в каталог /etc/opt/novell/eDirAPI/cert/.

Скопируйте сертификаты сертифицирующей организации (CA) следующим образом:

cp /home/user/<ip address1_ldap port.pem> /etc/opt/novell/eDirAPI/cert/<ip address1_ldap port.pem>
cp /home/user/<ip address2_ldap port.pem> /etc/opt/novell/eDirAPI/cert/<ip address2_ldap port.pem>

Информацию о том, как извлечь сертификат сертифицирующей организации (CA) с помощью утилиты get_cacert, см. в разделе Создание сертификата сертифицирующей организации (CA).

Выполните одну из указанных ниже команд, чтобы перезапустить OpenText Identity Console:

  • /usr/bin/identityconsole restart
  • systemctl restart netiq-identityconsole.service

Если включено автоматическое извлечение, сертификаты сертифицирующей организации (CA) автоматически копируются в папку cert.

Замена сертификата сервера в автономном экземпляре OpenText Identity Console

Чтобы заменить сертификат сервера в автономном экземпляре OpenText Identity Console, выполните следующие действия.

  1. Выполните NLPCERT, чтобы сохранить ключи:

    su - nds -c "/opt/novell/eDirAPI/sbin/decryptor /Expiredcert/noexpire/new-keys.pfx novell /etc/opt/novell/eDirAPI/conf/ssl/private/cert.pem"
  2. Перезапустите OpenText Identity Console:

    systemctl restart netiq-identityconsole.service

Остановка, перезапуск и статус автономного экземпляра OpenText Identity Console

  • Для остановки экземпляра выполните одну из указанных ниже команд:

    /usr/bin/identityconsole stop

    или

    systemctl stop netiq-identityconsole.service
  • Для перезапуска экземпляра выполните одну из указанных ниже команд:

    /usr/bin/identityconsole restart

    или

    systemctl restart netiq-identityconsole.service
  • Для проверки статуса экземпляра выполните одну из указанных ниже команд:

    /usr/bin/identityconsole status

    или

    systemctl status netiq-identityconsole.service
  • Для запуска экземпляра выполните одну из указанных ниже команд:

    /usr/bin/identityconsole start

    или

    systemctl start netiq-identityconsole.service

2.1.2 Установка OpenText Identity Console Workstation в Windows

OpenText Identity Console можно запустить в Windows как рабочую станцию. В этом случае для нее потребуются запущенные службы REST. Поэтому, когда она запущена, в командной строке edirapi.exe выполняется процесс eDirAPI. При закрытии терминала edirapi.exe консоль OpenText Identity Console не будет работать.

В указанной ниже процедуре описан запуск OpenText Identity Console в Windows.

  1. Войдите на страницу Software License and Download (Лицензия и загрузка программ) и перейдите на страницу Software Downloads (Загрузки программ).

  2. Выберите следующее:

    • Продукт: OpenText eDirectory

    • Имя продукта: OpenText eDirectory per User Sub SW E-LTU

    • Версия: 9.2, 9.3

  3. Загрузите и извлеките IdentityConsole_<версия>_workstation_win_x86_64.zip.

  4. Перейдите к извлеченной папке и установите NICI_wx64.

  5. (Дополнительно) Откройте файл edirapi_win.conf и измените номер порта для прослушивания OpenText Identity Console.

  6. (Зависит от условий) Если у вас уже есть файлы keys.pfx и SSCert.pem, измените имя файла сертификата сертифицирующей организации (CA) на <ipaddress_ldap>.pem(xx.xx.xx.xxx_636.pem), а затем скопируйте файлы вручную в папку cert, расположенную в папке C:\IdentityConsole_<версия>_Workstation_win_x86_64\eDirAPI.

    Затем перейдите к шагу 9.

  7. (Зависит от условий) Если требуется создать сертификат сертифицирующей организации (CA), перейдите в папку eDirAPI, запустите в командной строке двоичный файл get_cacert.exe fetch <IP-адрес_порт.pem>, расположенной в C:\IdentityConsole_version_workstation_win_x86_64\eDirAPI\cert, и укажите имя домена/IP-адрес сервера хранилища объектов и отношений (сервера OpenText eDirectory) с номером порта LDAPS.

    Например,

    get_cacert.exe fetch 10.10.10.125:636

    Создается файл 10.10.10.125_636.pem.

  8. (Зависит от условий) Если требуется создать сертификат сервера, запустите двоичный файл get_servercert.exe help в командной строке со следующими сведениями:

    • Доменное имя/IP-адрес сервера eDirectory/хранилища объектов и отношений с номером порта LDAPS.

    • Имя пользователя eDirectory/хранилища объектов и отношений.

    • Пароль eDirectory/хранилища объектов и отношений.

    • Имя сертификата сервера.

    • Пароль сертификата сервера.

    Например,

    get_servercert.exe 10.10.10.125:636 cn=admin,o=novell novell keys novell

    Создается файл keys.pfx.

  9. Откройте извлеченную папку, дважды щелкните файл configure.bat и в командной строке введите пароль сертификата сервера (keys.pfx).

    ПРИМЕЧАНИЕ.Если сертификат сервера изменен, перезапустите файл configure.bat с паролем нового сертификата.

  10. Откройте извлеченную папку и дважды щелкните файл run.bat.

    Запускается терминал процесса eDirAPI (edirapi.exe) и появляется страница входа OpenText Identity Console.

ПРИМЕЧАНИЕ.

  • Для последующего входа в OpenText Identity Console дважды щелкните файл run.bat. Появится страница входа.

    Если терминал процесса eDirAPI (edirapi.exe) уже выполняется, запустите identityconsole.exe из папки, в которую извлечена сборка.

  • В папке \IdentityConsole_<version>_workstation_win_x86_64\eDirAPI\log для пользователей доступны указанные ниже журналы:

    edirapi.log: используется для записи в журнал различных событий в edirapi и проблем с отладкой.

    edirapi_audit.log: используется для записи событий аудита edirapi в журнал. Формат журналов соответствует формату аудита CEF.

  • Вход на основе OSP не поддерживается в режиме рабочей станции.

  • Если порт с таким номер уже используется, отредактируйте параметр listen в файле edirapi_win.conf, указав в нем новый номер порта, и дважды щелкните файл run.bat, чтобы войти в OpenText Identity Console.

Утилиты для создания сертификатов

Указанные ниже утилиты позволяют получить сертификаты сертифицирующей организации (CA) и сертификаты сервера для других деревьев OpenText eDirectory.

ПРИМЕЧАНИЕ.Сценарии для сертифицирующей организации (CA) и сертификата сервера доступны в каталоге opt/novell/eDirAPI/sbin.

Создание сертификата сертифицирующей организации (CA)

  1. Загрузите и извлеките новейшую сборку OpenText Identity Console.

  2. Откройте папку, в которую извлечена сборка OpenText Identity Console. Пример: C:\IdentityConsole_<версия>_workstation_win_x86_64\eDirAPI

  3. В командной строке запустите указанный ниже двоичный файл.

    get_cacert.exe fetch <ip address:port>

    Укажите IP-адрес OpenText eDirectory и номер порта LDAPS.

    Пример: get_cacert.exe fetch 10.10.10.125:636

    Файл 10.10.10.125_636.pem генерируется и копируется в папку cert.

Создание сертификата сервера

  1. Откройте папку, в которую извлечена сборка OpenText Identity Console.

    Пример: IdentityConsole_<версия>_win

  2. Запустите get_servercert.exe help для получения дополнительных параметров справки с помощью командной строки.

    • Введите доменное имя/IP-адрес сервера eDirectory/хранилища объектов и отношений с номером порта LDAPS.

    • Имя пользователя eDirectory/хранилища объектов и отношений.

    • Пароль eDirectory/хранилища объектов и отношений.

    • Имя сертификата сервера.

    • Пароль сертификата сервера.

      Чтобы создать сертификат сервера, в командной строке выполните следующую команду:

      Пример:

      get_servercert.exe 10.10.10.125:636 cn=admin,o=novell novell keys novell

      Файл keys.pfx создается и копируется в папку cert.

Несколько деревьев в OpenText Identity Console как рабочей станции

OpenText Identity Console позволяет пользователю подключаться к нескольким деревьям, вводя IP-адрес на странице входа.

Закрытие и перезапуск OpenText Identity Console Workstation

Порядок закрытия программы и процесса

  1. Закройте классическое приложение OpenText Identity Console для Windows.

  2. Остановите процесс eDirAPI. Для этого закройте терминал процесса eDirAPI.

Чтобы перезапустить OpenText Identity Console Workstation, перейдите в папку, в которую извлечена сборка, и дважды щелкните файл run.bat (пакетный файл Windows).

ПРИМЕЧАНИЕ.Если терминал процесса eDirAPI уже выполняется, запустите identityconsole.exe из папки, в которую извлечена сборка, для перезапуска OpenText Identity Console Workstation.

2.1.3 Установка OpenText Identity Console в качестве контейнера Docker

В этом разделе описаны перечисленные ниже процедуры.

Рекомендации по безопасности

  • Контейнеры Docker не имеют никаких ограничений ресурсов по умолчанию. Это позволяет каждому контейнеру иметь доступ ко всем ресурсам ЦП и памяти, которые предоставляются ядром хоста. Кроме того, необходимо обеспечить, чтобы ни один выполняющийся контейнер не использовал излишние ресурсы за счет других контейнеров. Для этого нужно задать ограничения на объем ресурсов, которые может использовать один контейнер.

    • В контейнере Docker должно быть установлено жесткое ограничение для используемой им памяти. Для этого используется флаг --memory в команде запуска Docker.

    • В контейнере Docker должно быть ограничение на объем ЦП, используемый запущенным контейнером. Для этого используется флагcpuset-cpus в команде запуска Docker.

  • Для --pids-limit необходимо задать значение 300, чтобы ограничить количество потоков ядра, появляющихся в контейнере в каждый данный момент времени. Это необходимо для предотвращения атак DoS.

  • Для политики перезапуска контейнера при сбое необходимо задать значение 5, используя флаг --restart в команде запуска Docker.

  • После появления контейнера и отображения состояния Healthy (Работоспособный) необходимо использовать только контейнер. Чтобы проверить состояние работоспособности контейнера, выполните следующую команду:

    docker ps <container_name/ID>
  • Контейнер Docker всегда будет запускаться от имени непривилегированного пользователя (nds). В качестве дополнительной меры безопасности в управляющей программе включите переназначение пространства имен пользователя для предотвращения атак с повышением привилегий из данного контейнера. Дополнительную информацию о переназначении пространства имен пользователя см. в разделе Isolate containers with a user namespace (Изолирование контейнеров с пространством имен).

Установка OpenText Identity Console как контейнера Docker

ПРИМЕЧАНИЕ.OpenText Identity Console может быть настроена как с OSP, так и без него. Для настройки с использованием OSP, сначала необходимо развернуть контейнер OSP, а затем контейнер OpenText Identity Console. Обязательно измените файл edirapi.conf, чтобы включить требуемые значения для развертывания.

Порядок установки OpenText Identity Console в качестве контейнера Docker

Параметры конфигурации, значения и примеры, используемые в описании этой процедуры, приведены только для справочных целей. Не используйте их непосредственно в вашей рабочей среде.

  1. Войдите на страницу Software License and Download (Лицензия и загрузка программ) и перейдите на страницу Software Downloads (Загрузки программ).

  2. Выберите следующее:

    • Продукт: OpenText eDirectory

    • Имя продукта: OpenText eDirectory per User Sub SW E-LTU

    • Версия: 9.2, 9.3

  3. Загрузите IdentityConsole_<версия>_Container.tar.zip.

  4. Образ необходимо загрузить в локальный реестр Docker. Извлеките и загрузите файл IdentityConsole_<версия>_Containers.tar.gz, используя следующие команды:

    tar -xvf IdentityConsole_version_Containers.tar.gz              
    docker load --input identityconsole.tar.gz
  5. Создайте контейнер Docker для OpenText Identity Console, выполнив следующую команду:

    docker create --name identityconsole-container-name --env ACCEPT_EULA=Y --network=network-type --volume volume-name:/config/ identityconsole:version

    Пример

    docker create --name identityconsole-container-1 --env ACCEPT_EULA=Y --network=host --volume IDConsole-volume:/config/ identityconsole:version

    ПРИМЕЧАНИЕ.

    • Чтобы принять условия лицензионного соглашения, задайте переменной среды ACCEPT_EULA значение Y. Кроме того, принять условия лицензионного соглашения можно в запросе, который появляется на экране при запуске контейнера с использованием параметра -it в команде создания Docker для интерактивного режима.

    • Параметр --volume в вышеуказанной команде позволит создать том для хранения данных конфигурации и журнала. В этом случае в качестве образца создан том с именем IDConsole-volume.

  6. Скопируйте файл сертификата сервера с локальной файловой системы в контейнер как /etc/opt/novell/eDirAPI/cert/keys.pfx, выполнив указанную ниже команду. Дополнительную информацию о создании сертификата сервера см. в разделе Необходимые условия:

    docker cp <absolute path of server certificate file> <identityconsole-container-name>:/etc/opt/novell/eDirAPI/cert/keys.pfx

    Пример:

    docker cp /home/user/keys.pfx identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/keys.pfx

    При подключении к нескольким деревьям OpenText eDirectory необходимо получить как минимум один сертификат сервера keys.pfx для всех подключенных деревьев.

  7. Скопируйте файл сертификата сертифицирующей организации (CA) (.pem) с локальной файловой системы в контейнер /etc/opt/novell/eDirAPI/cert/SSCert.pem, выполнив указанную ниже команду. Дополнительную информацию о получении сертификата сертифицирующей организации (CA) см. в разделе Необходимые условия:

    docker cp absolute path of CA certificate file identityconsole-container-name:/etc/opt/novell/eDirAPI/cert/SSCert.pem

    Пример:

    docker cp /home/user/SSCert.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert.pem

    Информацию о том, как подключиться к нескольким деревьям OpenText eDirectory, см. в разделе Несколько деревьев в OpenText Identity Console как контейнере Docker.

  8. В зависимости от того, нужно ли настроить консоль OpenText Identity Console с или без OSP, внесите соответствующие изменения в файл конфигурации edirapi.conf. После этого с помощью указанной ниже команды скопируйте его из локальной файловой системы в контейнер по адресу /etc/opt/novell/eDirAPI/conf/edirapi.conf:

    docker cp absolute path of configuration file identityconsole-container-name:/etc/opt/novell/eDirAPI/conf/edirapi.conf

    Например,

    docker cp /home/user/edirapi.conf identityconsole-container-1:/etc/opt/novell/eDirAPI/conf/edirapi.conf

    Пример файла конфигурации приведен ниже (для OpenText Identity Console 1.9 и более поздних версий):

    listen = ":9000" pfxpassword = "novell" bcert = "/etc/opt/novell/eDirAPI/cert/" ospmode=false auto-fetch=false 

    Пример файла конфигурации приведен ниже (для Identity Console 1.8 и более ранних версий):

    listen = ":9000" pfxpassword = "novell" bcert = "/etc/opt/novell/eDirAPI/cert/" ospmode=false edir-hosts = "<ip_address>:636"

    ПРИМЕЧАНИЕ.Для доступа к OpenText eDirectory через OpenText Identity Console необходимо добавить edir-hosts="x.x.x.x:ldaps_port в файл edirapi.conf.

    Пример: edir-hosts="10.10.10.10:636"

    При установке значения auto-fetch=true сначала необходимо скопировать сертификат сертифицирующей организации (CA) в контейнер, как описано в шаге 7. После этого сертификат сертифицирующей организации (CA) автоматически извлекается во время последующих сеансов входа.

    Пример файла конфигурации при настройке OpenText Identity Console с OSP показан ниже:

    listen = ":9000" ldapserver = "10.71.39.15:636" ldapuser = "cn=admin,o=novell" ldappassword = "novell" pfxpassword = "novell" osp-token-endpoint = "https://<osp_ipaddress>:8543/osp/a/idm/auth/oauth2/getattributes" osp-authorize-url = "https://<osp_ipaddress>:8543/osp/a/idm/auth/oauth2/grant" osp-logout-url = "https://<osp_ipaddress>:8543/osp/a/idm/auth/app/logout" osp-redirect-url = "https://<identity_console_ipaddress>:9000/eDirAPI/v1/t/authcoderedirect" osp-client-id = "identityconsole" ospclientpass = "novell" ospcert = "/etc/opt/novell/eDirAPI/cert/SSCert.pem" bcert = "/etc/opt/novell/eDirAPI/cert/" ospmode=true check-origin =true origin = "https://<identity_console_ipaddress>:9000"
  9. Запустите контейнер Docker, выполнив следующую команду:

    docker start identityconsole-container-name

    Пример:

    docker start identityconsole-container-1

ПРИМЕЧАНИЕ.В каталоге /var/lib/docker/volumes/<volume_name>/_data/eDirAPI/var/log находятся следующие файлы журналов:

  • edirapi.log: используется для записи в журнал различных событий в edirapi и проблем с отладкой.

  • edirapi_audit.log: используется для записи событий аудита edirapi в журнал. Формат журналов соответствует формату аудита CEF.

  • container-startup.log: используется для записи журналов установки контейнера Docker OpenText Identity Console.

Несколько деревьев в OpenText Identity Console как контейнере Docker

Чтобы подключить OpenText Identity Console 1.9 c несколькими деревьям OpenText eDirectory, когда автоматическое извлечение отключено, необходимо скопировать сертификаты сертифицирующей организации (CA) из всех деревьев OpenText eDirectory в каталог /etc/opt/novell/eDirAPI/cert/.

OpenText Identity Console 1.8 позволяет пользователю подключаться к нескольким деревьям посредством получения отдельного сертификата сертифицирующей организации (CA) для дерева.

Например, при подключении к трем деревьям OpenText eDirectory необходимо скопировать все три сертификата сертифицирующей организации в контейнер Docker:

docker cp /home/user/SSCert1.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert1.pem
docker cp /home/user/SSCert2.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert2.pem
docker cp /home/user/SSCert3.pem identityconsole-container-1:/etc/opt/novell/eDirAPI/cert/SSCert3.pem

Выполните указанные ниже команды, чтобы перезапустить OpenText Identity Console:

docker restart <identityconsole-container-name>

Пример:

docker restart identityconsole-container-1

Развертывание контейнера OSP

Выполните следующие действия для развертывания контейнера OSP.

  1. Войдите на страницу Software License and Download (Лицензия и загрузка программ) и перейдите на страницу Software Downloads (Загрузки программ).

  2. Выберите следующее:

    • Продукт: OpenText eDirectory

    • Имя продукта: OpenText eDirectory per User Sub SW E-LTU

    • Версия: 9.2

    • Автономный экземпляр OpenText Identity Console

  3. Загрузите и извлеките файл IdentityConsole_<версия>_Containers_tar.zip.

  4. Для установки OpenText Identity Console в контейнере OSP требуется хранилище ключей (tomcat.ks).

    Для создания хранилища ключей выполните следующие действия:

    1. Создайте папку certs в каталоге /opt/.

    2. Выполните следующую команду, чтобы создать хранилище ключей (tomcat.ks):

      keytool -genkey -alias osp -keyalg RSA -storetype pkcs12 -keystore /opt/certs/tomcat.ks -validity 3650 -keysize 2048 -dname "CN=blr-osp48-demo.labs.blr.novell.com" -keypass novell -storepass novell

      ПРИМЕЧАНИЕ.Убедитесь, что IP-адрес машины поименован как имя CN или полное доменное имя хоста. Пример: CN=xx.xx.xx.xx

    3. Выполните следующую команду, чтобы создать запрос на подпись сертификата (CSR). Пример: cert.csr.

      keytool -certreq -v -alias osp -file /opt/certs/cert.csr -keypass novell -keystore /opt/certs/tomcat.ks -storepass novell
    4. Передайте созданный файл cert.csr в Identity Console и получите cert.der, как описано ниже:

      1. Запустите OpenText Identity Console от имени администратора.

      2. Щелкните Управление сертификатом > Издать сертификат и выберите файл.

      3. Выберите Спецификации использования ключа > Тип ключа и установите переключатель Настраиваемые.

      4. Щелкните Использование ключа и установите следующие флажки:

        • Шифрование данных

        • Шифрование ключа

        • Электронная подпись

      5. Щелкните Параметры сертификата > Альтернативные имена субъекта , укажите Ip-адрес или имя DNS или сервера OSP, а затем щелкните Далее > ОК.

        Появится сообщение Сертификат сгенерирован.

      6. Щелкните ОК.

      7. Скачайте изданный сертификат cert.der и скопируйте его в каталог /opt/certs/.

    5. Скопируйте SSCert.der из OpenText eDirectory в /opt/certs

    6. Выполните следующие команды, чтобы импортировать сертификат сертифицирующей организации (SSCert.der) и сертификат сервера (cert.der) в хранилище ключей tomcat.ks.

      keytool -import -trustcacerts -alias root -keystore /opt/certs/tomcat.ks -file /opt/certs/SSCert.der -storepass novell -noprompt
      keytool -import -alias osp -keystore /opt/certs/tomcat.ks -file /opt/certs/cert.der -storepass novell -noprompt
  5. Создайте новую папку /data.

  6. Скопируйте tomcat.ks из /opt/certs и вставьте его в папку data.

  7. В извлеченной сборке контейнера OpenText Identity Console скопируйте файлы osp-edirapi-silent.properties в папку data.

  8. Внесите изменения в файл свойств osp edirapi silent по своему усмотрению. Ниже показан образец файла свойств silent:

    # Silent file for osp with edirapi
    ## Static contents Do not edit - starts 
    INSTALL_OSP=true
    DOCKER_CONTAINER=y
    EDIRAPI_PROMPT_NEEDED=y
    UA_PROMPT_NEEDED=n
    SSPR_PROMPT_NEEDED=n
    RPT_PROMPT_NEEDED=n
    CUSTOM_OSP_CERTIFICATE=y
    ## Static contents Do not edit - ends
    
    # OSP Details
    SSO_SERVER_HOST=osp.example.com (osp confiugred serevr IP address)
    SSO_SERVER_SSL_PORT=8543
    OSP_COMM_TOMCAT_KEYSTORE_FILE=/config/tomcat.ks
    OSP_COMM_TOMCAT_KEYSTORE_PWD=novell
    SSO_SERVICE_PWD=novell
    OSP_KEYSTORE_PWD=novell
    IDM_KEYSTORE_PWD=novell
    OSP_CUSTOM_NAME="Identity Console"
    USER_CONTAINER="o=novell"
    ADMIN_CONTAINER="o=novell"
    MASTER_KEYSTORE_PWD=novell
    
    # IDConsole Details 
    IDCONSOLE_HOST=192.168.1.1 (IdentityConsole confiugred serevr IP address)
    IDCONSOLE_PORT=9000
    EDIRAPI_TREENAME=ed913 (Tree name should be in lowercase)
    
    #If ENABLE_CUSTOM_CONTAINER_CREATION is set to y
    #ie., when you have user and admin container different from o=data
    #    and they need to be created in eDir
    #then CUSTOM_CONTAINER_LDIF_PATH should be entered as well
    ENABLE_CUSTOM_CONTAINER_CREATION=n
    #ENABLE_CUSTOM_CONTAINER_CREATION=y
    #CUSTOM_CONTAINER_LDIF_PATH=/config/custom-osp.ldif
    
    # eDir Details
    ID_VAULT_HOST=192.168.1.1 (eDir/ID_Vault confiugred serevr IP address)
    ID_VAULT_LDAPS_PORT=636
    ID_VAULT_ADMIN_LDAP="cn=admin,o=novell"
    ID_VAULT_PASSWORD=novell

    ПРИМЕЧАНИЕ.Во избежание ограничений размера при использовании файла свойств silent (текст DOS) необходимо преобразовать текстовый файл DOS в формат UNIX, используя инструмент dos2unix. Выполните указанную ниже команду, чтобы преобразовать символы окончания строки DOS в символы окончания строки Unix для данного текстового файла.

    имя файла dos2unix

    Ниже перечислены некоторые из них.

    образец файла dos2unix

  9. Выполните следующую команду, чтобы скачать образ OSP:

    docker load --input osp.tar.gz
  10. Разверните контейнер с помощью следующей команды:

    docker run -d --name OSP_Container --network=host -e SILENT_INSTALL_FILE=/config/osp-edirapi-silent.properties -v /data:/config osp:<version>

    Ниже перечислены некоторые из них.

    docker run -d --name OSP_Container --network=host -e SILENT_INSTALL_FILE=/config/osp-edirapi-silent.properties -v /data:/config osp:6.6.6 

    ПРИМЕЧАНИЕ.После развертывания контейнера OSP установите и настройте OpenText Identity Console, используя данные сервера OSP.

Остановка и перезапуск OpenText Identity Console как контейнера Docker

Для остановки выполните следующую команду:

docker stop identityconsole-container-name

Для перезапуска выполните следующую команду:

docker restart identityconsole-container-name

Для запуска выполните следующую команду:

docker start identityconsole-container-name

Управление сохранностью данных

Наряду с контейнерами OpenText Identity Console создаются тома для сохранности данных. Чтобы использовать параметры конфигурации старого контейнера с томами, выполните следующие действия:

  1. Остановите текущий контейнер Docker, выполнив следующую команду:

    docker stop identityconsole-container-name

    Пример:

    docker stop identityconsole-container-1
  2. Создайте второй контейнер, используя данные приложения старого контейнера, сохраненные в томе Docker (IDConsole-volume-1).

    docker create --name identityconsole-container-name --network=host --volume IDConsole-volume-1:/config/ identityconsole:< version >

    Пример:

    docker create --name identityconsole-container-2 --network=host --volume IDConsole-volume-1:/config/ identityconsole:<version>
  3. Запустите второй контейнер, выполнив следующую команду:

    docker start identityconsole-container-name

    Пример:

    docker start identityconsole-container-2
  4. (Необязательно) Первый контейнер можно удалить, выполнив следующую команду:

    docker rm identityconsole-container-name

    Пример:

    docker rm identityconsole-container-1

Замена сертификата сервера в контейнере Docker

Выполните указанные ниже действия, чтобы заменить сертификат сервера в контейнере Docker:

  1. Выполните указанную ниже команду, чтобы скопировать новый сертификат сервера в любое нужное расположение контейнера.

    Пример:

    docker cp /path/to/new-keys.pfx <container_id/name>:/tmp/new-keys.pfx
  2. Войдите в контейнер, выполнив следующую команду:

    docker exec -it container_name bash
  3. Выполните NLPCERT, чтобы сохранить ключи как псевдопользователь:

    LD_LIBRARY_PATH=/opt/novell/lib64/:/opt/novell/eDirectory/lib64/:/opt/netiq/common/openssl/lib64/ /opt/novell/eDirAPI/sbin/nlpcert -i /tmp/new-keys.pfx -o /etc/opt/novell/eDirAPI/conf/ssl/private/cert.pem 
  4. Выйдите из консоли контейнера, выполнив следующую команду:

    exit
  5. Перезапустите контейнер, выполнив следующую команду:

    docker restart container name

2.1.4 Установка OpenText Identity Console в Azure Kubernetes Service

Azure Kubernetes Service (AKS) — это управляемая служба Kubernetes, которая позволяет устанавливать кластеры и управлять ими. В этом разделе описаны перечисленные ниже процедуры.

Установка OpenText Identity Console в кластере AKS

В этом разделе описаны указанные ниже процедуры для установки OpenText Identity Console в кластере AKS:

Создание реестра контейнеров Azure (ACR)

Реестр контейнеров Azure (ACR) — это реестр на базе Azure для образов контейнера Docker.

См. раздел Create an Azure container registry using the Azure portal (Создание реестра контейнеров Azure на портале Azure) на портале создания реестра контейнеров с более подробным описанием пошаговых действий или выполните следующие действия для создания реестра контейнеров Azure (ACR):

  1. Войдите на портал Azure.

  2. Выберите Создать ресурс > Контейнеры > Реестр контейнеров.

  3. На вкладке Основное укажите значения для параметров Группа ресурсов и Имя реестра. Имя реестра должно быть уникальным в Azure. Его длина должна быть в диапазоне от 5 до 50 буквенно-цифровых символов.

    Примите значения по умолчанию для оставшихся параметров.

  4. Щелкните Review + create (Обзор + создать).

  5. Щелкните Создать.

  6. Войдите в интерфейс командной строки Azure, выполните указанную ниже команду для входа в реестр контейнеров Azure.

    az acr login --name registryname

    Пример:

    az acr login --name < idconsole >
  7. Извлеките сервер входа реестра контейнеров Azure, выполнив команду:

    az acr show --name registryname --query loginServer --output table

    Пример:

    az acr show --name < idconsole > --query loginServer --output table
  8. Пометьте локальный образ OpenText Identity Console именем сервера входа ACR (registryname.azureacr.io), выполнив следующую команду:

    docker tag idconsole-image <login server>/idconsole-image

    Пример:

    docker tag identityconsole:<version> registryname.azurecr.io/identityconsole:<version>
  9. Поместите обозначенный образ в реестр.

    docker push <login server>/idconsole: <version>

    Пример:

    docker push registryname.azurecr.io/identityconsole:<version>
  10. Извлеките список образов в реестре, выполнив команду:

    az acr show --name registryname --query loginServer --output table

Настройка кластера Kubernetes

Создайте ресурс сервера kubernetes на портале Azure или с использованием интерфейса командной строки.

Подробное описание действий по созданию ресурса службы Kubernetes в Azure с узлом см. в разделе Create an AKS Cluster (Создание кластера AKS) документа Azure Quickstart (Краткое руководство по Azure).

ПРИМЕЧАНИЕ.

  • В качестве сети должна быть выбрана Azure CNI.

  • Выберите существующую виртуальную сеть (в подсети которой установлен сервер OpenText eDirectory).

  • Выберите существующий реестр контейнеров с доступным образом OpenText Identity Console.

Создание общедоступного IP-адреса стандартного SKU

Ресурс с общедоступным IP-адресом в группе ресурсов кластера Kubernetes работает как балансировщик нагрузки для программы.

См. раздел Create a public IP address using the Azure portal (Создание общедоступного IP-адреса на портале Azure) на портале создания общедоступных IP-адресов с более подробным описанием пошаговых действий.

Настройка Cloud Shell и подключение к кластеру

Используйте службу Cloud Shell, которая доступна на портале Azure для всех операций.

См. раздел Start Cloud Shell (Запуск Cloud Shell) документа Bash – Quickstart (Краткое руководство по Bash) или выполните указанные ниже действия для настройки службы Cloud Shell и ее подключения к кластеру Kubernetes:

  1. На портале Azure щелкните кнопку , чтобы открыть службу Cloud Shell.

    ПРИМЕЧАНИЕ.Для управления кластером Kubernetes используйте клиент командной строки Kubernetes kubectl. Если используется Azure Cloud Shell, kubectl уже установлен.

  2. Настройте kubectl для подключения к кластеру Kubernetes, выполнив следующую команду:

    az aks get-credentials --resource-group "resource group name" --name "Kubernetes cluster name"

    Пример:

    az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
  3. Проверьте список узлов кластера, выполнив следующую команду:

    kubectl get nodes

Развертывание программы

Для установки OpenText Identity Console можно использовать образцы файлов idc-services.yaml , idc-statefulset.yaml, idc-storageclass.yaml и idc-pvc.yaml.

Кроме того, можно создать собственные файлы yaml по своему усмотрению.

  1. Создайте ресурс класса хранения, выполнив следующую команду:

    kubectl apply -f <location of the YAML file>

    Пример:

    kubectl apply -f idc-storageclass.yaml

    (Необязательно) Дополнительные сведения о динамическом создании и использовании постоянного тома хранения с использованием общих папок Azure см. в разделе Dynamically create and use a persistent volume with Azure Files in Azure Kubernetes Service (AKS) (Динамическое создание и использование тома сохраняемости с использованием файлов Azure в Azure Kubernetes Service (AKS))

    Образец файла ресурса класса хранилища показан ниже:

    kind: StorageClass
    apiVersion: storage.k8s.io/v1
    metadata:
      name: azurefilesc
    provisioner: kubernetes.io/azure-file
    mountOptions:
      - dir_mode=0777
      - file_mode=0777
      - uid=0
      - gid=0
      - mfsymlinks
      - cache=strict
      - actimeo=30
    parameters:
      skuName: Standard_LRS
      shareName: fileshare
    ~

    Ресурс класса хранилища обеспечивает динамическое распределение ресурсов хранения. Он используется для определения способа создания общей папки Azure.

  2. Просмотрите подробную информацию о классе хранения с использованием указанной ниже команды:

    kubectl get sc
  3. Создайте ресурс PVC с использованием файла idc-pvc.yaml:

    kubectl apply -f <location of the YAML file>

    Пример:

    kubectl apply -f idc.pvc.yaml

    Ниже показан образец файла ресурса PVC:

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: pvcforsc
    spec:
      accessModes:
        - ReadWriteMany
      storageClassName: azurefilesc
      resources:
        requests:
          storage: 5Gi

    Ресурс запроса постоянного тома создает общую папку. Запрос постоянного тома (persistent volume claim, PVC) использует объект «Класс хранилища» для динамического выделения общей папки Azure.

  4. Передайте файл edirapi.conf, сертификат сертифицирующей организации (CA) и сертификат сервера в Cloud Shell.

    Щелкните значок кнопки Передать/Скачать файлы в Cloud Shell и передайте файлы edirapi.conf, SSCert.pem и keys.pfx.

    ПРИМЕЧАНИЕ.edirapi.conf имеет параметр origin. Здесь нужно предоставить IP-адрес, по которому будет предоставляться доступ к программе OpenText Identity Console. Используйте IP-адрес, созданный в разделе Создание общедоступного IP-адреса стандартного SKU.

    Для установки OpenText Identity Console необходим сертификат сервера (keys.pfx).

    При создании сертификата сервера необходимо предоставить действительное имя DNS в альтернативном имени субъекта.

    Действия по построению действительного имени DNS:

    Обычный pod, развернутый с использованием StatefulSet, имеет имя DNS в следующем формате: {имя_statefulset}-{порядковый номер}.{имя_службы}.{пространство_имен}.svc.cluster.local

    • Если в файле idconsole-statefulset.yaml StatefulSet имеет имя idconsole-app,то statefulsetname = idconsole-app

    • Если это первый pod, то для него будет использоваться порядковый номер 0

    • Если в файле idconsole -statefulset.yaml для serviceName задано idconsole, то serviceName = idconsole

    • Если это пространство имен по умолчанию, то namespace=default

    Вывод: idconsole-app-0.idcosole.default.svc.cluster.local

  5. Создайте ресурс configmap в кластере Kubernetes для хранения конфигурационных файлов вместе с сертификатами.

    Перед выполнением команды убедитесь, что файлы (edirapi.conf, SSCert.pem и keys.pfx) присутствуют в каталоге.

    kubectl create configmap <confgimapName> --from-file= "path where the files are present"

    Пример:

    kubectl create configmap config-data --from-file=/data
  6. Для просмотра подробной информации об объекте configmap воспользуйтесь командой kubectl describe:

    kubectl describe configmap <configmapName>

    Пример:

    kubectl describe configmap confg-data
  7. Создайте ресурс StatefulSet для развертывания контейнера.

    Чтобы развернуть контейнер, выполните указанную ниже команду:

    kubectl apply -f <location of the YAML file>

    Пример:

    kubectl apply -f idc-statefulset.yaml

    Ниже показан образец файла ресурсов StatefulSet:

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: idconsole-app
    spec:
      serviceName: idconsole
      selector:
        matchLabels:
          app: idconsole
      replicas: 1
      template:
        metadata:
          labels:
            app: idconsole
        spec:
          containers:
          - name: idconsole-container
            image: registryname.azurecr.io/identityconsole:<version>
            env:
            - name: ACCEPT_EULA
              value: "Y"
            ports:
            - containerPort: 9000
            volumeMounts:
              - name: configfiles
                mountPath: /config/data
              - name: datapersistenceandlog
                mountPath: /config
                subPath: log
          volumes:
            - name: configfiles
              configMap:
                name: config-data
            - name: datapersistenceandlog
              persistentVolumeClaim:
                claimName: pvcforsc
  8. Для проверки статуса развернутого pod, выполните указанную ниже команду:

    kubectl get pods -o wide
  9. Создайте ресурс службы типа loadBalancer.

    В файле yaml указан тип службы loadBalancer.

    Создайте ресурс службы, используя указанную ниже команду:

    kubectl apply -f <location of the YAML file>

    Пример:

    kubectl apply -f ids-service.yaml

    Ниже показан образец файла ресурса службы:

    apiVersion: v1
    kind: Service
    metadata:
      name: idconsole-service
      labels:
        run: idconsole-service
    spec:
      type: LoadBalancer
      loadBalancerIP: xx.xx.xx.xx
      selector:
        app: idconsole
      ports:
       - port: 9000
         targetPort: 9000
         protocol: TCP

    Проверьте внешний IP-адрес (или loadBalancerIP), используя указанную ниже команду:

    kubectl get svc -o wide
  10. Перейдите по URL-адресу, в котором указан внешний IP-адрес (или адрес loadBalancerIP).

    Пример:

    https://<внешний IP-адрес>:9000/identityconsole