Спрут IAM 1.0.0 Help

2. Быстрый старт

Для того чтобы ознакомиться с возможностями Спрут IAM проще всего развернуть демонстрационный стенд на локальном компьютере в Docker. Это позволит быстро опробовать систему на практике, однако для развертывания на рабочих компьютерах используйте подробную инструкцию по установке и настройке, приведенную в руководстве администратора.

Установка в Docker

Для развертывания демонстрационного стенда используйте Docker Compose:

  1. Скачайте архив установки демонстрационного приложения sprut-iam-demo.zip

  2. Разверните архив в отдельную директорию, например, sprut-iam-demo

  3. Перейдите в директорию и запустите приложенный скрипт docker-run.sh или выполните команды:

docker-compose pull docker-compose up --force-recreate -d
  1. Дождитесь окончания развертывания, после чего убедитесь, что контейнеры запустились успешно:

docker ps

Должны отображаться сервисы sprut-iam и demo-app в состоянии UP.

  1. Убедитесь, что доступны следующие веб-интерфейсы:

При необходимости можно модифицировать файл конфигурации docker-compose.yml, чтобы изменить используемые порты и директории хранения данных:

name: sprut-iam-demo networks: internal: volumes: iam-db: iam-data: iam-logs: services: demo-app: image: python:3.12-alpine networks: - internal ports: - "8081:80" # Веб-интерфейс демо-приложения volumes: - ./demo-app:/var/www/html working_dir: /var/www/html command: sh -c "pip install flask waitress requests PyJWT && python main.py" restart: always stdin_open: true tty: true sprut-iam: image: sprut-iam:latest networks: - internal ports: - "8090:8215" # Основной веб-интерфейс - "8091:8216" # Прокси-сервис демо-приложения volumes: - iam-db:/var/lib/postgresql/main - iam-data:/opt/sprut-iam/data - iam-logs:/opt/sprut-iam/logs restart: always stdin_open: true tty: true

Интерфейс «Спрут IAM»

Демонстрационный стенд Спрут IAM уже подготовлен к работе и настроен на работу с демо-приложением в режиме прокси-сервиса. В базу данных уже введены пользователи admin и user, поэтому можно сразу войти в программу:

  1. Откройте в браузере веб-интерфейс Спрут IAM по адресу http://localhost:8090

  2. Авторизуйтесь как Администратор: введите логин admin, пароль admin и нажмите кнопку Войти

2 login as admin

В случае успешной авторизации откроется раздел "Мои приложения", в котором уже настроена кнопка быстрого перехода к демонстрационному приложению без повторного ввода пароля (механизм SSO).

  1. Перейдите в раздел Мой профиль, чтобы просмотреть профиль текущего пользователя, а также настроить дополнительные факторы аутентификации:

2 admin profile

Демо-приложение

Для демонстрации возможностей интеграции Спрут IAM в состав демонстрационного стенда включено специальное приложение, представляющее собой простейший менеджер бронирования переговорных комнат. Для удобства в приложении предусмотрено несколько режимов работы:

  • Режим 0 - Авторизация отключена. В этом режиме моделируется классическое веб-приложение без авторизации. Приложение позволяет работать каждому, кому доступен веб-интерфейс. В таком режиме, без дополнительных доработок, Спрут IAM может ограничивать доступ к приложению в целом, либо к отдельным функциям, если они представлены отдельными REST маршрутами.

  • Режим 1 - Авторизация через прокси-сервис. В этом режиме приложение демонстрирует гранулярное разграничение доступа к объектам при минимальном объеме доработок. Для пользователей можно настроить доступ к бронированию конкретных комнат от имени конкретных организаций. При этом управление сессиями возложено на прокси-сервис Спрут IAM.

  • Режим 2 - Авторизация через сервер OIDC. В этом режиме приложение самостоятельно реализует управление сессиями пользователей и взаимодействие с сервером Спрут IAM по протоколу OIDC (Open ID Connect).

Сначала попробуйте запустить приложение в обход прокси-сервиса в Режиме 0 (с отключенной авторизацией):

  1. Откройте в браузере веб-интерфейс демо-приложения http://localhost:8081

2 demo app run

Обратите внимание, что в названии приложения отображается режим открытия RAW, то есть открытие напрямую, в обход прокси-сервиса. В этом режиме пользователь взаимодействует непосредственно с самим приложением, а сервисы Спрут IAM в работе не участвуют.

  1. Нажмите кнопку Изменить бронирование напротив комнаты "Переговорная 2-01" и убедитесь, что в поле "Бронирование" появилась запись "Организация #1"

2 demo app book21

Таким образом, приложение в режиме работы по умолчанию не предусматривает авторизации. Теперь попробуем запустить то же самое демо-приложение через прокси-сервис Спрут IAM:

  1. Откройте в браузере веб-интерфейс прокси-сервиса http://localhost:8091

Обратите внимание, что вместо входа в программу прокси-сервис Спрут IAM запросит авторизацию. При этом в диалоге авторизации будет предупреждение о данных пользователя, доступ к которым запрашивает приложение от IAM. В данном случае это данные из профиля пользователя, электронная почта и список доступов (разрешений).

  1. Авторизуйтесь как Пользователь: введите логин user, пароль user и нажмите кнопку Войти

2 login as user
  1. Убедитесь, что теперь в названии приложения отображается режим открытия PROXY, то есть работа происходит через прокси-сервис Спрут IAM. В этом режиме пользователь взаимодействует с прокси-сервисом, а уже сам прокси-сервис взаимодействует с приложением, если пользователь авторизован в Спрут IAM.

2 demo app proxy

Также обратите внимание, что приложение получило данные о текущей сессии, однако данные о пользователе не предусмотрены выбранным режимом работы. В такой конфигурации гранулярные разрешения все ещё не проверяются, поэтому имеется возможность, например, забронировать "Амфитеатр 3-02" или произвести бронирование от имени "Организации #3".

  1. Переключите режим работы приложения в [#1 Proxy]

2 demo app book32

Теперь обратите внимание, что приложение получило данные о пользователе и его разрешениях, поэтому попытка забронировать "Амфитеатр 3-02" приведет к отказу. Причину отказа можно видеть в журнале работы приложения.

  1. Для выхода из приложения нажмите кнопку [Выход]

Теперь для возврата в приложение требуется повторная авторизация. Однако, просмотреть журнал работы приложения после выхода можно в прямом режиме работы RAW, по адресу http://localhost:8081.

2 demo app logout

Подробная инструкция по установке и настройке Спрут IAM в продуктивной среде, а также руководство по интеграции с прикладным программным обеспечением, приведены в последующих разделах.

Last modified: 12 марта 2025