Skip to main content

Шаг 10. Настройка keycloak для авторизации в Алькир

1. Создание и настройка нового Realm для Алькир

Для авторизации в Алькир используется keycloak, можно использовать уже имеющийся сервис keycloak вашей организации или настроить keycloak утановленый с Алькир. Если сервис keycloak устанавливается вместе с Алькир, то консоль администрирования будет доступна по адресу https://АдресСервераПриложенийАлькир/auth, а логин и пароль администратора задаются на этапе установки. Откройте консоль администрирования keycloak и авторизуйтесь с правами администратора. Добавьте новый realm, для этого нажмите Add realm.

Скриншот №1!

Укажите имя alkir и нажмите Create.

Скриншот №2!

Откройте раздел Client Scopes, выберете profile.

Скриншот №3!

Переключитесь на вкладку Mappers и нажмите кнопку Create.

Скриншот №4!

Заполните поля как указано на скриншоте: в поле "Name" укажите group-mapping; в поле "Mapper Type" выберите из выпадающего списка Group Membership; в поле "Token Claim Name" укажите user_groups.

Скриншот №5!

Перейдите в раздел Clients и нажмите Create.

Скриншот №6!

В поле "Client ID" укажите backend и нажмите кнопку Save.

Скриншот №7!

Автоматически откроются настройки для созданного клиента. Установите настройки как на картинке:

- в поле "Access Type" выберите из выпадающего списка cofidential;
- включите настройки "Service Accounts Enable" и "Authorization Enable";
- в поле "Valid Redirect URIs" укажите знак * (звездочка).

Внизу страницы нажать SAVE.

Скриншот №8!

Переключитесь на вкладку Credentials, в поле "Secret" записано значение, которое необходмо передать для настройки Алькира.

Скриншот №9!

Перейдите в раздел Clients и нажмите Create.

Скриншот №10!

В поле "Client ID" укажите frontend и нажмите Save.

Скриншот №11!

Автоматически откроются настройки для созданного клиента. Установите настройки как на картинке:

- в поле "Access Type" выберите из выпадающего списка public;
- в полях "Valid Redirect URIs" и "Web Origins" укажите знак * (звездочка).

Внизу страницы нажать SAVE.

Скриншот №12!

2. Создание групп доступа и пользоватлей

  1. Создание групп доступа

Перейдите в раздел Users Groups и нажмите New для создания новой группы. Чтобы создать каталог (в примере bases или menu), необходимо создать группу с таким названием, затем выбрать курсором ее в списке и создать новую группу кнопкой New. В этом случае первая группа станет каталогом, а вторая группа - вложенной группой.

Группы доступа делятся на группы доступа к пунктам меню интерфейса Алькир и группы доступа к базам 1С, добавленных в Алькир. Добавляя пользователя в разные типы групп можно предоставить доступ к конкретным базам и к конкретным пунктам меню интерфейса Алькир для этих баз. Структура групп показана на скриншоте. Группа admin дает права на внесение изменений в разделе Настройки в Алькир. Группа all дает доступ на просмотр всех БД и разделов меню Алькир. Группы /menu/.... дают право на просмотр указанных разделов меню или всех разделов меню (группа /menu/all). Список этих групп для доступа к меню статичный, необходимо создать группы с названиями как на скриншоте. Группы /bases/... дают доступ к указанным кластерам или базам в кластере, в данном примере linux и windows - названия кластеров, а load_test_erp... - базы данных. Названия этих групп должны совпадать с значениями "base_id" и "cluster_id", указанных в конфигурации Алькира в таблице public.bases (названия можно уточнить у Поставщика, если Алькир устанавливается силами Поставщика).

Скриншот №13!

  1. Создание пользователей для авторизации в Алькир.

Перейдите в раздел Users и нажмите Add user.

Скриншот №14!

Укажите имя пользователя, которое будет использоваться для авторизации на странице Алькир, и нажмите кнопку Save.

Скриншот №15!

На вкладке Credentials укажите пароль для созданного пользователя, переключите Temporary в состояние OFF. Нажмите кнопку Save.

Скриншот №16!

Перейдите на вкладку Groups и добавьте пользователя в необходимые группы доступа. Для работы пользователя в алькире, его учетная запись должна быть добавлена хотя бы в одну группу /bases/ и одну группу /menu/, или в группу all если доступ не требуется ограничивать.

Примеры:

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

Скриншот №17!

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

Скриншот №18!

Пользователь получит доступ для просмотра только к базе load_test_erp кластера windows и ко всем разделам интерфейса Алькир.

Скриншот №19!