Продолжаем настраивать Okta для нашего проекта.
Этот пост – участник конкурса Ukrainian DevOps Community – UkrOps. Крайне рекомендую присоединяться – очень уютный чатик, очень хорошие люди.
Предыдущие посты серии:
- Okta: настройка SSO для Gmail и Slack
- Jenkins: SAML Authentication через Okta SSO и группы пользователей
- Jenkins: SAML, Okta, группы пользователей и Role-Based Security
- Github: SAML Okta — настройка SSO в Github Enterprise Cloud — Organization
Следующая задача – интегрировать наш Google Suite и Okta: требуется настроить возможность импортировать пользователей в Okta из каталога G Suite, и наоборот.
В реальности мы будем использовать Okta как source-of-truth и базу данных пользователей и систему аутентификации, и уже Okta будет управлять пользователями в G Suite, но рассмотрим настройку обоих вариантов.
Документация:
Содержание
Okta – настройка G Suite App
Переходим в Applications, кликаем Add Application, находим G Suite:
В админке G Suite, в Domains, находим Primary Domain:
Задаём его в настройках приложения (хотя на деле не заметил разницы от того, какое имя тут указывается):
Application username format задаём как Email, остальное можно оставить по умолчанию – Sign-On настроим в следующий раз:
Сохраняем, и переходим во вкладку Provisioning:
Настройка Provisioning
G Suite должен иметь уже настроенный API, см. документацию>>>.
Кликаем Configure API Integration:
Кликаем Authentificate with G Suite, логинимся в нужный аккаунт:
Разрешаем доступы:
Готово:
Жмём Save.
Импорт пользователей из G Suite в Okta
Переходим в Provisioning > To Okta:
Тут:
- Schedule import: автоматическая синхронизация из G Suite по расписанию
- Okta username format: тип логина в Okta, оставляем почту
В User Creation & Matching указываем, как Okta будет сравнивать пользователя из G Suite и своей локальной базой.
В данном примере – выполняем сравнение по его почте, она же логин пользователя.
Выполняем импорт юзеров.
Переходим во вкладку Import:
Жмём Import Now:
Ждём 5-10 минут:
Все пользователи из G Suite базы готовы к добавлению в Okta:
Но они не будут созданы, пока не будет выполнено подтверждение.
Например, вот юзер Arseny – он уже есть и в Okta, и в G Suite, поэтому Okta не будет его создавать заново:
А вот второй Arseny – будет создан, т.к. там другой человек и почта, и условие match by email не сработало.
Выбираем пользователя G Suite, которого хотим добавить в нашу Okta:
Тут можно выбрать действие:
- создать нового пользователя Okta (действие по умолчанию)
- привязать к уже существующему пользоватаелю Okta
- игнорировать
Жмём Confirm Assignments:
И пользователь создан в базе Okta:
Экспорт из Okta в G-Suite
Теперь настроим обратный provisioning – локальный пользователь из Okta должен быть создан в G Suite.
Переходим в Provisioning > To App, кликаем Edit, включаем нужные опции:
Тут:
- Create Users: Okta создаст или слинкует своего пользователя и пользователя в G Suite
- Update User Attributes: Okta обновит атрибуты профиля пользователя (о профилях поговорим в следующем посте)
- Deactivate Users: деактивировать пользователя в G Suite при его деактивации в Okta или при отключении пользователя или его группы от приложения G Suite в Okta
- Sync Password: будет ли Okta управлять паролем создаваемого аккаунта в G Suite
Для тестов – можно включить только Create Users, что бы не убить случайно уже существующую запись в G Suite.
Жмём Save.
Создаём нового пользователя: в Okta переходим в Directory > People > Add Person:
Note: домен почты должен быть добавлен в G Suite в Domains
Возвращаемся к приложению G Suite, переходим во вкладку Assignments, добавляем этого пользователя:
Задаём значения для профиля в G Suite, как минимум указываем Organizational Unit:
Проверяем логи Okta:
И проверяем админку G Suite:
Уведомления
Последним хотелось бы добавить уведомление о том, что в Okta создан новый пользователь (если Okta импортирует юзеров из G Suite).
Переходим в Settings > Account, и в блоке Admin Email Notifications настраиваем уведомления: