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

Миграция с AAA JDBC на Keycloak

Аннотация

В этом документе описаны операции, необходимые для переключения с провайдера AAA JDBC на Keycloak.

Инструкции, описанные ниже актуальны только для zVirt 4.2 и выше.

1. Общие сведения

Если при развертывании Менеджера управления было указано использование AAA JDBC в качестве провайдера аутентификации, то для миграции на Keycloak потребуются следующие действия:

  1. Активация Keycloak.

  2. Ручной перенос существующих в AAA JDBC пользователей в базу Keycloak.

    На текущий момент не существует никаких методов автоматизации миграции с AAA JDBC на Keycloak.

2. Активация Keycloak

Перед выполнением процедуры активации убедитесь, что системное имя Менеджера управления (хоста с Менеджером управления в режимах Standalone и Standalone All-in-One) задано в нижнем регистре. Для этого можно использовать команду hostname.

Если имя задано в верхнем регистре, перед выполнением активации воспользуйтесь инструкцией для смены регистра системного имени.

Описанные ниже операции выполняются на Менеджере управления под учетной записью root.

Порядок действий:
  1. Создайте полную резервную копию компонентов Менеджера управления в соответствии с инструкцией и сохраните её на удаленном хранилище.

  2. Запустите процесс реконфигурации Менеджера управления с активацией Keycloak:

    engine-setup --otopi-environment="OVESETUP_CONFIG/keycloakEnable=bool:True"
  3. В процессе ответьте на ряд вопросов:

    • Согласитесь с настройкой firewalld:

      Do you want Setup to configure the firewall? (Yes, No) [Yes]:
    • Укажите способ размещения базы данных keycloak:

      Where is the Keycloak database located? (Local, Remote) [Local]:
    • В случае локального размещения новой базы Keycloak, согласитесь с автоматической настройкой:

      Would you like Setup to automatically configure postgresql and create Keycloak database, or prefer to perform
                that manually? (Automatic, Manual) [Automatic]:
    • Откажитесь от создания резервной копии БД (она была сделана вручную на первом шаге):

      Would you like to backup the existing database before upgrading it? (Yes, No) [Yes]:No
    • Подтвердите отказ от создания резервной копии БД:

      Are you sure you do not want to backup the DWH database?(Yes, No) [No]:Yes
    • Откажитесь от процедуры full vacuum для БД DWH:

      Perform full vacuum on the oVirt engine history
      database ovirt_engine_history@localhost?
      This operation may take a while depending on this setup health and the
      configuration of the db vacuum process.
      See https://www.postgresql.org/docs/16/sql-vacuum.html
      (Yes, No) [No]:
    • Откажитесь от процедуры full vacuum для БД engine:

      Perform full vacuum on the engine database engine@localhost?
      This operation may take a while depending on this setup health and the
      configuration of the db vacuum process.
      See https://www.postgresql.org/docs/16/sql-vacuum.html
      (Yes, No) [No]:
    • Создайте пароль для администратора (пользователь admin@zvirt):

      Keycloak [admin] password:
      Please confirm password:
    • Подтвердите остановку сервиса ovirt-engine:

During execution engine service will be stopped (OK, Cancel) [OK]:
  • Проверьте сводные данные и запустите реконфигурацию:

    Please confirm installation settings (OK, Cancel) [OK]:
    1. При успешном завершении операции вы получите следующее сообщение:

                --== END OF SUMMARY ==--
      
      [ INFO  ] Restarting httpd
      [ INFO  ] Starting keycloak service
      [ INFO  ] Keycloak admin password will be used as ovirt admin password.
      [ INFO  ] Start with setting up Keycloak for zVirt Engine
      [ INFO  ] Done with setting up Keycloak for zVirt Engine
      [ INFO  ] Stage: Clean up
                Log file is located at /var/log/ovirt-engine/setup/ovirt-engine-setup-20240611154634-3fx0no.log
      [ INFO  ] Generating answer file '/var/lib/ovirt-engine/setup/answers/20240611160300-setup.conf'
      [ INFO  ] Stage: Pre-termination
      [ INFO  ] Stage: Termination
      [ INFO  ] Execution of setup completed successfully
    2. Перезапустите сервис zvirt-engine-backend:

systemctl restart zvirt-engine-backend
  1. Для проверки перейдите на веб-портал и аутентифицируйтесь на портале администрирования с пользователем admin@zvirt:

    keycloak login
  2. Также перейдите на портал Keycloak по адресу https://<ENGINE-FQDN>/ovirt-engine-auth/admin/zvirt-internal/console и аутентифицируйтесь под пользователем admin@zvirt с паролем, заданным в процессе реконфигурации.

    keycloak dash

3. Перенос пользователей

На текущий момент не существует никаких методов автоматизации миграции пользователей и групп с AAA JDBC на Keycloak. Поэтому данная операция выполняется вручную.

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

  1. На портале keycloak в области zvirt-internal создать необходимых пользователей и установить для них пароли. Подробнее см. в разделе Создание пользователей руководстве по управлению.

  2. На портале администрирования zVirt:

    1. Удалить старых пользователей и группы. Подробнее см. в разделе Удаление пользователей руководства администратора.

      Не удаляйте пользователей admin@zvirt и SYSTEM.

    2. Добавить нужных пользователей и группы из Keycloak. Подробнее см. в разделе Добавление пользователей в zVirt руководства по управлению.

    3. Назначить новым пользователям и группам необходимые роли. Подробнее см. в разделе Назначение роли администратора или пользователя ресурсу руководства администратора.